ERK 2018 Portorož, Slovenija, 17.-18. september 2018 Zbornik sedemindvajsete mednarodne Elektrotehniške in računalniške konference ERK 2018 Proceedings of the Twenty-seventh International Electrotechnical and Computer Science Conference ERK 2018 Vabljena predavanja / Invited Lectures Elektronika / Electronics Telekomunikacije / Telecommunications Multimedija / Multimedia Avtomatika in robotika / Automatic Control and Robotics Modeliranje in simulacija / Modelling and Simulation Akustika in elektroakustika / Acoustics and Electroacoustics Mocnostna elektrotehnika / Power Engineering Merilna tehnika / Measurement - ISEMEC 2018 Racunalnistvo in informatika / Computer and Information Science Razpoznavanje vzorcev / Pattern Recognition Biomedicinska tehnika/Biomedical Engineering Didaktika / Didactics Studentski clanki / Student Papers Uredila / Edited by Andrej Zemva, Andrej Trost ISSN 2591-0442 (online) +IEEE Slovenska sekcija IEEE / Slovenian Section IEEE 2591-0442 (online) Zbornik sedemindvajsete Elektotehniške in računalniške konference ERK 2018, 17. - 18. september 2018, Portorož, Slovenija Proceedings of the Twenty-seventh Electrotechnical and Computer Science Conference ERK 2018, 17 - 18 September 2018, Portorož, Slovenia Vabljena predavanja; Elektronika; Telekomunikacije; Avtomatika in robotika; Modeliranje in simulacija; Mocnostna elektronika; Merilna tehnika - (ISEMEC) Akustika in elektroakustika Racunalništvo in informatika / Computer and Information Science Ražpožnavanje vžorcev Biomedicinska tehnika Didaktika Studentski clanki 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 drusštvo za umetno inteligenco, Slovensko drusštvo za razpoznavanje vzorcev, Slovensko društvo za simulacije in modeliranje. +IEEE IEEE Region 8 Slovenska sekcija IEEE Fakulteta za elektrotehniko v Ljubljani ii Sporočilo predsednika konference v imenu Organizacijskega odbora imam prijetno dolžnost, da Vas ponovno pozdravim tokrat ze na sedemindvajseti Elektrotehniški in računalniški konferenci - ERK 2018. Konferenca bo potekala od 17. do 18. septembra 2018 v hotelu Bernardin, v Portorožu v Sloveniji. Naša konferenca se je utrdila kot vsakoletno srečanje strokovnjakov na elektrotehniškem in računalniškem področju. Pod okriljem Slovenske sekcije IEEE združuje enkrat letno interese velikega števila strokovnih drusštev. Strokovna drusštva skrbijo za program konference na svojih delovnih podrocšjih, hkrati pa organizirajo svoje sestanke, okrogle mize in vabljena predavanja, kjer se je mogoce pogovoriti o strokovnih problemih, o tehnolosškem in znanstvenem razvoju, mednarodnem povezovanju, izobrazševalnih programih, financiranju, zaposlovanju in podobno. Zato bo tudi letošnje srecanje ERK 2018 mozaik, sestavljen iz mnogih drobnih, ozko usmerjenih strokovnih srecanj, ki bodo kvalitetna; skupno dogajanje pa bo omogocalo mnoga interdisciplinarna srecšanja in obisk vabljenih predavanj, zanimivih za sširsši krog poslusšalcev. Zanimanje za srecanje je ze 27 let. Tako vidimo, kako potrebujemo nek forum, kjer lahko naši raziskovalci predstavijo strokovnemu krogu svoje delo, ga primerjajo z drugimi prispevki in dobijo kriticšne pripombe in ustvarjalne nasvete za nadaljnje delo. Na ta nacin porocevalec dograjuje svoje delo in spozna skupine in posameznike za sodelovanje. Mladi avtorji vadijo nastop v sredini, kjer zivijo, kjer se zelijo uveljaviti. Pri tem pa vsi skupaj razvijamo tudi slovensko tehnisško besedo, zato se slovenskemu jeziku na konferenci nismo odpovedali. Skupno si prizadevamo, da ostaja ta jezik tudi nasš dopoldanski jezik v sluzšbi, na delovnem mestu. Vabljena predavanja smo postavili kot plenarna predavanja. Ker takrat posameznih sekcij ni, se lahko teh predavanj udelezimo vsi. Pricakujemo velik interes udelezencev in plodno razpravo z uglednimi predavatelji iz Slovenije in tujine. Razpored referatov in predavanj je natisnjen v tem programu in na spletni strani http://www.ieee.si/erk. Vabim Vas, da se udelezšite konference v celoti, saj si prizadevamo, da bi naredili vsebino strokovnega dogajanja cšim bolj bogato. Zato lahko vsak udelezšenec izbira in se pri tem strokovno izpopolnjuje. Prav bi bilo, da ostanete na konferenci oba dneva. Predvsem pa Vas vse vabim na otvoritveno svecšanost. Nenazadnje naj nas naši gostje vidijo zbrane ob zacetku našega dogodka. Ob samem konferencnem dogajanju bo dovolj priloznosti, da tudi neformalno navezemo medsebojne stike. To je tudi pomemben namen te konference poleg izobrazševanja ob vabljenih predavanjih in osebne uveljavitve pri prezentaciji lastnega raziskovalnega dela. Veseli smo, da se boste konference ERK 2018 udelezili in prizadevali si bomo, da boste z delom na konferenci zadovoljni in v nasšem krogu te dni tudi uzšivali. Andrej Zemva Baldomir Zajc Predsednik konference Castni predsednik konference iii Organizatorji / Organizers • IEEE Region 8 • 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 2018), • 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. iv Konferenčni odbori / Board Predsednik konference / Conference Chairman Andrej Zemva Častni predsednik konference / Honorary Conference Chairman Baldomir Zajc Podpredsednik konference / Conference Vicechairman Matej Zajc Predsednik program. odbora / Program Committee Chairman Janko Drnovšek Programski odbor Dušan Agrež Vanja Ambrožic Maja A. Kunc Tadej Bajd Boštjan Batagelj Genevieve Baudoin Sašo Blažic Zmago Brezocnik Franc Brglez Patricio Bulic Urban Burnik Emilio Corchado Matjažš Debevc Carl Debono Marko Delimar Simon Dobrišek Janko Drnovšek Iztok Fajfar Peter Farkaš Matjaž Gams Gregor Geršak Bernard Grum Programe Comm Jožše Guna Iztok Humar Franc Jager Marko Jagodicš Roman Kamnik Maharatna Koushik Stanislav Kovacšicš Igor Kužle Andrea M. Tonello Alenka M. Lebar Rok Mandeljc France Mihelicš Damijan Miklavcšicš Miro Milanovicš Josef Modelski Aljo Mujcic David Nedeljkovic Nataša Neškovic Igor Papic George Paunovic Janež Persš Vili Podgorelec Matevžš Pogacšnik Franc P. Antoncich Igor Pusšnik Kurt Richter Radovan Sernec Danijel Skocaj Franc Solina Janez Sterle Nermin Suljanovic Vito Struc Igor Skrjanc Sebastijan SSprager Fabio Tosato Andrej Trost Anton Umek Danijel Voncšina Matej Zajc Alesš Zamuda Damjan Zažula Borut Zupancšicš Borut Zalik Andrej ZZemva Predsednik odbora za tisk / Publications Chairman Andrej Trost v Recenzenti / Reviewers Vanja Ambrožic Ižtok Humar Matevžš Pogacšnik Boštjan Batagelj Grega Jakus Franc Policardi-Antoncich Aleš Belic Marko Jankovec Matevž Pustišek Aljaž Blatnik Rihard Karba Danijel Skocaj Sašo Blažic Goražd Karer Boštjan Slivnik Jovan Bojkovski Anton Kos Sara Stancin Božidar Bratina Matej Kristan Stanko Strmcnik Patricio Bulic Janež Križšaj Luka Sajn Gregor Burger Matevžš Kunaver Božidar Sarler Urban Burnik Vito Logar Vitomir SStruc Luka Cehovin Urosš Lotricš Domen Tabernik Matjaž Divjak Alenka Macek Lebar Andrej Trost Ziga Emeršic Marko Mežša Anton Umek Ratko Fišer Peter Miklavcšicš Danjel Voncina Helena Gabrijelcic Tomc Nenad Muškinja Matej Zajc Gregor Gersšak David Nedeljkovic Janež Zaletelj Giovanni Godena Klemen Pecšnik Andrej Zdesšar Klemen Grm Tomažš Perme Borut Zupancšicš Jože Guna Janež Persš Andrej Zš emva Alesš Holobar Ratko Pilipovic vi Vabljena predavanja Invited Lectures i Challenges in Electric Motor Design for Automotive Applications Damir Žarko University of Zagreb, Faculty of Electrical Engineering and Computing Unska 3, HR-10000 Zagreb, Croatia e-mail: damir.zarko@fer.hr Abstract. Development of efficient and affordable power trains for electric and hybrid vehicles is in the focus of many researchers in industry and academia and is motivated by government regulations and consumer demands. The key components of a power train are electric motor, power converter, batteries and associated control systems. Electric traction motors are required to have the lowest possible size and weight, provide sufficient continuous and short-term torque and power to satisfy the requirements of vehicle kinematics in various conditions, and endure high rotational speeds without exceeding thermal constraints of winding insulation or permanent magnets, mechanical constraints of the rotor, and voltage and current limits of the battery and inverter. These conflicting requirements present a considerable challenge for machine designers. On an example of interior permanent motor most commonly used in automotive applications this lecture will demonstrate a multiphysical approach to traction motor design process combined with evolutionary optimization as a design tool capable of addressing the most important design challenges. ERK'2018, Portorož, 13-16 3 Game design for situated development of students' creativity Maja Pivec FH JOANNEUM University of Applied Sciences Institute of Design and Communication Alte Poststraße 152, 8020 Graz, Austria e-mail: maja.pivec@fh-joanneum. at Abstract. Industry is placing new challenges in front of educational institutions, emphasizing the necessity for young people entering the workforce to have the ability to work in teams, communicate and collaborate and be proactive i.e. soft skill set that educational institutions did not provide in needed extent to their graduates. To achieve this, educational institutions are increasingly looking into how to harness elements and game mechanics of leisure games and adapt them into appealing and motivating learning that transfer into their future work settings. As an example of how this creativity and team work are needed and could possibly transfer into the real world, we can use the advancements and integration of AI, speech recognition, and computational power that have evolved from experimental research environments into products for everyday use. Furthermore, we witness the use of virtual assistants in everyday life, but how do we establish an emotional state with a virtual tutor as we often do with real people, and could we design virtual assistants' personas to enable users to make choices based on technology as well as the VA personality they prefer. All this will take team work from UX designers as well as talented developers, both being creative and both working towards the same goals. This talk will present four game-based learning designs with focus on situated development of students' creativity and active participation in the learning process. Presented cases from formal and non-formal learning setting, are based on role-play, interdisciplinary team work and co-creation, using games and gamification as additional motivation to engage students in project and problem based learning. ERK'2018, Portorož, 13-16 4 Total Audience Measurement Matjaž Finc Nielsen Lab d.o.o, Obrtniška ulica 15, Koper e-mail: matjaz.finc@gmail.com Abstract. Modern world is flooded with visual media. Consumer interest is rapidly shifting from broadband television broadcast towards more individually tailored content like video on demand and social media video streaming. Providers of video and commercial adds must be able to place the content of interest to specific user groups and individuals at the most convenient time. To get feedback about the penetration of content delivery, it requires precise measurements of audience coverage. This lecture will outline the challenges and current state-of-the-art of technology for measuring video content delivery to audience in a household, with focus on television from broadband broadcasts to over the top video content and covering other fixed and mobile streaming video consumer devices (personal computers, mobile phones, tablets). ERK'2018, Portorož, 13-16 5 Single and Multiobjective Clustering Ujjwal Maulik Department of Computer Science and Engineering, Jadavpur University Department of Computer Science and Engineering Kolkata, West Bengal, India e-mail: umaulik@cse.jdvu. ac. in Abstract. Data clustering is a popular unsupervised data mining tool that is used for partitioning a given data set into homogeneous groups based on some similarity/dissimilarity metric. There are several single objective clustering algorithms available and popular in the literature including KMean and FCM. Although both KMean and FCM are very popular algorithms, they may stuck to local optima depending on the choice of initial cluster centers. In this lecture first we will demonstrate how Metaheuristic techniques can be used to solve the problem of KMean/FCM. Result will be demonstrated for pixel classification of satellite images. In the second part of the problem we will discuss Multiobjective clustering, in which multiple objective functions are simultaneously optimized. Selecting one solution from the set of Pareto Optimal solutions is always a critical issue. We will also discuss how machine learning techniques like Support Vector Machine (SVM) can be used to combine the Pareto Optimal solutions to evolve a better solution. The result will be demonstrated for classification of Gene Micro Array Data. ERK'2018, Portorož, 13-16 6 Elektronika Electronics Digitalni signalni generator na napravi STEMlab Matija Mavsar, Andrej Trost Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana E-pošta: matija.mavsar@gmail.com, andrej.trost@fe.uni-lj.si Digital signal generator on the STEMlab device STEMlab is a low-cost programmable logic platform intended to replace many expensive laboratory measurement and control instruments. The STEMlab produced by Red Pitaya includes 2-channel oscilloscope and signal generator application. The open source software enables design of custom laboratory instruments. Our contribution is extension ofthe digital signal generator to an optional number of channels with arithmetic operations between the channels and the input signals. We implemented the changes at the levels of hardware description language, API interface and SCPI server. The extended signal generator can be used for digital signal processing experiments with 125MS/s RF outputs. 1 Uvod Signalni generatorje merilna oprema, ki jo skupaj z osciloskopom potrebujemo pri eksperimentiranju in razvoju elektronike. Eksperimentiranje z elektroniko je v izobraževalnih ustanovah del uvajanja v področja znanosti in tehnologije (ang. STEM - Science, Technology, Engineering and Mathematics). Namesto dragih merilnih instrumentov je podjetje Red Pitaya razvilo napravo STEMlab, ki deluje kot dvokanalni osciloskop in signalni generator [1]. Naprava ima odprto programsko kodo, ki omogoča razvoj različnih merilnih aplikacij [2][3]. Naprava STEMlab-14 ima dva vhodna in dva izhodna kanala s frekvenco zajemanja oziroma generiranja signalov 125 MHz, ločljivost signalov pa je 14-bitna. Na plošči je tudi razširitveni priključek z digitalnimi in analognimi vhodi ter izhodi. Jedro naprave je sistem na čipu (SoC) iz druzine Xilinx Zynq-7000 [4] s programirljivim poljem logičnih vrat (ang. FPGA - Field-Programmable Gate Array), dvojedrnim pročesorjem in bralno-pisalni pomnilnikom (RAM). Na pročesorju teče operačijski sistem Linux s spletnimi aplikačijami za upravljanje naprave preko omrezja. Priključitev na omrezje je mogoča z Ethernet kablom ali z Wi-Fi USB priključkom. V članku predstavljamo nadgradnjo signalnega generatorja ASG (ang. Arbitrary Signal Generator), pri katerem smo zeleli povečati število kanalov, ki jih lahko uporabljamo za generačijo signalov, in omogočiti dodatne operačije med njimi. Naš čilj je bil razvoj strojnega opisa modula ASG s parametričšno nastavljivim sštevilom kanalov in ločljivostjo izhodov. Poleg logike generatorja signalov so potrebni tudi programski vmesniki za nastavljanje parametrov med delovanjem generatorja in izvajanje operacij med izbranimi kanali. 2 Signalni generator Tabela 1 opisuje lastnosti obstoječega signalnega generatorja na napravi STEMlab. V osnovni izvedbi sta na voljo dva kanala z moznostjo nastavljanja oblike, amplitude, frekvence in enosmerne komponente signala. Tabela 1: Lastnosti signalnega generatorja Lastnost Vrednost Vzorčna frekvenca 125 MHz Ločljivost DAC 14 bit Pomnilnik vzorcev 16384 Napetostno obmocje ± 1 V Najvišja strmina napetosti 200 V / |s Izhodna impedanca 50 Q Napravo STEMlab poganja sistem na cipu z zmogljivo programirljivo logiko in procesnim sistemom. Digitalna sinteza signala se izvaja v logiki programirljivega vezja, programska oprema pa nudi vmesnik za nastavitve parametrov izhoda in dolocanje oblike periodicnega signala. Slika 1 prikazuje glavne gradnike za izvedbo enega kanala. Slika 1: Gradniki enega kanala signalnega generatorja Vsak kanal signalnega generatorja ima svoj koncni avtomat (FSM), ki skrbi za periodicno branje vzorcev iz medpomnilnika. Programska oprema ob inicializaciji zapiše obliko signala v medpomnilnik, med delovanjem pa nastavlja frekvenco, nacin prozenja in vrednosti amplitude ter enosmerne komponente (kx + n). Izhod ob- ERK'2018, Portorož, 13-16 9 stoječega generatorja je neposredno povezan na digitalno-analogni pretvornik (DAC). 2.1 Modul signalnega generatorja Signalni generatorje na vezju FPGA realiziran s strojno opisnim jezikom SystemVerilog kot eden izmed 8 modulov oziroma IP (ang. Intellectual Property) komponent, vsaka pa ima na voljo 4 MB naslovnega prostora [1]. Uporaba ze vnaprej načrtovanih in sintetiziranih IP komponent omogoča lazjo integracijo v projekte in tako zmanjša njihovo kompleksnost [5]. Hierarhijo modulov prikazuje slika 2. Slika 2: Hierarhija modulov v jeziku Verilog Spreminjanje parametrov generatorja poteka s pošiljanjem vrednosti na ustrezne naslove s pomočjo jezikov C (vmesnik API) ali Python (SCPI streznik). Pri tem FPGA logika prebere naslove za pisanje in podatke zapiše v ustrezne registre. S procesorjem je povezana preko vmesnika AXI (ang. Advances eXtensible Interface), ki sestoji iz naslovnih in podatkovnih vodil za pisanje ter branje [6]. Na napravi je v FPGA logiki narejen pretvornik iz kompleksnega AXI vodila v enostavnejsše vodilo sys. Nanj so v glavnem modulu priključene komponente programirljive logike (slika 2) in tako predstavlja sistemsko vodilo, ki omogočša zapisovanje v registre. V ASG modulu je koda, potrebna za zapisovanje parametrov generatorja v registre in branje iz njih. Pri pisanju se glede na naslov, prejet preko naslovnega vodila, v ustrezen register zapiše trenutna vrednost na podatkovnem vodilu za pisanje. Pri branju registrov pa se vrednosti glede na naslov pošljejo na podatkovno vodilo za branje. V modulu je za vsak kanal generatorja definiran nov ASG kanalni podmodul, v katerega so posredovani parametri generatorja, ki skrbi za zajemanje vrednosti iz medpomnilnika in posšiljanje teh vrednosti na digitalno-analogni pretvornik. Vrednosti v medpomnilnik zapisše-mo s pomočšjo programske opreme (prek signalov v ASG modulu), ki tudi nastavlja krmilni avtomat za branje vrednosti, način prozenja in linearno transformačijo izhodov. 2.2 Nastavljanje parametrov signalnega generatorja API vmesnik je napisan v jeziku C, sestavljajo pa ga različne datoteke, namenjene delovanju komponent progra- mirljive logike. V glavni datoteki rp.c so združene funkcije, ki posredno upravljajo s parametri vseh komponent. Nastavljanje parametrov signalnega generatorja je opisano v datoteki generate.c, kamor se preko glavnih funkcij iz rp.c posredujejo parametri. Ti se nato združijo v skupno strukturo in se s pomočjo kazalcev usmerijo na ustrezne naslove, ki jih FPGA logika dekodira in vrednosti zapise v ustrezne registre. Na podoben način se v medpomnilnik zapišejo tudi vrednosti zelenih izhodnih signalov, vendar s pomočjo drugih kazalcev. Potek klicanja funkcij za nastavitev amplitude je prikazan na sliki 3. Slika 3: Potek kličanja funkčij za nastavitev amplitude Spreminjanje parametrov ASG lahko poteka tudi z jezikom Python preko SCPI streznika. Pri tem na čiljno napravo posšiljamo ukaze v obliki znakovnih nizov, po prejetju pa se kliče pripadajoča funkčija z zelenimi parametri. Izvorna koda je napisana v jeziku C in se nanaša na kodo za API. Za delovanje generatorja je tako pomembna datoteka generate.c, v kateri so funkčije, ki ob prejetju določenega znakovnega niza kličejo ustrezno funkčijo iz vmesnika API. V datoteki scpi-commands.c pa je koda, ki določa, katera funkčija se bo kličala ob posameznem prejetem znakovnem nizu. 3 Večkanalni signalni generator Blokovna shema večškanalnega signalnega generatorja je prikazana na sliki 4. Na sredini je prikazan blok z osmimi vhodnimi signali (sšest iz signalnega generatorja in dva iz analognih vhodov naprave STEMlab), spodaj pa so štirje parametri, ki določajo, katere signale zelimo izbrati kot operande. Vsak par operandov gre na blok pročesnega modula, kjer vhodni parameter (defua ali def-b) določa operačijo, ki se bo na paru operandov izvedla. Rezultata se nato pošljeta v glavni modul in na analogna izhoda naprave. 3.1 Logično vezje Opis večkanalnega generatorja temelji na nadgradnji posameznih modulov referenčšne kode v jeziku Verilog, ki je dostopna na GitHub repozitoriju Red Pitaye. 3.1.1 Glavni modul V glavnem modulu smo dodali le kodo, ki s pomočjo pogojnega operatorja (ang. ternary operator) določa, ali naj se na vhod modula za osčiloskop pošljeta izhodna 10 rezultatu se nato upoštevajo kalibracijski parametri in decimalna mesta (pomik v desno). Koncna signala sta zatem posredovana v glavni modul in na DA pretvornik. Slika 5 prikazuje blokovno shemo procesnega modula, ki smo jo sintetizirali s programom Xilinx Vivado. Vezje sestavljajo multiplekserji za izbiro operandov, ki se skupaj z ostalimi parametri posredujejo v procesni modul, iz katerega izhajata dva izhoda, ki se pomakneta za ustrezno sštevilo bitov. Slika 4: Blokovna shema veckanalnega generatorja signala generatorja ali vrednosti iz analognih vhodov naprave. 3.1.2 Modul ASG Pri opisu modula ASG smo v začetku deklaracije definirali parametra za nastavljanje števila kanalov in bitov ter pomozšni parameter za maksimalno sštevilo bitov, dodali pa smo tudi dva 14-bitna vhoda za signala z analognih vhodov naprave, posredovana iz glavnega modula, in signal sendscope za pošiljanje izhodnih signalov na vhod osciloskopa. Nato smo deklarirali matriko vseh kanalov generatorja, signale, ki predstavljajo operande, in nove parametre iz tabele 2. Dodali smo stavke za izbiro operandov izmed vseh kanalov generatorja in analognih vhodov, ter spremenili nacin prozenja kanalov, tako da se vsi lahko ponastavijo naenkrat. Tabela 2: Registri novih parametrov Parameter St. bitov Opis sel_op_a seLopJb sel_op_c sel_op_d 3 3 3 3 izberi operand A izberi operand B izberi operand C izberi operand D def_a defJb send_scope 3 3 1 operacija med A in B operacija med C in D pošiljanje na vhod calib_amp_a calib_dc_a 14 14 kalibracija prvega izhoda calib_amp_b calib_dc_b 14 14 kalibracija drugega izhoda r_trig 4 • CN prozenje kanalov r_rst CN ponastavitev sštevcev Kodi za zapisovanje in branje registrov smo dodali se nove parametre generatorja ter celotno kodo prilagodili za poljubno število kanalov in bitov. 3.1.3 Procesni modul Za izvajanje aritmetičnih operacij med izbranimi operandi smo ustvarili nov procesni modul z dvema izhodoma (rezultata operacij), v katerega posredujemo parametre iz ASG modula (parametre za število kanalov, bitov, kali-bracijo in izbiro operacij) in signale operandov. Deklarirali smo tudi vmesne signale za izvajanje operacij med operandi. V always bloku je opisano racunanje z operandi glede na vrednost parametra za izbiro operacije. Na Slika 5: Shema sintetiziranega vezja s procesnim modulom 3.2 Aplikacijski vmesnik Za uporabo nadgrajenega logičnega vezja signalnega generatorja smo naredili spremembe in napisali nove funkcije v vmesniku API. • V datoteki rp.h smo dodali konstanto za število kanalov generatorja, podatkovni tip za izbiro kanala ter deklaracije novih funkcij. • V rp.c smo definirali nove funkcije, ki se sklicujejo na funkcije iz datoteke generate.c z zelenimi parametri. • V generate.h smo dodali konstante (npr. zacetni naslov za zapis novih parametrov v registre), definirali strukturo za spremenljivke novih parametrov (tabela 2) in deklarirali nove funkcije. • V generate.c smo kodo posplošili za poljubno število kanalov, spremenili nacin prozenja in kalibracije izhodnih signalov ter dodali še pošiljanje novih parametrov v registre FPGA logike. • V datotekah genJhandler.c in genJhandler.h se je koda nekoliko poenostavila, saj smo namesto loce-nega opisa delovanja kanal uporabili le indeks zelenega kanala. Dodali smo funkcijo za ponastavitev kanalov in definirali nov parameter, ki ima v binarnem zapisu enice na mestu kanalov, ki jih zelimo ponastaviti. 3.3 Strežnik SCPI Delovanje signalnega generatorja se lahko omogocši tudi preko SCPI streznika s pomocjo pošiljanja ukaznih nizov z jezikom Python. V nadaljevanju so opisani koraki za nadgradnjo obstojece kode streznika. 11 • V datoteki generate.c SCPI strežnika smo definirali funkcije za klicanje novih funkcij istoimenske datoteke API vmesnika. Vhodni parameter je znakovni niz iz katerega razberejo vrednosti in kličejo ustrezne funkcije API. • V datoteki scpi-commands.h smo na seznam vseh obstojecih znakovnih ukaznih nizov dodali nize, ki pripadajo novim funkcijam. Tako se ob pošiljanju nekega niza z jezikom Python izvede ustrezna C funkcija. 4 Rezultati Tabela 3 prikazuje zasedenost vezja FPGA po sintezi modula veckanalnega signalnega generatorja v programu Vivado. Sintetizirali smo eno- do osemkanalne generatorje s 14 bitno locljivostjo. Tabela 3: Zasedenost originalnega in nadgrajenega FPGA vezja v odstotkih glede na število kanalov Tip enote Orig. Nadgrajen generator za različna st. kanalov 1 2 3 4 5 6 7 8 LUT-logika 5.18 4.28 6.91 10.10 12.72 15.19 18.07 20.46 23.30 Registri - flip-flop 2.61 1.76 3.00 4.27 5.50 6.78 8.01 9.15 10.37 F7MUX 0.14 0.00 0.07 0.38 0.40 0.48 1.06 1.07 1.06 BRAM 23.33 11.67 23.33 35.00 46.67 58.33 70.00 81.67 93.33 DSP 2.50 6.25 7.50 8.75 10.00 11.25 12.50 12.50 12.50 Razvidno je narašcanje uporabljenih enot s številom kanalov generatorja. Nadgrajen generator za dva kanala porabi v primerjavi z originalnim nekoliko vec LUT in registrov, trikratno število DSP-jev, enako število BRAM enot in pol manj F7 MUX. Pri sintezi celotnega sistema se pri 6 kanalih in vec uporabijo tudi LUT v obliki pomnilnika. Pri 6 kanalih je uporabljenih 0.02 %, pri 7 kanalih pa kar 85.35 % enot, saj pri 6 kanalih zacne zmanjkovati BRAM enot. 4.1 Preizkus na napravi STEMlab Slika 6 prikazuje oscilogram izhodnih signalov izmerjen na izhodu naprave STEMlab pri 4 kanalnem signalnem generatorju z nastavljenimi vhodi amplitude 0.8 V, 0.5 V in 0.2 V in frekvence 2 kHz ter 16 kHz. 5 Zaključek V pripevku smo opisali postopek nadgradnje strojne in programske opreme merilne in krmilne naprave STEMlab na primeru razvoja veckanalnega signalnega generatorja. Predstavili smo postopek nadgradnje kode na strojnem (Verilog) in programskem nivoju (C in Python), kije podrobneje opisan v [7]. Z nadgradnjo signalnega generatorja smo uspešno omogočili izbiro poljubnega števila kanalov generatorja, dodali možnosti izbire vhodnih kanalov za operande in omogočili spreminjanje števila bitov, s katerim so signali opisani. Signalni generator smo preizkusili na napravi STEMlab z različšnimi nastavitvami ter ugotovili, da je njegovo delovanje v skladu z zelenimi lastnostmi. Nadgradnja generatorja je lahko uporabna npr. pri mo-dulaciji in obdelavi signalov ter nasploh pri raziskovanju oziroma eksperimentiranju, kjer potrebujemo nadzor nad več signali in sprotno izvajanje aritmetičnih operacij v realnem času. Razvoj strojne in programske opreme za digitalno obdelavo signalov v sistemu SoC, ki je osrednji del naprave STEMlab zahteva spečifična znanja iz obeh področij in poznavanje tehnologije. Mozna rešitev za tiste uporabnike naprave, ki nimajo spečifičnih znanj, je sinteza vezja iz programske kode in avtomatsko sestavljanje sistema iz ključnih komponent IP [8]. Večkanalni digitalni generator signalov je ena izmed taksšnih komponent in ga bomo v nadalnjem delu uporabili pri razvoju račšunalnisških orodij za eksperimentiranje z napravo STEMlab. Literatura [1] Red Pitaya. "Red Pitaya dočumentation", 2016. [Online]. Dosegljivo: http://rpdočs.readthedočs.io/en/latest/. [Dostopano: 7. 1. 2018]. [2] M. Ossmann: Red Pitaya - not just a USB sčope module, Elektor, Dečember 2014, str. 38-42. [3] M. Cimerman, Z. Topčagič et al.: Laboratorijski merilni sistem na osnovi naprave Red Pitaya, zbornik ERK 2014, 22. - 24. september 2014, Portoroz, Slovenija, zv. B, str. 215. [4] L. H. Cročkett, R. A. Elliot, M. A. Enderwitz, R. W. Stewart: The Zynq Book: Embedded Pročessing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soč, Strathčlyde Ačademič Media, UK, 2014. [5] T. Thomas, "Tečhnology for IP reuse and portability", IEEE Design & Test of Computers, vol. 16, št. 4, str. 7-13, 1999. [6] Xilinx, "AXI referenče guide", podatkovni list, mareč 2011 [revidirano: januar 2012]. [7] M. Mavsar: Večkanalni signalni generator na merilni napravi STEMlab, Magistrsko delo, FE, Ljubljana 2018. [8] A. Trost, A. Zemva: Pipeline čirčuit synthesis from Python čode, 6th Mediterranean Conferenče on Embedded Computing (MECO), 11-15 junij, 2017, Bar, Crna Gora, str. 320-323. Slika 6: Meritev izhodnega signala. Moder signal prikazuje vsoto dveh izhodov, pri cemer ima eden niZjo amplitudo in višjo frekvenco, rdec signal pa je kvadrat sinusnega signala. 12 Programirljiva prstna vrtavka za prikaz besedila ali grafike po principu vztrajnosti vida Matej Nogic, Ernest Gungl, Zmago Brezočnik Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor E-pošta: matej.nogic@student.um.si, ernest.gungl@um.si, zmago.brezocnik@um.si Programmable Persistence of Vision Fidget Spinner for Display of Text or Graphics Abstract. This paper presents our four-wing fidget spinner, a finger-spun propeller that displays an arbitrary image, either text or graphics, as an optical illusion according to the persistence of vision. It has several advantages over many of the available persistence of vision fidget spinners on the market including the well-known device of Microchip. 1 Uvod Prstna vrtavka za prikaz besedila ali grafike je rotirajoča naprava, ki deluje po principu vztrajnosti vida (slika 1). Slika 1: Prstna vrtavka za prikaz besedila ali grafike Prikaz dosežemo s hitrim premikanjem stolpca svetlečih diod po krožni poti, kjer v vsakem trenutku z njim prikažemo le delček celotne slike ali besedila. Opazovalec vidi celotno sliko, če čas, v katerem so prikazani vsi posamezni deli slike, ne presega časa vztrajnosti vida človeškega očesa [1, 2]. Naša izvedba naprave je nastala v okviru študentskega projekta po vzoru prstne vrtavke podjetja Microchip [3]. Obe izvedbi za natančno pozicioniranje besedila ali grafike med vrtenjem vrtavke, ne glede na hitrost vrtenja ali pospešek, namesto programske rešitve uporabljata namenski strojni modul, imenovan kotni časovnik (Angular Timer - AT) [4]. Vsebino prikaza je pri obeh izvedbah mogoče spreminjati tudi med vrtenjem vrtavke prek povezave Bluetooth Low Energy (BLE). V primerjavi z vrtavko podjetja Microchip ima naša več prednosti. Z namenom doseganja različnih barvnih učinkov in večje ločljivosti besedila ali grafike ima namesto enega stolpca z osmimi svetlečimi diodami dva stolpca s po šestnajstimi. V enem stolpcu so diode rdeče, v drugem pa zelene. Namesto bipolarnega Hallovega senzorja in dveh magnetov, ki morata biti obratno orientirana, smo uporabili omnipolarni senzor [5] in samo en magnet, katerega orientacija ni pomembna, kar poceni čas in stroške montaže. Vrtavka podjetja Microchip se napaja s tremi zaporedno vezanimi gumbnimi baterijami CR2032, naša pa z zaporedno-vzporedno vezavo štirih takšnih baterij. Na ta način je dosežena večja učinkovitost pretvornika na 3,3 V napajalno napetost in s tem daljša življenjska doba baterij. Ta se poveča tudi zaradi samodejnega izklopa napajalne napetosti, če naprava ni aktivna. Iz neaktivnega stanja jo zbudimo z uporabo namenskega vezja, katerega osrednji del je kapacitivno stikalo. Merjenje kapacitete baterije je izvedeno s pomočjo integriranega stikala v pretvorniku za 3,3 V, ki omogoča dodatno zmanjšanje porabe energije. Vse komponente so skrbno izbrane iz skupine komponent z nizko porabo. Blokovna shema naprave in opis uporabljenih komponent sta podana v poglavju 2. Zasnova programske opreme, ki se izvaja v sami napravi in tiste na osebnem računalniku, je opisana v poglavju 3. V poglavju 4 prikažemo realizacijo naprave in preizkus njenega delovanja. V sklepu ovrednotimo dosežene rezultate in nakažemo morebitne izboljšave in nadgradnje. 2 Strojna oprema Blokovna shema strojne opreme naprave je prikazana na sliki 2. Osrednji del predstavlja 8-bitni mikrokrmilnik PIC16F1619 proizvajalca Microchip [6]. Njegova glavna naloga je v ustreznem časovnem sosledju polniti 16-bitna pomikalna registra (POMR), na katera je priključenih 16 zelenih in 16 rdečih svetlečih diod. Pomikalna registra sta namenska tokovna gonilnika svetlečih diod LED [7]. Vsaka polnitev pomikalnih registrov predstavlja en stolpec prikazane vsebine (npr. prvi stolpec črke E na sliki 1). Za natančno pozicioniranje besedila uporabljamo kotni časovnik [4], ki se nahaja v mikrokrmilniku. Kotni časovnik določa pozicijo besedila na osnovi informacije, ki jo prejme od Hallovega senzorja [5]. Hallov senzor se nahaja na rotorju vrtavke (del vrtavke, ki se vrti) in sporoča periodo vrtenja kotnemu časovniku ob preletu mimo magnetka (M) na statorju (negibni del, namenjen držanju vrtavke). Spreminjanje prikazane vsebine na vrtavki je omogočeno prek modula Bluetooth Low Energy RN4871 [8] prizvajalca Microchip in kapacitivne tipke. Ker uporabljene elektronske komponente za svoje delovanje potrebujejo napajalno napetost 3,3 V, v vezju pa uporabljamo baterije CR2032, ki v uporabljeni vezavi generirajo napetost 6V, uporabimo za znižanje napetosti DC/DC pretvornik TPS62745 [9] proizvajalca Texas Instruments. Da bi zmanjšali porabo energije, smo razvili namensko vezje, ki baterijsko napetost po potrebi priklopi oziroma odklopi (VKLOP/IZKLOP). Vezje vključimo z dotikom kapacitivne tipke, priključene na ERK'2018, Portorož, 13-16 13 R1 R2 6V BAT j VKLOP/IZKLOP Nisi 3 fS> DC-DC 6V-3.3V PC 16x -t 16* t POMR MIKROKRMILNIK POSP Slika 2: Blokovna shema strojne zasnove naprave kapacitivno stikalo PCF8883 [10], ki je del vklopno-izklopnega vezja. Po preteku petih minut brez aktivnosti mikrokrmilnik napajalno napetost izklopi (S1). S pomočjo analogno-digitalnega pretvornika (AD) meri kapaciteto baterij na osnovi padca napetosti na napetostnem delilniku (pred tem vključi stikalo S2). Sledi podobnejši opis delovanja posameznih delov vezja. 2.1 Napajalni del naprave Slika 3 prikazuje napajalni del naprave. V vezju so nameščene štiri 3-voltne baterije CR2032. Po dve bateriji sta vezani zaporedno, s čimer dosežemo napetost 6V, ki jo peljemo na vhod pretvornika TPS62745 za znižanje enosmerne napetosti. Želeno izhodno napetost pretvornika 3,3 V smo izbrali z ustrezno nastavitvijo vhodov VSEL1 do VSEL 4. Pretvornik ima zelo majhno porabo (400 nA). V načinu izklopa (vhod EN je na nizkem nivoju) se poraba zniža na 130 nA. Pretvornik uporablja integrirano notranje napetostno stikalo, ki preklopi vhodno napetost VIN na izhodni priključek VIN_SW, ko je vhodni priključek EN_VIN_SW na visokem logičnem nivoju [9]. To lastnost smo s pridom izkoristili za merjenje napetosti baterije, ki jo s pretvornikom AD merimo kot padec napetosti na napetostnem delilniku, določenim z uporoma R1 in R2 (slika 2). Tako teče tok čez napetostni delilnik le v času meijenja električne napetosti. 2.2 Slika 3: Napajalni del naprave Namensko vezje za znižanje porabe namenskega vezja za vklop in izklop naprave (slika 4). Ob dotiku kapacitivne tipke, priključene na kapacitivno stikalo PCF8883 [10], aktiviramo izhod vezja EN, ki omogoči pretvornik za znižanje enosmerne napetosti TPS62745 (slika 3). Ko pritisnemo na kapacitivno tipko (vhod CAP na sliki 4), se prek vhoda 2 vrat U3 aktivira izhod EN in naprava »oživi«. Zdaj se aktivira signal ON, ki prek vhoda 1 vrat U3 zagotavlja napajanje tudi po spustitvi tipke. Mikrokrmilnik po preteku petih minut neaktivnosti onemogoči pretvornik (poraba 130 nA) in s tem prekine dobavo električne napetosti 3,3 V. Slika 4: Vezje za vključitev in izključitev naprave 2.3 Gonilnik svetlečih diod Za poganjanje svetlečih diod sta uporabljena 16-bitna pomikalna registra TLC59282 (slika 5), ki sta povezana v kaskado (podatkovni izhod SOUT prvega vodi na podatkovni vhod SIN drugega). Izhodni del pomikalnega registra (OUTO do OUT15) je 16-kanalni gonilnik svetlečih diod z zmožnostjo ponikanja konstantne vrednosti toka, nastavljene z uporom na priključku IREF. Vrednost upora Riref v kQ izračunamo iz izraza (1), kjer je ILED želeni tok skozi svetlečo diodo v mA in Vref referenčna napetost 1,205 V [7]. Že sama izbira komponent zagotavlja nizko porabo energije, ki smo jo še dodatno znižali z izdelavo Iled - VREF rIREF 41,9 (1) 14 Uporabljene svetleče diode so serije APTD in KPTD proizvajalca Kingbright. Ker je pri nominalnem toku 2 mA svetilnost uporabljenih rdečih svetlečih diod 150 mcd, svetilnosti zelenih pa 440 mcd, smo s primerno izbranima uporoma (Rirefi = 16 kQ in Riref2 = 25,2 kQ) dosegli tok 3,15 mA skozi rdeče in tok 2 mA skozi zelene diode in s tem približno enako svetilnost enih in drugih. Tabela 1. Tri karakterstike znotraj storitve Storitve UUID DABEB8B482AF42A8B35716F80B374EE2 Oprimek Namen Velikost Dovoljenja 0092 LED v mirovanju 0x14 W/R 0095 Rotirajoči LED 0x14 W/R 0098 Barva - rotirajoči LED 0x02 W/R Slika 5: Priključitev svetlečih diod 2.4 Kotni časovnik Kotni časovnik [4] je pomemben del naše naprave, ker zagotavlja natančno lociranje besedila ali grafike in razbremeni procesor. Ob vsakem polnem obratu vrtavke Hallov senzor generira impulz, ki gre na vhod kotnega časovnika. Čas med dvema zaporednima impulzoma tako ustreza kotu zasuka 360°. Strojna oprema kotnega časovnika razdeli periodični vhodni signal na 180 enakih intervalov in tako sproži prekinitev na mikrokrmilniku na vsaki 2° zasuka vrtavke. V prekinitvenem programu se za vsak položaj vrtavke, ki zahteva spremembo vsebine prikaza glede na prejšnji položaj, pošlje ustrezna bitna kombinacija na stolpca LED. 2.5 Modul Bluetooth Low Energy Pri odločitvi za izbiro komunikacijskega modula Bluetooth Low Energy proizvajalca Microchip so nas prepričale njegove majhne dimenzije in predvsem nizka poraba energije (2,9 ^A v mirovanju). Modul ima vgrajeno keramično anteno in komunicira z mikrokrmilnikom prek vrat UART [8]. Komunikacija med modulom in PC-jem poteka prek Bluetooth Low Energy protokola GATT (Generic Attribute Profile), ki določa organizacijo in izmenjavo podatkov med različnimi aplikacijami [11]. Osnovan je na protokolu ATT (Attribute Protocol), ki je njegov transportni protokol. GATT je namenjen odkrivanju storitev (Services) ter branju in spreminjanju karakteristik (Characteristics), povezanih s storitvijo. Karakteristika predstavlja vrednost podatka, ki ga prenašamo med odjemalcem (PC) in strežnikom (vrtavka). Storitve se razlikujejo po 16 ali 128-bitnem univerzalnem unikatnem identifikatorju UUID in so s pripadajočimi karakteristikami zbrane v navidezni zbirki, imenovani profili (Profiles). Vsaka karakteristika ima tudi svoj UUID oziroma oprimek (handle), ki omogoča njeno identifikacijo. V tem projektu je uporabljen en servis s tremi karakteristikami (tabela 1). Prva karakteristika v tabeli je namenjena upravljanju 32-ih svetlečih diod v času mirovanja naprave, druga prikazu besedila med rotacijo vrtavke in zadnja izbiri barve besedila. 3 Programska oprema Slika 6 prikazuje strukturo programske kode, ki se izvaja v mikrokrmilniku in na osebnem računalniku PC. Programska koda, ki se izvaja na mikrokrmilniku, je napisana v programskem jeziku C in izvede najprej inicializacijo uporabljene periferije (PLL sistemska ura 32 MHz, vhodno-izhodni priključki, kotni časovnik, UART, zunanje prekinitve). Po uspešni inicializaciji mikrokrmilnik prek povezave Bluetooth LE prejema od PC-ja zahteve o vsebini na vrtavki in čaka na prekinitve kotnega časovnika za prikaz grafike. LabVIEW Cl besedilo t grafika 1— I barva a LU strežnik BLE iI m Slika 6: Struktura programske opreme Aplikacija, ki se izvaja na PC-ju, je napisana v okolju NI LabVIEW podjetja National Intruments. Prek nje pošiljamo zahteve glede barve in vsebine prikazane grafike do mikrokrmilnika. Ker aplikacije, zapisane v okolju NI LabVIEW, trenutno ne znajo neposredno komunicirati prek protokola Bluetooth Low Energy, smo uporabili programski strežnik HTTP NI BLE podjetja National Instruments, ki ga namestimo na PC-ju [12]. Strežnik ustvari most med aplikacijo NI LabVIEW in vmesnikom Bluetooth Low Energy na PC-ju, tako da aplikacija LabVIEW komunicira prek protokola HTTP na vratih 5000 s strežnikom, ta pa z mikrokrmilnikom prek protokola Bluetooth Low Energy. Za generiranje pisave smo uporabili brezplačno aplikacijo »The Dot Factory« in zapisali pomožno aplikacijo v LabVIEW za modificiranje generiranih pik za znake. Pomožna aplikacija dve 8-bitni vrednosti, ki predstavljata pike posameznega stolpca (diode LED), združi v 16-bitno vrednost in izvede ustrezne pomike bitov, s čimer kompenzira neskladnost fizičnega zaporedja svetlečih diod, do katerega je prišlo zaradi omejitev pri povezovanju linij na dvostranski tiskanini z zaporedjem bitov izvorne 16-bitne generirane vrednosti stolpca. 4 Izdelava in preizkus naprave Za napravo smo načrtali dvoslojno tiskanino v programskem okolju Altium Designer. Tridimenzionalni izgled naprave v omenjenem programu je prikazan na sliki 7, fotografija izdelane vrtavke z vstavljenim statorjem s krogličnim ležajem za držanje na prstu pa na sliki 8. 15 Slika 7: 3D prikaz vrtavke v programu Altium Designer Slika 8: Izdelana vrtavka 5 Sklep Cilj projekta je bil izdelati prstno vrtavko za prikazovanje besedila ali druge grafike po principu vztrajnosti vida. Testiranje delovanja naprave je potrdilo uspešnost realizacije zastavljenega cilja. Grafika je prikazana jasno in na natančno definirani lokaciji. S tem upravičimo uporabo kotnega časovnika, ki procesor razbremeni sprotnega računanja kota zasuka vrtavke in mu daje več časa za osveževanje pik med rotacijo vrtavke. K temu pripomore tudi izbira svetlečih diod z visoko svetilnostjo pri majhnem toku. Izbira komponent z nizko porabo in premišljeno načrtano vezje za znižanje porabe zagotavljata dolgo življenjsko dobo baterij. Z uporabo pospeškometra (POSP - slika 1), ki je že del vrtavke, bi lahko dosegli, da bi bilo prikazano besedilo vedno pravilno obrnjeno, ne glede na to, kako držimo vrtavko. Napravo lahko uporabljamo za pedagoške ali promocijske namene, kot igračo ali celo kot terapevtski pripomoček [13, 14]. Literatura [1] G. J. Burak in D. P. Fiden, „Gaming Machine Having a Persistence-of-Vision Display". Patent US 7,708,640 B2, 4 May 2010. [2] D. Z. Ratnayake, C. K. Kulasekera, Y. V. Fernando, T. W. Meewella, J. P. Praveena in S. P. Yasakethu, „Persistence Vision Display," v International Research Symposium on Engineering Advancements, Malabe, Sri Lanka, 2015. [3] Microchip Technology Inc., „Bluetooth Fidget Spinner," 21 February 2018. [Elektronski]. Dosegljivo na: http://www.microchip.com/promo/bluetooth-fidget-spinner. [4] D. Hou, „Angular Timer Implementation, Microchip Technology Inc.," 2016. [Elektronski]. Dosegljivo na: http://ww1.microchip.com/downloads/en/AppNotes/90 003143A.pdf. [5] Texas Instruments, „DRV5033 Digital-Omnipolar-Switch Hall Effect Sensor," September 2016. [Elektronski]. Dosegljivo na: http://www.ti.com/lit/ds/symlink/drv5033.pdf. [6] Microchip, „14/20-Pin, 8-Bit Flash Microcontroller,' 2014-2017. [Elektronski]. Dosegljivo na: http://ww1.microchip.com/downloads/en/DeviceDoc/40 001770D.pdf. [7] Texas Instruments, „16-Channel, Constant-Current LED Driver with 4-Channel Grouped Delay," October October. [Elektronski]. Dosegljivo na: http://www.ti.com/lit/ds/symlink/tlc59282.pdf. [8] Microchip Technology Inc., „RN4870/71 Bluetooth Low Energy Module User's Guide," 2017. [Elektronski]. Dosegljivo na: http://ww1.microchip.com/downloads/en/DeviceDoc/5 0002466B.pdf. [9] Texas Instruments, „TPS62745 Dual-cell Ultra Low IQ Step Down Converter for Low Power Wireless Applications," June 2015. [Elektronski]. Dosegljivo na: http://www.ti.com/lit/ds/symlink/tps62745.pdf. [10] NXP Semiconductors, „Capacitive touch/proximity switch with auto-calibration, large voltage operating range, and very low power consumption," 14 September 2016. [Elektronski]. https://www.nxp.com/docs/en/data-sheet/PCF8883.pdf. [11] „GATT Overview," Bluetooth SIG, Inc., 2018. [Elektronski]. Dosegljivo na: https://www.bluetooth.com/specifications/gatt/generic-attributes-overview. [12] National Instruments, „LabVIEW Bluetooth Low Energy (BLE) Instrument Drivers for Windows & cRIO," 2017. [Elektronski]. Dosegljivo na: https://forums.ni.com/t5/NI-Labs-Toolkits/LabVIEW-Bluetooth-Low-Energy-BLE-Instrument-Drivers-for-Windows/ta-p/3538595. [13] E. J. Cohen, R. Bravi in D. Minciacchi, „The effect of fidget spinners on fine motor control," Scientific Reports, Izv. 8:3144, February 2018. [14] L. Mesquita, G. Brockington, P. A. de Almeida, M. E. Truyol, L. A. Testoni in P. F. F. Sousa, „Using a fidget spinner to teach physics," Physics Education, Izv. 53, št. 4, 2018. 16 High-level synthesis and optimization of video signal processing IP Tadej Skuber, Andrej Trost, Andrej Zemva Faculty of Electrical Engineering, University of Ljubljana, Slovenia E-mail: ts7305@student.uni-lj.si Abstract. Experiment described in the paper studies design methodology by implementing image rotation with bilinear interpolation. Algorithm is firstly coded and tested in high level language (C). Code is than converted to RTL design using special commands (directives). To reach desired result latency and small circuit size, code style and directives are experimented with. Effects of different fixed-point decimal places is also analyzed. 1 Introduction Advanced designs used in today's increasingly complex electronic products are stretching the boundaries of density and performance. They create a challenge for design teams to hit a target release window within their allocated budget. A productive methodology for addressing these design challenges is one where more time is spent at higher levels of abstraction, where verification time is faster and productivity gain is the greatest [1]. The main goal of this paper is to use High Level Synthesis (HLS) to find algorithm with optimal performance, from the choice of multiple versions of known algorithm for image rotation, evaluating performance and resource use. The usage of HLS enables us a fast way of checking both criteria without much coding effort. Image rotation and translation are widely used operations in image processing with possible parallelism potential. The only problem is a need for additional resampling algorithm. In computer vision and image processing, bilinear interpolation is one of the basic resampling techniques. It can be used where perfect image transformation with pixel matching is impossible, so that one can calculate and assign appropriate intensity values to pixels. Unlike other interpolation techniques, such as nearest-neighbor interpolation and bicubic interpolation, bilinear interpolation uses values of only the 4 nearest pixels, located in diagonal directions from a given pixel, in order to find the appropriate color intensity values of chosen pixel [2]. 2 Rotation and bilinear interpolation Used algorithm iterates over resulting image in x' and y' direction. For every pixel (x', y') it looks where does it mirror in original image (x, y) (Fig. 1). Algorithm uses the following formula: - T A + where A aoo aio aoi aii T = IIH/2" IIw/2 cos(0) sin(0) — sin(0) cos(0) tl OIh/2 — tid" t2. OIw/2 —12 d (1) (2) (3) Matrix T translates original image for t1d pixels in x direction and for t2d pixels in y direction. Rotation is handled by matrix A, which rotates image for for angle 0 in anti-clock wise direction. IIH and IIW are constants that represent original image (Input Image or II) width and height. Constants OIH and OIW represent width and height of Output Image (OI). Getting values from source Figure 1: Representation of algorithm operation [3]. Image transformation does not result in integer coordinates values of the pixels. Therefore bilinear interpolation is used to find appropriate pixel values at given coordinates. Pixel color value f (x, y) is calculated using the four neighbor pixels color values (Fig. 2) by the following formula: f (x,y) = [1 — x x] f (0,0) f(1,0) f (0,1)' f(1,1) 1 — y y (4) Values f (0,0), f (1,0), f (0,1), f (1,1) are neighbor pixel color values. Variables x and y are distances of calculated (x, y) from the nearest integer coordinate value. Formula is applied to each of three RGB (Red, Green and Blue) pixel colors, giving three f (x, y) result values that are combined in one piece of data. x y ERK'2018, Portorož, 13-16 17 Figure 2: Geometric visualization of bilinear interpolation [2]. 2.1 C code The following code (Lst. 1) was firstly used to test the algorithm and asses performance of HLS (High Level Synthesis). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 typedef int cnt_t typedef ap_fixed <32, 16> fix_t typedef ap_uint <24> col_t void bilinear ( col_t input_image [ II_H *II_W], col_t output_image [OI_H*OI_W] , fix_t A[4] , fix_t T [2 ] ) { loopi: for (cnLt i = 0; i < OI_H ; i+ + ){ loopj : for (cnLt j = 0; j < OI_W; j+ + ){ x = ((fix_t)(i) - OI_H_2 - T [ 1 ] ) *(A[0]) + (( fi^_t ) (j ) - OI_W_2 - T [0] ) * (A [ 1 ] ) + II_H_2 ; y = ((fi^_t)(i) - OI_H_2 - T [ 1 ] ) * (A [ 2 ] ) + (( fix_t ) (j ) - OI_W_2 - T [0] ) * (A [3]) + ILW2 ; if ((x0 >= 0 && y0 >= 0) && (x 1 < II_H && y1 < II_W)){ dx = x - ( fix_t ) (x0) ; dy = y - ( fix_t ) (y0) ; dx_dy = dx *dy; loopk : for (cnLt k = 0; k < 3; k + + ){ shift = k << 3; output_image [ i *OI_W + j] |= ((coLt)( ( fix_t ) ((( input_image [x0 * II_W + y0 ] ) & ( col_t ) (0xFF << (shift))) >> (shift)) * ( 1 + dx_dy- dx- dy ) + ( fix.t )((( input-image [x1 * II_W + y0 ] ) & (coLt) (0xFF << (shift))) >> (shift)) * (dx-dx_dy) ( fix_t ) ((( input_image [x0 * II_W + y1]) & ( coLt ) (0xFF << (shift))) >> (shift)) * (dy-dx.dy) ( fix.t )((( input-image [x1 * II_W + y1]) & ( coLt ) (0xFF << (shift))) >> (shift)) * dx_dy ) )<< (shift) ; Listing 1: Basic unmodified C code. Main algorithm input is 1D array input_image of size II_H*II_W, with each 24 bit element. This array contains 2D image that is transformed into single row. Other inputs are matrix A and T, containing information of image rotation and translation. Output is rotated and translated image output_image with size OI_H*OI_W, each element also being 24 bits in size. The RGB color values are coded in 24 bit ap_uint type variables with identifier type coLt, giving each color a standard 8 bit value. Variables with identifier fix_t are of type apfixed and are used for calculations where decimal places are needed. Basic algorithm implementation loops through resulting image with two for loops, each pixel assigned (with coordinates (i,j)) a proper pixel value form original image (with coordinates (x, y)). Pixel color calculation is done with bilinear interpolation according to equation (4). 3 Directives Using Vivado HLS compiler directives, we can assist it in mapping C/C++ code to hardware [6]. In design four directives were used, unroll, pipeline, interface and array reshape. Unroll was used in for loop "loopk", for calculation of the individual RGB color value. Loops "loopi" and "loopj" are too large for unrolling, so directive was not used here. Directive pipeline was used on all loops, reducing the initiation interval for loops by allowing the concurrent execution of operations [5]. Directive interface with argument ap_memory was used on function array parameters, for implementation of arguments as standard RAM interface. Images were then conveniently stored in RAM. Array reshape was used for parallel access to data in RAM. Algorithm synthesis settings were set for ZedBoard using Vivado HLS 2017.4. Synthesis clock period was set to default 10 ns, and implementation was done in C and supports various input (II_H being height and II_W width) and output (OI_H and OI_W) image sizes. For implementation, standard test image size of 512 * 512 was used. Results of using different directives are visible in the following table: DIRECTIVE LATENCY/INTERVAL / 8127489 only pipeline and unroll 524299 all directives 524299 Table 1: Latency when using different directives. It can be seen(Tab. 1) that it is possible to achieve latency of about two clock cycles per pixel (512 * 512 * 2 = 524288), but it can also be noticed that additional directives (interface memory and array reshape) do not help to decrease latency. Problem is that only one RAM array element can be accessed in one clock cycle. Solution would be in loading multiple pixel data in one read cycle, and since input data repeats when iterating true image pixels. This can be used to lower latency to one clock cycle per pixel (Lst. 2). 4 Code modification Code modification was done so that it does consider repetition of data input [11]. That was done with 48 bit data input instead of 24. Image data was so divided in one array of size II_W/2*II_H. Each element of array therefore includes 2 pixel data. This small change in code gives us desired clock cycles per pixel. For image size 512 * 512 giving us latency of 262155 (262155/(512 * 512) « 1). + + 18 But this method is only applicable for images of size 2n * 2m. For all other sizes latency is the same. Algorithm with different image size inputs has latency of at least IIH * II-W * 2. The test with image size 650 * 975 has latency of 2535038 (2535038/(650 * 975) « 4), or image of size 640 * 540 has 691235 (2535038/(640 * 540) « 2) clock cycles of latency. This modification works only when directive array reshape is applied. basic modified DSP48E 64/29% 64/29% FF 2620/2% 3135/2% LUT 7690/14% 7295/13% Table 2: Resources used by different algorithms. Both using 32 bit fixed point numbers with 16 bits for calculations. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 if((y0 & 0x1) == ( cnt_t)(0)){ temp_image [0] = ( color_t) (input_image [x0 * II.W/2 + (y0 >> 1)]); temp_image [ 1 ] = ( color_t) (input_image [x0 * II.W/2 + (y0 >> 1)] >> 24) ; temp_image [2] = ( color_t) (input_image [x1 * II.W/2 + (y0 >> 1)]); temp.image [3] = (color.t )(input.image [x1 * II.W/2 + (y0 >> 1)] >> 24) ; }else { temp.image [0] = (color.t )(input.image [x0 * II.W/2 + (y0 >> 1)] >> 24) ; temp.image [ 1 ] = (color.t )(input.image [x0 * II.W/2 + (y1 >> 1)]); temp.image [2] = (color.t )(input.image [x1 * II.W/2 + (y0 >> 1)] >> 24) ; temp.image [3] = ( color.t) (input.image [x1 * II.W/2 + (y1 >> 1)]); } shift = k << 3; temp_out[k] = ((color_t)( (fixed_t)((( temp.image [ 0]) shift))) >> (shift)) * (1 + dx_dy-dx-dy) + ( fixed.t) (((temp.image [2]) & ( color.t) (0xFF << ( shift))) >> (shift)) * (dx-dx.dy) + ( fixed.t) (((temp.image [1]) & ( color.t) (0xFF << ( shift))) >> (shift)) * (dy-dx.dy) + ( fixed.t) (((temp.image [3]) & ( color.t) (0xFF << ( shift))) >> (shift)) * dx.dy ) )<<( shift); Figure 3: Fixed point images with 1, 2, 3 and 16 decimal bits of accuracy. MSE = -1- £ £ [i (ij) - K (ij )]2 (5) i = 0 j = 0 Results of comparison are given in Table 4. Image comparison was done with two algorithms, Mean Squared Error (MSE) and Structural Similarity Measure (SSIM) [6]. MSE was simply implemented according equation 5. More complicated image assessment with SSIM [7] was done using existing python library [9]. For simplifying image quality estimation, gray-scale image was used. 1 typedef int cnt.t ; < 3; k++) { 2 //typedef ap-fixed <32, 16> fix-t; 3 typedef float fix.t ; 4 typedef ap.uint <24> col.t ; & ( color.t) (0xFF << ( 5 Listing 3: Changing fixed point to floating point to compare images. Listing 2: Modified C code. Use of resources is visible in table 2. It can be seen that there are no major differences in use of resources between basic and modified algorithm for image of size 512 * 512. 5 Effects of fixed point Effects of using fixed point, instead of floating point, were also studied. Different number of fixed point decimal bits were used to see the effects on image quality. For assessment of image quality fixed point images were compared to floating point image. Code was only slightly changed (Lst. 3). NDB DSP48E FF LUT 8 17 2423 2423 9 17 2467 5982 10 17 2696 6452 11 17 2724 6826 12 17 2778 7014 13 17 2836 7188 14 23 2894 7324 15 43 2820 7351 16 51 3092 7334 17 51 2916 7332 18 51 2964 7311 Table 3: Resources used when changing number of fixed point bits. Using 10 bits for integer part and NDB for decimal part. As can be seen in Fig. 3 and Tab. 4, image quality quickly becomes sufficient with the use of more than 8 19 References [1] UltraFast High-Level Productivity Design Methodology Guide, Xilinx, UG1197 (v2018.2) June 6, 2018. [2] Bilinear interpolation, Wikipedia, https://en.wikipedia.org/wiki/Bilinear .interpolation [3] Image Rotation With Bilinear Interpolation, http://polymathprogrammer.com/2008/10/06/image-rotation-with-bilinear-interpolation/ [4] SDAccel Development Environment Help, HLS Pragmas, https://www.xilinx.com/html_docs/xilinx2018_1/sdaccel_doc/ ijd1517252127848.html/ [5] Vivado Design Suite User Guide, High-Level Synthesis, Xilinx, UG902 (v2014.1) May 30, 2014. [6] Xilinx Vivado HLS Beginners Tutorial, https://medium.com/Schathura.abeyrathne.lk/xilinx-vivado-hls-beginners-tutorial-custom-ip-core-design-for-fpga-59876d5a4119 [7] How-To: Python Compare Two Images, https://www.pyimagesearch.com/2014/09/15/python-compare-two-images/ [8] Zhou Wang, A.C. Bovik, H.R. Sheikh, E.P. Simoncelli, Image Quality Assessment: From Error Visibility to Structural Similarity, IEEE Transactions on Image Processing, Volume: 13, Issue: 4, April 2004. [9] Image processing in Python, http://scikit-image.org/ [10] The Advantages and Limitations of High Level Synthesis for FPGA Based Image Processing. [11] Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer, Parallel Programming for FPGAs, May 11, 2018. 6 CONCLUSIONS As shown in this paper, HLS is useful at development of digital hardware design. As demonstrated in this experiment, algorithm that would take bigger effort to code in HDL (Hardware Description Language) language such as VHDL, can easily be implemented. Doing so with use of only a few lines of simple C code and some directives. Important thing to consider when using HLS tool is that C code synthesis output does not always meet our idea of hardware. Change of hardware design can be made by exploiting directives. Use of directives like unroll or pipeline can for instance increase algorithm parallelism and shorten latency. More drastic and optimized change in hardware design usually requires slightly different coding style. For instance, Vivado HLS only managed to reduce latency after image array elements were grouped together. One disadvantage of HLS is definitely unreadable HDL language code at the end of synthesis. Regardless of representation, the best algorithms for hardware realization are not necessarily the same as those used in software. While HLS tools will produce hardware for realizing the algorithm, there may be better or more appropriate algorithms [10]. 20 decimal bits. Image distortion is visible only if a few decimal bits are being used. Assessment methods used enable insight of image quality, revealing that use of more bits does not significant add to image quality. But increasing the number of fixed point bits has an effect on resource use (Tab. 3), mainly on DSP48E blocks (FFs and LUTs are not greatly effected). NDB MSE SSIM 1 4782 0.32853 2 4556 0.32055 3 2202 0.47513 4 951 0.60306 5 590 0.68887 6 230 0.81405 7 98 0.90796 8 43 0.96283 9 9.77 0.98872 10 1.56 0.99701 11 0.41 0.99887 12 0.13 0.99948 13 0.06 0.99967 14 0.029 0.99988 15 0.014 0.99993 16 0.011 0.99994 17 0.005 0.99997 18 0.002 0.99999 Table 4: Results with different Number of Decimal Bits(NDB). Using 10 bits for integer part. Standardizacija in umestitev ekološko osveščenega načrtovanja v elektrotehniki Roman Strahija1, Tatjana Strahija 1 STMicroelectronics d. o. o. E-posta: roman.benkovic@st.com Standardization and Inclusion of Electrotechnics Eco-Design Consumer electronics (CE) market expansion over last decades directs changes in assessment of our design, production and recycling. Since unchanged approach in production and handling of waist electronic industry will not sustain environmental resistance, an increasing demand to change our practices is required. There are three main "life" phases of electronic equipment - the production stage, in which the product is developed, life time of the equipment and handling of it when it is no longer useful in its original form. In order to reduce the impact of the electronic industry on the environment, it is necessary to strive to improvement at all stages of the equipment's life cycle; eg. in the production cycle, it is necessary to reduce the use of natural resources, increase recycling of by-products, alter production process by replacing harmful processing steps with less harmful ones; but further more, it is necessary to design the product in such way that it has the longest possible life and the highest possible value for consumer; and for the final step, it is necessary to plan for its, ifpo-ssible, re-use or ability to recycle with the least possible impact on the environment. The guidelines for environmental-friendly design are defined in several directives and standards that most companies are trying to apply; some due to awareness and responsibility towards the environment, other simply of legal basis requirements. The article will give an overview of the eco-design field, its directives, standardization and guidelines for eco-friendly design. Keywords: Eco Design, Environment, Sustainability, Life Cycle Assessment (LCA), Eco Design Directives (EDD), Standardization 1 Uvod Ekolosko osvesceno nacrtovanje - Eco-Design (pogosto poimenovano tudi z drugimi izrazi: oblikovanje za okolje / Design for Environment, trajnostno oblikovanje -Sustainable Design, okolju prijazna zasnova - Environmental Conscious Design, cisti design - Clean Design, inzeniring zivljenjskega cikla - Life Cycle Engineering) je definirano kot sistematicno vkljucevanje okoljskih, zdravstvenih in varnostnih usmeritev v celoten življenjski cikel proizvodnega procesa in izdelka, v smislu ekologije, in ekonomije. Ob tem stremimo k trem glavnim ciljem [1]: • minimizaciji uporabe obnovljivih in neobnovljivih virov, • učinkovitem upravljanju obnovljivih virov, • zmanjšanju in nadzoru nad toksicnimi vplivi na okolje z namenom, da bi procese, izdelke ali storitve oblikovali tako, da se izognemo negativnim vplivom na ljudi, gospodarstvo ali okolje. Poglavitne iniciative ekološkega nacrtovanja (po EN ISO 14006; 2011 [2]) so: • sprejemanje novih poslovnih modelov, povecanje znanja in konkurencnosti ter zmanjšanje stroškov v podjetjih; • z upoštevanjem regulativ - višja okoljska uspešnost in dostopnost do širšega trzišca; • spodbujanje inovativnosti zaposlenih pri oblikovanju izdelkov ter v procesih izdelave in povecanje ugleda podjetja ter motivacije zaposlenih; • izboljšanje, optimizacija ter sprememba zasnove in funkcionalnosti procesov ter izdelkov; • zmanjšanje negativnih vplivov na okolje; • celostna obravnava izdelkov cez celotno zivljenj-sko obdobje; • olajšanje recikliranja in ponovne uporabe izdelka. Skozi pregled razlogov za vkljucevanje okoljskih vidikov v oblikovanje in razvoj izdelkov bomo predstavili še standardizacijo in umestitev podrocja ter nacine vkljucevanja ekološko osvešcenega nacrtovanja na elektrotehnicnem podrocšju. ERK'2018, Portorož, 13-16 21 Slika 1: Soodvisnost korakov ekološko osveščenih procesov v podjetjih [3] 2 Pregled in razlogi za vključevanje okoljskih vidikov v oblikovanje in razvoj izdelkov V zadnji tretjini stoletja se je, ob ekonomskem gonilu in tržnem razcvetu, povečala količina in dosegljivost raznovrstnih izdelkov na tržišču, kar je spremenilo miselnost potrošnikov in močno skrajšalo pričakovano uporabno dobo izdelkov. Tovrstno ravnanje ima posledično negativen vpliv na okolje, zaradi česar nastaja zahteva po vpeljavi sprememb v miselnost, načrtovanje in pročese izdelave, po drugi strani pa po ustreznejšem ravnanju z odsluzšenimi, uporabniku nezanimivimi in nepotrebnimi izdelki. Vzporedno z vse večjo potrošnjo so se, ob naraščajoči ekološki osveščenosti, razvile tudi različne direktive in standardi, ki naj bi, na eni strani, usmerjale proizvajalče v skupen boj proti odvečni porabi naravnih virov in zmanj-sšanem onesnazševanju, na drugi pa v razvoj in dopolnitve zakonodaje, ki zahteva trajnostni razvoj in boljše ravnanje v čelotnem obstoju polizdelkov, izdelkov ali njihovih delov. Začetne spremembe v podjetjih so se začele uvajati predvsem tam, kjer je bilo na voljo dovolj razvojno-razis-kovalno pokritih finančnih virov (npr. Philips, IBM, Apple). Manjša podjetja so uvedbo smernič ekološkega načrtovanja vpeljala predvsem v namen zmanjšanja stroškov prispevkov za obremenitev okolja in porabe virov, ne da bi vpeljavo upoštevala ze v samem pročesu izdelave. Načrtovanje določa večino (priblizno 80 % [4]) končnih vplivov na okolje in čeloten potek zivljenjskega čikla izdelka. Se tako napredna kasnejša proizvodja ali končno rečikliranje omogočata le manjše posege na vpeljavo sprememb, povečanje učinkovitosti proizvodnih proče-sov ter zmanjšanje okoljskih stroškov in vplivov. Zato je bistvenega pomena, da se očena okoljske učinkovitosti vključi v zgodnjih fazah načrtovanja (slika 1) - v integralni del zasnove samega izdelka - saj tako zmanjšamo stroške kasnejših faz in preoblikovanj ter zajamemo tudi Slika 2: Proces načrtovanja izdelka v primerjavi z okoljskim vplivom [5] okoljske in gospodarske vidike celotnega Zivljenjskega cikla izdelka (slika 2). Hkrati z vpeljavo ekološko osveščenega načrtovanja v prve faze načrtovanja izdelkov in v kasnejšo fazo uporabe se je pričel tudi razvoj postopkov, orodij in pristopov k primernejšemu ravnanju z izdelki ob končni zivljenjski dobi (End-of-Life - EoL). Na ta način se olajša razstavljanje, izboljša moznost rečiklaze ter izbor materialov, ki optimizirajo uporabo naravnih virov, saj jih je mozno kasneje rečiklirati, pouporabiti ali obnoviti (t.i. design for X). Zaradi tega se v zadnjem obdobju izpopolnjujejo različni postopki in pristopi k rečiklazi, katerih končno uspešnost pa lahko nato upoštevamo ze pri izbiri osnovnih metod načrtovanja. Poleg klasične metode načrtovanja za rečiklazo (design for recyclability) pa so na voljo tudi številne druge metode, kot npr. načrtovanje razstavljanja (design for disassembly), načšrtovanje nadgradnje (design for upgra- 22 Slika 3: Umestitev načrtovanja izdelka v življenjski krog izdelka (LCA) dability), načrtovanje vzdrževanja in popravil (design for maintainability and serviceability), načrtovanje ponovne uporabe (design for reuse), načrtovanje ponovne izdelave (design for remanufacturing) in načrtovanje izbora materialov (design for material selection). Omenjene metode načrtovanja so soodvisne; le njihova kombinačija in interakčija med posameznimi sklopi zajema vse faze, optimizira kakovost in poveča učinkovitost ekološko osveščenega načrtovanja. 3 Umestitev načrtovanja izdelka v življenjski krog Osnovni namen ekološko osveščenega načrtovanja je zmanjšati ekološko breme skozi čeloten zivljenjski krog izdelka (Life Cycle Assesment - LCA). Posamezne faze zivljenjskega kroga (slika 3) so: • pridobivanje surovin: uporaba vrste in količine surovin na način, ki zmanjšuje okoljsko breme ob pridobivanju (ne glede na njihov izvor), za izredno redke surovine pa minimiziranje njihove količine; • proizvodnja: vključitev proizvodnih pročesov na način, ki omogoča nadzor nad potekom, zmanjša odpadke ter porabljeno energijo; • pakiranje: načrtovanje pakiranja na način, da so izdelki čim manjši, s čimer se zmanjša količina pa-kirnega materiala in zniza strošek skladiščenja ter transporta (ozirma čelotna logistika); • transport in distribucija: načrtovanje krajših razdalj med proizvodnim obratom in končšnim uporabnikom; • namestitev in vzdrževanje: načrtovanje izdelka s poenostavljeno montazo in nezahtevnim vzdrzeva-njem; • uporaba: načrtovanje večstransko uporabnega izdelka s čim večjim krogom uporabnikov in visoko uporabno vrednostjo; • iztek življenjske dobe: načrtovanje izdelka na način, ko je mozno izdelek delno pouporabiti ali re-čiklirati s čim manjšim vplivom na okolje, s čimer je čilj pridobiti čim več delov ali materialov iz ze odsluzšenih izdelkov. 4 Direktive in standardizacija Na področju EU je določen okvir, ki zajema splošno politiko o izdelkih (Integrated Product Policy - IPP). Ta določa splošno zakonodajo na podlagi okoljskih direktiv, ki urejajo posamezna področja. Z njihovo uvedbo so podjetja primorana uvajati izboljšave v vse faze proizvodnih pročesov. Glavne skupine direktiv, ki urejajo področje ekološko osveščenega načrtovanja v EU, so: • Poraba energije v zivljenjskem ciklu: Direktiva EU za izdelke, ki so povezani z električno energijo (Energy-related Products - ErP), Direktiva EU za izdelke, ki uporabljajo električno energijo (Energy-using Products - EuP); • Uporaba nevarnih in prepovedanih snovi: Direktiva EU o evalvačiji in autorizačiji kemikalij (Registration, Evaluation & Authorisation of CHemicals - REACH), Direktiva EU o omejevanju nevarnih snovi (Restriction of Hazardous Substances - RoHS); • Uporaba baterij: Direktiva EU o baterijah; • Strategija ravnanja z izdelki ob zaključku ziv-ljenjske dobe: Direktiva EU o odpadni električni in elektronski opremi (Waste Electrical and Electronic Equipment - WEEE), Direktiva EU o končni zivljenjski dobi vozil (End-of-Life Vehicles - ELV). Poleg direktiv so podjetjem, kot vodilo, na voljo tudi skupine standardov ISO 14000, ki zajemajo različna področja in pristope k ekološko osveščenem načrtovanju. Pomembnejši med njimi so: • ISO 14001 - načrtovanje ravnanja z okoljem; • ISO 14006 - smerniče za vključitev okoljsko primerne zasnove; • ISO 14010 - smerniče za okoljsko presojo; • ISO 14020 - splošna načela okoljskega označevanja; • ISO 14040 - načrtovanje ravnanja z okoljem -smerniče za očenjevanje zivljenjskega čikla; • ISO 14050 - izrazi in definičije; • ISO 14060 - vodič vključevanja okoljskih vidikov v proizvodne standarde. Z razvojem in dopolnitvijo standardov se nakazejo smerniče pričakovanih sprememb zakonodaje in direktiv, na podlagi katerih se lahko podjetja dolgoročno pripravijo za optimalen nastop in konkurenčnost na trzišču. 23 5 Implementacija konceptov ekološko osveščenega načrtovanja na področju elektrotehnike Reciklaža elektronskih delov in naprav je težavna zaradi majhnosti in/ali kompleksnosti, prav tako pa zaradi uporabe raznovrstnih materialov. Tipični primeri polizdelkov in naprav so: raznovrstni MEMS, integrirana vezja, nano-strukture, tiskana vezja, zasloni ter medicinska oprema, nadzorni in kontrolni sistemi, majhni in veliki gospodinjski aparati, uporabna elektronika, svetila, električna orodja, igrače in naprave ter IT in telekomunikacijska oprema. Ob primernem načrtovanju postopkov izdelave naprav lahko ze v zgodnjih fazah predvidevamo kasnejše pridobivanje raznovrstnih elementov, snovi in komponent iz iztrosšenih naprav, kot so npr. platina, zlato, srebro, baker, raznovrstne plastike in plastične mase, steklo, moduli tiskanih vezij, integrirana vezja, motorji, zasloni, baterije ipd. Za zmanjšanje vpliva na okolje se posluzujemo tudi različnih prijemov pri načrtovanju, kot npr. zasnova modularnih komponent v napravah, miniaturalizačija (kar ima lahko tudi negativen vpliv, saj otezuje postopek re-čiklaze), optimizačija zgradbe naprav ipd. V poteku proizvodnega pročesa izdelave elektronskih naprav so uporabljene in se kot njegov stranski produkt ustvarjajo kemikalije, ki so za okolje toksičšne, zato je eden od temeljnih čiljev ekološko osveščenega načrtovanja le-te zamenjati s primernejšimi ali vsaj delno zmanjšati njihovo uporabljeno/proizvedeno količino. Direktiva RoHS trenutno omejuje uporabo zivega srebra, kadmija, šestvalentnega kroma, polibromiranega bifenila (PBB), polibromiranega difenil etra (PBDE); prav tako pa so v fazi sprejema predlogi, da naj bi se na seznam uvrstila prepoved uporabe nanosrebra in uvedlo označevanje uporabljenih nanotehnologij v izdelkih [6]. 6 Sklep Zaradi povečevanja osveščenosti uporabnikov so podjetja posledično vedno bolj spodbujena k razmišljanju o druz-benih in okoljskih vplivih njihovega delovanja. Poleg tega so zakonodajni organi primorani ob očšitnih vplivih na okolje zaostrovati zakonodajo in s tem urejati dopustno delovanje podjetij. Podjetja se priblizujejo trem čiljem - zmanjševanju porabe surovin in vplivov na okolje (poraba virov in energije, škodljivi stranski produkti), ponovni uporabi elementov, polizdelkov in izdelkov, ki niso večš uporabni na trzišču ter čim bolj učinkoviti rečiklazi preostankov. Glavnina odgovornosti sloni na načrtovalčih standardov, direktiv in zakonodaje na eni strani ter v čim bolj učšinkoviti vpeljavi le-teh prek načšrtovalčev izdelkov v podjetjih na drugi strani, saj bo le tako lahko druzšba kot čelota zagotovila pogoje čistejšega okolja naslednjim ge-neračijam in razvoju v njem. Literatura [1] R. Gheorghe in K. Ishii: "Eco-Design Value Alignment - Keys to Success. STANFORD School of Engineering Publication, pp. 1-32. Dosegljivo: https://www.gsb.stanford.edu/sites/gsb/files/ publication-pdf/other-eco-design-value-aligment.pdf [2] EN ISO 14006 (2011) Environmental Management Systems - Guidelines for Incorporating Ecodesign. July 2011, Brussels. [3] J. B. Milojkovic, V. B. Litovski: "Eco-design in Electronics - The State of the Art". FACTA UNIVERSITATIS, Series: Working and Living Environmental Protection, vol. 2, no. 2, 2002, pp. 87-100, July 2002. Dosegljivo: http://facta.junis.ni.ac.rs/walep/walep2002/ walep2002-01.pdf [4] K. Schischke, M. Hageluken in G. Steffenhagen: "An Introduction to EcoDesign Strategies -Why, What and How?". July 2018. Dosegljivo: https://www.researchgate.net/publication/ 268001428_AnJntroduction_to_EcoDesign_ Strategies.-_Why_what_and_how [5] J. O'Hare, E. Cope in S. Warde: "Five Steps to Eco Design - Improving the Environmental Performance of Products through Design". GRANTA Design, pp. 1-16, 2015. Dosegljivo: http://www.grantadesign.com/download/pdf/ FiveStepsToEcoDesign.pdf [6] M. Keskinen: "End-of-Life Options for Printed Electronics. V: Waste Electrical and Electronic Equipment (WEEE) Handbook, 2012. [7] T. V. Tran, S. Brisset in P. Brochet: "Approaches for the Ecodesign in Electrical Engineering Application to a Safety Transformer". 2009 6th International Multi-Conference on Systems, Signals and Devices, 23-26 March 2009, Djerba, Tunisia. Dosegljivo: https://ieeexplore.ieee.org/document/4956695/ [8] Ecodesign. The European Commission. Dosegljivo: http://ec.europa.eu/growth/industry/sustainability/ ecodesign_en [9] F. Zhang, M. Rio in P. Zwolinski: "Dynamic Eco-design Strategic Options for Electric-Electronic Industry". ED2E 2016 - International Conference on Eco-Design in Electrical Engineering, March 2016, Grenoble, France. Dosegljivo: https://hal.archives-ouvertes.fr/hal-01357212/document [10] V. Goodship in A. Stevels, eds.: "Waste Electrical and Electronic Equipment (WEEE) Handbook. A Volume in Woodhead Publishing Series in Electronic and Optical Materials". 1st Edition, Woodhead Publishing Limited, 2012. Dosegljivo: https://www.elsevier.com/books/waste-electrical-and-electronic-equipment-weee-handbook/ goodship/978-0-85709-089-8 24 Analysis of a power supply bypassing approaches Jakob Bevc University of Ljubljana, Faculty of Electrical Engineering E-mail: jakob.bevc@gmail.com Abstract. In this paper analysis is presented how different values, arrangements and placement of bypass capacitors affects stability of the power supply voltage. Analysis is supported by measurements on a designed and manufactured printed circuit board and compared with results of simulations made in LT Spice. Simulations are developed, step by step from simplest one 100nF decoupling capacitor, to optimal bypass solution. Voltage fluctuations were reduced for 90 mV after adding second (equal) bypass capacitor in parallel to existing. Adding more than two capacitors in parallel did not show significant improvement. Using damp capacitor in addition to existing bypass capacitor reduced voltage noise for additional 80 mV down to 180 mV, being our final solution. Measurements on the PCB are well supported by simulations. 1 INTRODUCTION Every electronic circuit has power supply connections that supply constant DC voltage to all loads. One of the problems that has to be dealt with is that many high-speed electronic components are commonly used, which sink high-frequency currents. Power supply connections will always introduce impedance for this high-frequency currents that consequently cause power supply voltage noise. With constantly improving technology, the trend for high-performance integrated circuits is toward higher operating frequency and lower power supply voltages. For that reasons voltage noise must be kept at a minimum value, to ensure correct operation of the design [1], [2]. Voltage noise can be reduced by minimizing the impedance of the power supply circuitry, where the most common technique is to use bypass capacitors, which are maintaining low impedance paths for high-frequency currents. Impedance must be kept below the maximum impedance in whole range of the current transients. For lower frequencies up to 1 MHz, the bulk (electrolytic) capacitor is commonly sufficient [2]. However, at higher frequencies, ceramic bypass capacitors are used. In addition, they provide a localized source of DC power and are particularly useful in reducing peak current surges propagated across the board [1]. In ideal case, a capacitor has no losses and no series inductance, but in reality, every capacitor has its parasitic equivalent series resistance (ESR) and equivalent series inductance (ESL) [3]. These two parameters determine the frequency range, where the impedance is low enough, to serve its purpose. The impedance of capacitor drops with frequency up to the self-resonance frequency (1), where the minimal impedance is achieved [4]. _ 1 /o _ 2nVESL~C (1) From that point on impedance increases with frequency due to ESL, which is influenced also by the connection traces and vias of the capacitor, as shown in the Figure 1. Figure 1: Inductance influenced by the connections. To decrease the parasitic effects more capacitors can be put in parallel. If different capacitors are used, this causes unwanted parallel resonances, which lead to high impedance at this resonance frequencies. Between the self-resonant frequencies of two different capacitors, the impedance of the larger capacitor is essentially inductive, whereas the impedance of the smaller capacitor is capacitive. In this frequency range there exists a parallel resonant LC circuit. Around this resonant point, the impedance of the parallel combination is larger than the impedance of either isolated capacitor [3], [5]. For proper operation, capacitor values must be calculated for a specific load type. Furthermore, the dielectric material of the capacitor must be properly selected together with the case size. The bypass capacitors are often chosen according to past usage experiences and rules-of-thumb. In this paper, we will try to show, how all these properties influence in reality and compare that with simulations. 2 EXPERIMENT 2.1 Printed circuit board (PCB) As shown in the Figure 2, we have designed a printed circuit board (PCB) with the MIC 4605-2YM chip, a power MOSFET gate driver with two outputs, each providing 1A of output current [6]. Its outputs are connected to resistor and a capacitor, connected in series to simulate the MOSFET gate impedance. When switching, the capacitors charge and discharge and the charging current is supplied from the power supply. With this configuration, the amplitude of current pulses can be controlled (resistor) and the frequency with input PWM signal. Resistor values determine the amplitudes of current pulses. ERK'2018, Portoroz, 25-28 25 Figure 2: Detailed schematics of the chip The PCB was designed using EAGLE PCB design software [7] in a way that it offers various positions for placement of decoupling capacitors and that the power supply traces are wide enough to allow different case sizes of capacitors to be soldered. Screw-terminal connector is positioned on the left side of the board for DC power supply. 2 mm wide power supply trace is routed from the connector to the chip MIC 4605-2YM on the right side of the board. Figure 3: PCB design For signal source connection to drive the chip, a BNC connector is provided. All ground is routed using ground plane. For measurements purposes, a pin header was put on VDD and GND pins of the chip. Bottom side of the PCB has a 2 mm wide trace directly under the chip (via at VDD pin), offering another option for positioning a decoupling capacitor. Figure 4 shows the detailed routing of the chip. 2.2 Measurement setup The board was connected to a DC laboratory power supply, providing constant 12V DC voltage, controlled with multimeter, while a function generator was used to generate PWM signal. Voltage fluctuations of power supply were measured with an oscilloscope. Most of the measurements were made on pin-headers and also on some different spots on the PCB. Data from oscilloscope was later processed in Matlab. 2.3 Spice simulation model Simulations were made with LT SPICE simulator from Linear Technology [8]. Since the LT spice library does not include a model for the MIC 4605-2YM, a model had to be added. A very useful source of information was the manufacturer's website, where they provide a model for another simulator: MPLAB Mindi [9]. This simulator was initially used for the transient simulation of the circuit. Value of each resistor was selected to get maximum amplitude of 1 A from both outputs. This simulation gave us enough information to make a model in LT Spice. To model the outputs of the chip, MOSFET transistors (included in LT Spice library, Si1555DL_P from Siliconix) were chosen that provide equal current pulses, as simulated in the MPLAB Mindi simulator. Correct MOSFET driving including invert and dead time was solved with two phase shifted square signal sources. The chip model was included in a transient simulation with all necessary parasitic for the AC model of the power supply circuit, as shown in the Figure below. —VWi/ . 12 10m wn ,JL1 ' C,8tl - = T™» <=-<■ J-" I V2 rv T°p L Zu '• J ) ! ') V3 PWMLO r1 ci y-IH> \HH> Figure 4: Chip routing details and probe positions -t Figure 5: Basic simulation design For accurate simulations, impedance of the traces was taken into consideration and included in simulation. We have used Saturn PCB design software [10] using basic trace parameters: trace width/height material and copper thickness, giving a value of capacitance and inductivity per centimeter. Trace parameters for our design are: 2 mm width, 1.6 mm height, material is FR-4 STD and copper thickness 35 ^m. This results in inductance of 3.78 nH/cm and capacitance of 0.97 pF/cm. Multiplying this with trace length (9.5 cm) gives a good approximation for L0 = 35.91 nH and C0 = 9.21 pH and these results were used in the trace AC model. 3 RESULTS 3.1 Power supply bypassing design using simulations Simulations of power supply impedance were made using different bypassing arrangements starting from simple to more advanced. Simulation results using realistic 100 nF bypass capacitor with ESR set to 10 mQ and ESL to 0.5 nF, are shown in the Figure 6. Due to ESL a series resonance appears at around 10.5 MHz, where impedance is limited 26 by ESR. Further on, the impedance starts to increase again as capacitor exhibits inductive behavior. Putting more capacitors in parallel can improve impedance trough whole frequency range. Figure 6 presents simulation results, where two 100 nF capacitors are connected in parallel. Since both capacitors are the same, the resulting capacitance increases by two, while the inductance and resistance drops by a factor of two. The increase of capacitance decreases the parallel resonance frequency. The impedance at frequencies above parallel resonance decreases significantly. Figure 6: Impedance graphs of different bypass arrangements using a realistic capacitor model Figure 7 presents bypassing arrangement using a 100 nF capacitor (same as in previous simulations) connected in parallel with a 1 nF capacitor with better parasitic values (ESR = 1 mO and ESL = 0.25 nF). Since another (better) capacitor was used, lower impedance is generally expected. But in the frequency range between self-resonances of capacitors additional parallel resonance of capacitors is introduced, where the impedance is actually larger than previous, where no additional capacitor was used. It turns out, that using equal capacitors in parallel is the best option. The only problem that has to be solved is the first parallel resonance. Usually this is accomplished by introducing a damp capacitor with right capacitance and ESR to form a critical damped resonance circuit [11]. Ctln-wn 2.2 UF , 0.235 n "damp ESRd (2) 1damp 2 x 100 nF bypass C and 2.2 uF damp C positions are very close to each other, the difference in voltage ripple is 100 mV. In simulation, the extra line length to the position 1 was modeled as additional impedance in series with the bypass capacitor. Impedance was estimated with Saturn PCB design program to be 1 nF. The good match between simulation and measurement validates the model parameters. 11.85 11.8 iA t Simule "Xil itlon ] V A ■ \ \J \l M [ Measur 0 ement ] fA |/V Figure 8: Simulation and measurement on PCB, position 1 With this solution, the power supply impedance is lower than 0.23 O in the whole frequency range of interest (050 MHz), as show in the Figure below. Figure 7: Impedance graph 3.2 Measurement of voltage ripple at different positions This measurement shows importance of bypass capacitor placement. Figure 8 and 9 present two simulations and measurements results with equal bypass capacitors and different probe positions 1 and 2 (labeled in the Figure 3). Measurement closer to the capacitor (position 2) gives lower voltage fluctuations without spikes. Although both Figure 9: Simulation and measurement on PCB, position 2 3.3 Bypass effectiveness of parallel connected capacitors We started with two equal 100 nF bypass capacitors and compared that with previous results. Figure 10 presents usage of one 100 nF bypass capacitor, Upp ~ 260 mV. With two capacitors, voltage fluctuations were reduced to Upp ~ 170 mV. Additional measurements on the PCB indicated that there is no significant decrease in voltage fluctuation after adding third bypass capacitor. This is mainly due to the fact, that more capacitors require more place and consequently more trace length. Thus, at one-point adding more capacitors in parallel is no more effective. The best results are made with capacitors stacked on top of each other, this minimizes trace length and takes least amount of space on PCB. 27 11.85 - } | 11.8 - 11.75--1-1-1-1- O 0.5 1 1.5 2 Time [s] x io~6 Figure 10: Comparison of parallel connected bypass capacitors 3.4 Optimizing bypassing with a damp capacitor To reduce parallel resonance, damp capacitor is added in parallel to the existing bypass capacitor. According to the [11], capacitance and ESR values of damp capacitor were calculated. 'n ( Simulation ] r-p -+lf—i ( Measurement ] f—fy— j/— O 0.5 1 1.5 2 Time [s] x 1 o~6 Figure 11: Simulation and measurement with bypass and damp capacitor, position 1 Required values were realized with ceramic capacitor, its parameters: 2.2 uF capacitance in series with 0.235 Q resistor, to get ESR in desired range. Simulation AC analysis confirmed decrease of impedance at parallel resonance frequency, shown in Figure 7. After adding damp capacitor voltage fluctuations are limited to 180 mV, which is an 80 mV less, compared to usage of bypass capacitor alone. Simulations give somewhat lover values. This is expected, due to parasitic values, which cannot be approximated with high accuracy. 4 CONCLUSION This paper presented different bypassing approaches. Analysis showed some simple and cost-efficient solutions and pointed out common mistakes one could do. Development of simulation lead to bypassing solution later tested on a real PCB. Usage of parallel bypass capacitors and damp capacitor showed significant improvement in voltage stability. Position of bypass capacitor is also very important. Every additional trace length causes noticeable increase of noise. Good match between simulation and measurement proved, that with accurate simulation we can predict bypass capacitors arrangement early in the development process of electronic circuit and avoid later malfunction. For further improvement of this research more testing could be done concentrating on capacitor type, manufacturer and materials. ACKNOWLEDGEMENTS I would like to express my very great appreciation to doc. dr. Marko Jankovec for his help during the development of this research work. I would also like to thank to every member of LPVO. REFERENCES [1] T. Williams, EMC for Product Designers, 2006, pp. 300312. [2] L. D. Smith, R. E. Anderson, D. W. Forehand, T. J. Pelc and T. Roy, "Power Distribution System Design Methodology and Capacitor Selection for Modern CMOS Technology," 3 august 1999. [3] M. Montrose, Printed Circuit Board Design Techniques for EMC Compliance, New York: IEEE, 2000, pp. 77109. [4] R. Tanmoy, L. Smith and J. Prymak, "ESR and ESL of Ceramic Capacitor Applied to Decoupling Applications," in Electrical Performance of Electronic Packaging, 1998, New York, 1998. [5] A. Mediano, "Using Capacitors in Parallel: Dangerous?," 29 december 2016. [Online]. Available: https://incompliancemag.com/article/using-capacitors-in-parallel-dangerous/. [6] MICROCHIP, „MIC 4605-2YM datasheet," 2018. [Elektronski]. Available: http://ww 1 .microchip .com/ downloads/en/DeviceDoc/20 005853A.pdf. [Poskus dostopa 9 8 2018]. [7] „Autodesk EAGLE," [Elektronski]. Available: https://www.autodesk.com/products/eagle/overview. [8] A. devices, „LTspice," [Elektronski]. Available: http://www.analog.com/en/design-center/design-tools-and-calculators.html. [9] MICROCHIP, „MICROCHIP MPLAB Mindi," [Elektronski]. Available: http://www.microchip.com/mplab/mplab-mindi. [10] S. P. Design, „Saturn PCB Design," 2017. [Elektronski]. Available: https://www.saturnpcb.com/#page=page-1. [11] K. Kundert, "The Designer's Guide," january 2004. [Online]. Available: http://www.designers-guide.org/Design/bypassing.pdf. [Accessed 9 may 2018]. 28 Telekomunikacije Telecommunications Celovit sistem za upravljanje voznega parka v potniškem prometu Dalibor Igrec, Amor Chowdhury, Gregor Felzer MARGENTO R&D d.o.o., Gosposvetska cesta 84, 2000 Maribor, Slovenija E-pošta: dalibor. igrec@margento. com A comprehensive fleet management system for passenger transport Abstract. In order to increase or at least sustain the quality of live for citizens and visitors, improving management capabilities of the services is a necessary task of everyone involved in urban planning. With the rising city population and urbanization smart managing of city services becomes more and more important. Public transit, as one of the most important city services, stands to gain the most from the introduction of the smart management system. This article presents solution called comprehensive fleet management system for passenger transport. Featured example is based on management of bus transit services. Presented solution is comprised of mobile units, installed in bus vehicles and platform acting as central back-office processing system. Key tasks of the platform are managing communication with mobile units and performing data processing. Platform also contains web applications and interfaces for operational management, communicating with drivers and supporting services as well as interfaces for third party integration, such as time schedules, mobile planners etc. 1 Uvod Upravljanje voznega parka brez informacijskega sistema je v današnjem času nepredstavljivo. Takšni sistemi za upravljanje voznega parka omogočajo sledenje vozil in voznikov, beleženje voženj in delovnega časa voznika, prikaz podatkov o trenutni lokaciji in preteklih vožnjah na zemljevidu, omogočajo enostavno komunikacijo med vozniki in upravljavcem voznega parka, navigacijo voznika, beleženje dogodkov in telemetrije vozila ter optimizacijo voženj, stroškov goriva in ostalih stroškov voznega parka. Sistemi za upravljanje voznega parka v potniškem prometu poleg navedenih funkcionalnosti vključujejo še nekaj dodatnih. Mednje spada urejanje postaj in linij, urejanje urnikov voženj s časi pričetka linije in časi prihodov na postaje, sledenje avtobusnih vozil na liniji, beleženje voženj po urnikih z ugotavljanjem razlik med urnikom in dejanskim prihodom na postajo ter izračunavanje predvidenega časa prihoda na naslednjo postajo s pomočjo analize podatkov preteklih voženj. Takšen sistem vključuje dodatne senzorje za nadzor avtobusnega vozila, senzorje za nadzor števila potnikov ter dodatne sisteme za obveščanje potnikov, kot so mobilne in spletne aplikacije, informacijske table ter avtomatske in/ali ročne plačilne sisteme za obračunavanje prevozov. 2 Komponente sistema Celovit sistem za upravljanje voznega parka v potniškem prometu (slika 1) zajema mobilne enote in zaledni sistem. Mobilne enote se namestijo v avtobusna vozila in preko GPRS mobilnega omrežja komunicirajo z zalednim sistemom, ki je nameščen v ustreznem strežniškem prostoru in dosegljiv preko interneta. □ □ MOBILNE ENOTE OMREŽJE MOBILNEGA OPERATERJA ZALEDNI SISTEM Slika 1: Komponente sistema Za zaščito prenosa podatkov med mobilnimi enotami in zalednim sistemom se uporablja kombinacija zasebni APN in virtualno zasebno omrežje VPN. Zasebni APN predstavlja zaprto mobilno omrežje na relaciji mobilna enota in mobilni operater. Povezava med mobilnim operaterjem in zalednim sistemom poteka preko internetne povezave zaščitene z VPN standardom. Podatki, ki se prenašajo med mobilno enoto in zalednim sistemom, se sestavljajo v sporočila zapisana v JSON formatu. Vsako sporočilo se shrani v čakalno vrsto, za katere prenos v zaledni sistem oz. v mobilno enoto poskrbi komunikacijski vmesnik. Vsako sporočilo vsebuje parametra tip in podtip, ki določata strukturo in vsebino. Na podlagi teh parametrov procesna logika pravilno obdela sporočilo in nanj ustrezno odgovori, v kolikor je to potrebno. Sporočila so lahko tudi binarni podatki, ki se uporabljajo za nadgradnjo programske opreme mobilne enote oz. za prenos drugih strnjenih podatkov. Takšen prenos sporočil omogoča zelo raznolik način komunikacije na visokem programskem nivoju. ERK'2018, Portorož, 13-16 31 3 Mobilna enota 3.3 GPS modul Mobilno enoto [1] sestavljajo mobilni računalnik in ostale komponente združene v ohišje z LCD zaslonom občutljivim na dotik. Ostale komponente zajemajo GPRS vmesnik, GPS vmesnik, pospeškometer, digitalni vhodi in komunikacijski vmesniki (RS232, RS485, USB). LCD zaslon občutljiv na dotik služi za prijavo voznika in vnos podatkov. Omogoča enostavno izbiro menijev za prikaz in delo z različnimi moduli mobilne enote. GPRS vmesnik skrbi za mobilno dvosmerno komunikacijo med mobilno enoto in zalednim sistemom. GPS vmesnik se uporablja za zajemanje trenutne lokacije. Na podlagi lokacije se beležijo prevožene poti, podatek o lokaciji se uporablja za detekcijo avtobusnih postaj, obenem pa se podatek o lokaciji beleži tudi na druge dogodke (npr. podatki senzorjev). Pospeškometer je uporabljen za beleženje pospeškov in pojemkov, ki so vir podatkov za ugotavljanje kvalitete vožnje voznika. PLAČILNI TERMINALI Slika 2: Vse možnosti uporabe digitalnih vhodov in komunikacijskih vmesnikov mobilne enote v avtobusnem vozilu V nadaljevanju sledi prikaz funkcionalnosti glede na posamezne sklope mobilne enote. 3.1 LCD zaslon občutljiv na dotik Predstavlja robustno izvedbo LCD zaslona, preko katerega voznik v času opravljanja dejavnosti izvaja različne naloge: vnaša število vozovnic pri validaciji z mestno kartico, opazuje dejansko stanje glede prihoda na naslednjo avtobusno postajo (v kolikor prehiteva ali zamuja), vnaša manjše okvare posameznih sklopov avtobusa, ki jih zasledi med vožnjo, pošilja vnaprej pripravljena sporočila, prejema sporočila informativne narave, ... 3.2 GPRS modul Omogoča stalno komunikacijsko povezavo s sistemom za upravljanje in s tem prenos podatkov v obe smeri v realnem času. Omogoča zajemanje trenutne lokacije v vsakem trenutku in s tem računanje prevožene razdalje od začetne postaje. 3.4 3-osni pospeškometer Omogoča detekcijo tipa vožnje (pospeške in pojemke), na podlagi katerih se izvaja enostaven prikaz vozniku na zaslonu (zeleno, rumeno in rdeče področje) ter podrobnejša analiza v sistemu za upravljanje. 3.5 ZigBee modul Omogoča komunikacijo z napovedno tablo na avtobusni postaji. Namen te komunikacije je dodatna detekcija približevanja avtobusa k avtobusni postaji in dodatna korekcija prihoda na sami prikazovalni tabli. Domet komunikacije je odvisen od okolice in se lahko giblje do nekaj 100 metrov. 3.6 Digitalni vhodi Na digitalni vhod je prvenstveno priključen kontakt motorja avtobusa. Na podlagi te informacije se sistem mobilne enote odloča, kdaj bo zaključil delovanje in se postavil v stanje nizke porabe oz. se izklopil iz napajanja. Na ostale proste digitalne vhode so priključena posamezna vrata, na podlagi katerega se izvaja detekcija odprtosti posameznih vrat. 3.7 FMS vmesnik FMS vmesnik omogoča varno povezavo na CAN vodilo avtobusa in/ali digitalnega tahografa. Na ta način pridobimo natančne informacije, kot so nivo goriva v rezervoarju, trenutna in povprečna poraba goriva, ekonomičnost vožnje, števec kilometrov ipd. Pri izvedbah z digitalnim tahografom je dodatno omogočeno oddaljeno prenašanje šifriranih DDD tipa tahografskih datotek direktno do sistema za njihovo nadaljnjo obdelavo. 3.8 Serijski vmesniki Posamezni vmesnik se glede na potrebe nastavi na RS232 ali RS485 tip delovanja. V praksi so na serijske vmesnike mobilne enote priključene sledeče enote: - en, dva ali trije terminali za validacijo elektronskih vozovnic (odvisno od izvedbe), - tiskalnik za tiskanje vozovnic v primestnem prometu, - senzor za štetje potnikov (IBIS IRMA protokol), - zunanji ZigBee vmesnik, - sprednja in/ali stranska tabla z oznako linije po kateri avtobus trenutno vozi, - sistem za oglaševanje v avtobusu, - sistem za zvočno napoved naslednje avtobusne postaje. 32 Glavne funkcionalnosti mobilne enote so prijava voznika, ugotavljanje lokacije vozila, beleženje in javljanje teh podatkov v zaledni sistem. Vse glavne in dodatne funkcionalnosti so prikazane na sliki 3. STATUS VOZILA PRIJAVA VOZNIKA STATUS VOZNIKA VNOS NALOGA DETEKCIJA LINIJ □ DETEKCIJA POSTAJ STATUS NA LINIJI VNOS OKVAR SPOROČANJE SOS KLIC STATUS VOZOVNICA TARIFE SPOROČILA PREGLED Slika 4: Prikaz osnovnega menija Slika 5 prikazuje trenutno, prejšnjo in naslednjo postajo na trenutni liniji. Slika 3: Funkcionalnosti mobilne enote Izbira statusa voznika upravljavcu voznega parka pove ali je voznik na liniji ali na poti v garažo. Vnos službe voznika služi pridobivanju podatkov, na podlagi katere mobilna enota s centra pridobi vse podatke o pričetkih linij, dolžini linije, postajah, njihovih lokacijah ter razdaljah med njimi in časih prihoda na posamezno postajo. To vozniku omogoča enostaven nadzor nad opravljenim delom, obenem pa s temi podatki mobilna enota izvaja detekcijo vožnje po liniji in detekcijo avtobusnih postaj. Te podatke mobilna enota sproti pošilja v zaledni sistem, kjer podatki upravljavcu voznega parka služijo za nadzor nad opravljenimi vožnjami v realnem času. Ti podatki se v zalednem sistemu beležijo za nadaljnjo obdelavo, poročila in analizo, obenem pa se nad temi podatkih izvaja napovedni izračun prihoda na naslednje postaje za obveščanje potnikov preko spletnih portalov, mobilnih aplikacij in prikazovalnikov na avtobusnih postajah. Prodaja vozovnic omogoča izbiro števila potnikov, izbiro tarif, beleženje gotovine in drugih plačil. Vnos okvar omogoča enostavno sprotno beleženje morebitnih okvar in opažanj na vozilu. Ti podatki se prenašajo v zaledni sistem v realnem času, kar ustreznim službam omogoča vnaprejšnjo pripravo razporeda popravil in morebitno nabavo rezervnih delov. Sporočanje predstavlja klasično pošiljanje sporočil med upravljavcem voznega parka in vozniki oz. mobilnimi enotami, ki služi za obveščanje o stanju na cestah, iskanju izgubljenih predmetov, menjavi služb, vozil, itd. V nadaljevanju sta prikazana primera dveh zaslonskih slik aplikacije na mobilni enoti. Slika 4 prikazuje voznikov osnovni meni, ki podaja na izbiro 6 podmenijev: Bus, Status, Vozovnica, Tarife, Sporočila in Pregled. Slika 5: Prikaz podmenija Bus 4 Zaledni sistem Oprema, ki sestavlja zaledni sistem [2], zajema strežnike, diskovno polje, sistem za arhiviranje podatkov in mrežno opremo. Oprema je postavljena v visoko razpoložljivo konfiguracijo in je nameščena v ustrezen strežniški prostor, kjer sta zagotovljena varnost in nadzor, zagotovljene so hitre in visoko razpoložljive internetne povezave, visoko razpoložljiv vir električne energije s sistemom za neprekinjeno napajanje ter visoko razpoložljiv sistem hlajenja. Celoten sistem je postavljen v primernem strežniškem virtualnem okolju oz strežniškem oblaku. Strežniki zalednega sistema (slika 6) so postavljeni v več logičnih nivojev med katerimi je zagotovljena varnost na podlagi seznama dostopa in kontrole prometa (ang. access lists, intrusion prevention system). ADMINISTRACIJA ZUNANJI PARTNERJI UPORABNIKI (SPLETNI PORTAL) (SPLETNI VMESNIKI) (SPLETNI PORTAL) UPORABNIKI (MOBILNA APLIKACIJA) SPLETNI NIVO I I I I I I PROCESNI NIVO T KOMUNIKACIJSKI NIVO T PODATKOVNI NIVO Slika 6: Struktura zalednega sistema Podatkovni nivo zajema podatkovno bazo, kamor se beležijo in hranijo vsi podatki potrebni za upravljanje. Prav tako so v njej shranjeni vsi podatki mobilnih enot, ki se arhivirajo za kasnejšo analizo ter izdelavo poročil oz. so potrebni za obdelave v realnem času. Komunikacijski nivo skrbi za povezavo z mobilnimi enotami in prenose sporočil. Procesni nivo zajema sistemske servise za obdelavo sporočil mobilnih enot. 33 Procesni nivo zajema ostalo procesiranje podatkov kot so izdelava poročil, analize, izračun napovedi prihodov na postaje na podlagi preteklih podatkov ter drugo. Komunikacijski in procesni nivo sta dimenzionirana na način, da lahko obdelata večje število sporočil in drugih obdelav hkrati. To omogoča, da je v zaledni sistem lahko povezano večje število mobilnih enot, kjer vse komunicirajo istočasno in v realnem času. Spletni nivo zajema spletne portale za upravljanje ter spletne portale in mobilne aplikacije za obveščanje oz. prikaz urnikov voženj končnim uporabnikom. Ena ključnih komponent spletnega nivoja so tudi spletni vmesniki, ki se uporabljajo za prenos podatkov iz oz. v zunanje sisteme. V zunanje sisteme se prenašajo podatki o prihodih na postaje (prikazovalne table na postajah), trenutno stanje vozil za različne obdelave ter linije, postaje in urniki v druge sisteme, ki se uporabljajo za usmerjanje oz. navigacijo potnikov (npr. Google Transit). Iz zunanjih sistemov se prenašajo podatki o urnikih, seznami voznikov, vozil in drugo. Funkcionalnosti zalednega sistema povzema slika 7. Osnovne funkcionalnosti zalednega sistema so komunikacija z mobilnimi enotami, procesiranje podatkov, ki se generirajo na mobilnih enotah oz. pri uporabnikih ter priprava in obdelava teh podatkov za prikaz rezultatov upravljavcem voznega parka kot tudi končnim uporabnikom. OBVEŠČANJE UPORABNIKOV NAPOVED PRIHODOV IZDELAVA POROČIL PREGLED SENZORJEV SPOROČANJE PRIKAZ PODATKOV NA MAPI PREGLED VOZIL & VOŽENJ ADMINISTRACIJA PROG & URNIKOV ADMINISTRACIJA VOZNIKOV ADMINISTRACIJA VOZIL PROCESIRANJE PODATKOV KOMUNIKACIJA Z VOZNIKI Slika 7: Funkcionalnosti zalednega sistema 5 Spletna aplikacija za upravljanje Spletna aplikacija za upravljanje zajema administracijo vozil, mobilnih enot, voznikov, linij, postaj in urnikov. Te nadalje zajemajo spletne forme, ki omogočajo pregled, urejanje, dodajanje in brisanje podatkov. Pomemben segment za delo upravljavca voznega parka je pregled trenutnega stanja vozil, kjer se preverja javljanje vozil, prijava voznika in njegov status. Iz pregleda trenutnega stanja je možem pregled vozila oz. več vozil na mapi. Za zemljevid se uporablja GoogleMaps storitev, brezplačna OpenStreetMap storitev ali drugi podobni servisi; odvisno od naročnika. Zraven trenutnega stanja vozil je možen pregled poti vozil, ki zajema podatke o vozniku, podatke o času prijave in odjave voznika, čas gibanja in mirovanja vozila, trajanje poti in prevoženi kilometri. Možen je pregled celotne poti enega ali več vozil na mapi. Pregled senzorjev omogoča pregled in podrobno analizo nad podatki, ki se zbirajo preko senzorjev mobilne enote. Sporočanje omogoča pošiljanje sporočil, kjer je možen pregled poslanih in prejetih sporočil ter pregled združenih sporočil posameznega vozila (potek pogovora med vozilom in upravljavcem voznega parka). Pri poslanih sporočilih je na voljo informacija, kdaj je bilo sporočilo prejeto na mobilni enoti in kdaj prebrano s strani voznika. Napoved prihodov zajema algoritem, ki na podlagi povprečnih časov voženj avtobusov med posameznimi postajami na liniji, izračuna predviden čas prihoda na naslednje postaje. Povprečni časi voženj med posameznimi postajami na liniji se izračunavajo na podlagi preteklih podatkov. Upoštevajo se primerni časovni intervali, da se zajamejo prometne konice, delovni dnevi, vikendi, prazniki in različnimi urniki (poletni, zimski, šolski, počitnice, ...). Napovedni časi izboljšajo točnost prihodov avtobusov na posamezne postaje in s tem končnim uporabnikom omogočajo boljše časovno planiranje ter manj čakanja na avtobusni postaji. Napovedni časi in urniki voženj so končnim uporabnikom na voljo preko spletne in mobilne aplikacije, preko spletnih vmesnikov pa se čas prihoda avtobusa za posamezno postajo prikazuje na prikazovalnikih, ki so nameščeni na nadstreške avtobusnih postaj. Pomembna funkcionalnost zalednega sistema je izdelava poročil, ki omogoča izvoz podatkov v različnih formatih za poročanje in nadaljnjo obdelavo ter analizo. 6 Zaključek Ključni cilj modernizacije sistema za upravljanje voznega parka predstavlja razbremenitev spremnega osebja, saj ni več potrebna prodaja in/ali validacija vozovnic, temveč le kontrola potnikov. Modernizacija sistema hkrati predstavlja večji korak dostopnosti in prilagodljivosti sistema za potnika, saj mu ves čas in v realnem času podaja informacije o zamudah in sprotnih spremembah voznega reda. Razvoj v prihodnje zajema širitev funkcionalnosti mobilne enote in zalednega sistema s ciljem poenostavitve nalog in opravil upravljavcev voznega parka ter voznikov, izboljšave načina optimizacije voznega parka in stroškov, kakor tudi izboljšave uporabniške izkušnje upravljavcem in končnim uporabnikom. Razvoj se nadaljuje v smeri izdelave modulov za enostavno razporejanje voznikov in vozil ter širitvijo spletnih vmesnikov za integracijo zalednega sistema naročnika s sistemi drugih ponudnikov. Literatura [1] Mobilna enota - interna dokumentacija, Margento R&D d.o.o., Maribor 2018 [2] Zaledni sistem - interna dokumentacija, Margento R&D d.o.o., Maribor 2018 34 Prenos alarmnih sporočil preko interneta v sistemu Intervencije.net Tomaž Dežman1, Grega Jakus2 1Aldia, d.o.o., informacijske storitve, Pot za Brdom 100, 1000 Ljubljana 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, Ljubljana, Slovenija E-pošta: tomaz.dezman@jaldia.si, grega.jakus@fe.uni-lj.si Transferring alarm messages in Intervencije.net system over internet Abstract. Intervencije.net is a system that activates rescue services, like fire departments or emergency medical service teams. The system currently supports collecting information about an incident from various communication channels, including paging system, telephone network, text messages, and forwarding information to members of intervention teams. It is now necessary to upgrade the system with internet-based message transfer in the event of an automatic incident detection. Required is a definition of a new protocol, based on TCP protocol and upgraded with client identification and authentication mechanisms, data encryption and communication path availability control. Clients are simple IoT devices, collecting data from their environment and forwarding alarms to the server. The server part processes alarm data and, when required, notifies the rescue services. Currently, upgrading of the system is in its testing phase, aimed at discovering errors and troubleshooting as well as establishing, if the system meets the needs of its users. Once the testing phase is concluded, the devices will be introduced into real-world environments. Initially, we plan to install the IntP devices in fire stations and health centres, later however, they will also be offered to individual members of rescue services, so they can stay connected in their flats and houses. 1 Uvod Vpeljava sodobnih informacijsko-komunikacijskih tehnologij na področju zaščite in reševanja pomembno vpliva na učinkovitost reševalnih skupin. S takojšnjim posredovanjem natančnih informacij o nesreči reševalni službi lahko namreč prepolovimo njen odzivni čas, čemur pritrjuje tudi analiza sistema eCall, ki v primeru prometne nesreče samodejno sporoči mesto nesreče pristojnim službam [1]. Poleg tega lahko intervencijo organiziramo učinkoviteje, če imamo informacijo o tem, kdo se je nanjo odzval in kakšno opremo ima na voljo. V Sloveniji imamo zelo dobro razvite in razvejane službe za zaščito in reševanje. Če bi po zgledu sistema eCall vpeljali samodejno obveščanje pristojnih služb tudi v primeru vseh ostalih nesreč v naravnem in urbanem okolju ter v zasebnih prostorih in javnih ustanovah, bi s tem omilili posledice teh nesreč in tako pomembno pripomogli k zaščiti ljudi in njihovega imetja. O aktualnosti problematike priča množica projektov, ki so v teku, izmed katerih se večina osredotoča na vodenje intervencij na nacionalni ravni. Primera sta projekta NEXES [2], ki se ukvarja predvsem z geografskim usmerjanjem klicev v regijske centre za obveščanje (112), in 6InACtion [3], ki je namenjen vzpostavitvi intervencijskega prenosnega omrežja v primeru obsežnih naravnih in drugih nesreč. V Sloveniji sicer od leta 2010 deluje sistem Intervencije.net, ki je za razliko od navedenih sistemov namenjen podpori posameznim (lokalnim) intervencijskim službam. Sistem Intervencije.net je bil razvit z namenom izboljšati obveščanje prostovoljnih gasilcev v primeru intervencije, kmalu po njegovi uvedbi pa se je izkazalo, da je uporaben tudi za druge službe, kot so nujna medicinska pomoč, bolnišnice, zdravstveni domovi, gorska in jamarska reševalna služba, kinološka zveza in druge. V zadnjem času so se v sistem začela vključevati tudi nekatera podjetja, ki imajo organizirane lastne reševalne službe. Danes tako v sistemu Intervencije.net deluje že več kot 930 reševalnih služb z več kot 35 tisoč reševalci. Čeprav je sistem Intervencije.net namenjen predvsem podpori lokalnih intervencijskih skupin, pa omogoča tudi integracijo s sistemi za vodenje intervencij na nacionalni ravni, saj lahko zanje zbira podatke iz lokalnih okolij. Slika 1. Arhitektura sistema Intervencije.net [4] ERK'2018, Portorož, 13-16 35 Na Sliki 1 je prikazana arhitektura sistema Intervencije.net. Jedrni del sistema sestavljajo • podatkovni strežnik, ki shranjuje prejeta in poslana sporočila, podatke o uporabnikih itd., • spletni strežnik; namenjen gostovanju spletnih strani in storitev, • strežnik PBX, ki prestreže klice, jih obdela in posreduje podatkovnemu strežniku, ter • strežnik za komunikacijo z SMS-centri mobilnih operaterjev. Informacije o nesrečah so zbrane preko • spletnih storitev, namenjenih sprejemanju alarmov iz požarnih central in sporočil, ki jih regijski centri za obveščanje sicer pošiljajo pozivnikom članov reševalnih služb, • spleta, z uporabo katerega lahko obveščanje članov sproži končni uporabnik sistema ali pa dispečer preko spletne strani; • klica na predpisano stacionarno telefonsko številko, pri čemer kombinacija kličoče in klicane številke sproži aktivacijo neke enote; • protokola ContactID, ki ga uporabljajo alarmne naprave za javljanje alarmov varnostno-nadzornim centrom; • SMS sporočil. Sistem posreduje informacije o nesreči članom reševalnih enot ali drugim napravam preko SMS-sporočil in elektronske pošte. Obveščeni se lahko odzove na intervencijsko sporočilo s klicem na določeno telefonsko številko. Pregled odzivov je dostopen preko spletne strani, tako da je vodja intervencije seznanjen, kdo se je namerava udeležiti. 2 Nadgradnja sistema Čeprav so Intervencije.net že uveljavljen in preverjeno uporaben sistem, ima ta še vedno nekaj omejitev. Ena izmed njih je zmožnost posredovanja informacij samo o tistih nesrečah, o katerih je nekdo že obvestil center za obveščanje, samodejno obveščanje pa povečini ni mogoče. Poleg tega določene reševalne službe niso vključene v sistem tihega alarmiranja (ne uporabljajo pozivnikov), v takih primerih pa je obveščanje lastnega osebja, ko reševalna služba prejme poziv na intervencijo, pogosto zamudno in nepraktično. Takšno obveščanje je trenutno mogoče s prijavo v spletno aplikacijo in vpisom intervencijskega sporočila ali pošiljanjem SMS-sporočila oziroma klicem s točno določene naprave na določeno številko. Obveščanje bi bilo veliko lažje, če bi obstajala naprava, ki bi ob pritisku na tipko samodejno sprožila obveščanje osebja. Po drugi strani nekatere skupine, na primer gasilci, želijo določeno avtomatizacijo postopkov ob pozivu na intervencijo, kot na primer • obveščanje članov gasilskega društva z opravljenim strokovnim izpitom iz nudenja prve pomoči, ko je zaznana uporaba samodejnega zunanjega defibrilatorja (AED), • odpiranje garažnih vrat gasilskega doma in • obveščanje ljudi v okolici s svetlobnim in zvočnim signalom, da se ti umaknejo gasilcem. Poleg omenjenega mora biti nadgradnja sistema cenovno sprejemljiva, brez dodatnih stroškov, kot je naročnina pri mobilnem operaterju in tako dosegljiva čim širšemu krogu uporabnikov. Za izpolnitev omenjenih zahtev smo se odločili za dopolnitev obstoječega sistema z dvosmernim komunikacijskim kanalom, ki bo temeljil na internetnem omrežju in protokolnem skladu TCP/IP (Slika 2, rdeča črtkana črta). Slika 2. Vhodno-izhodni kanali strežniškega dela sistema V ta namen smo razvili: • avtonomno napravo za (samodejno ali ročno) obveščanje strežnika o alarmnih dogodkih in odziv na strežnikove ukaze (za krmiljenje določene naprave, npr. za odpiranje vrat itd.); • strežnik, ki bo obdeloval podatke z odjemalcev in jih posredoval drugim napravam oziroma uporabnikom sistema Intervencije.net; • komunikacijski protokol za komunikacijo med odjemalci in strežniki. Omenjeni elementi so podrobneje opisani v nadaljevanju. 3 Protokol za prenos alarmnih sporočil Ker zagotavlja zanesljiv prenos, smo protokol za prenos alarmnih sporočil osnovali na transportnem protokolu TCP. Slednjega smo nadgradili z lastnim aplikacijskim protokolom, ki smo ga poimenovali IntP (Intervencije.net Protocol). Protokol IntP nadgrajuje protokol TCP z mehanizmi za • identifikacij o in overj anj e odjemalca, • šifriranje podatkov ter • nadzor razpoložljivosti komunikacijske poti. 36 3.1 Identifikacija in overjanje odjemalca IntP je povezavno naravnan protokol. Vzpostavitev povezave med odjemalcem in strežnikom je namenjena predvsem identifikaciji in overjanju odjemalca. Prvi korak pri identifikaciji in overjanju odjemalca je preverjanje, če je odjemalcev IP-naslov na seznamu dovoljenih naslovov. Če odjemalčevega naslova ni na omenjenemu seznamu, strežnik odjemalca zavrne. Identifikacija in overjanje odjemalca se nadaljujeta po različici postopka izziv in odgovor (ang. CHAP -Challenge and Response Protocol). Po vzpostavitvi povezave TCP, se odjemalec strežniku predstavi s sporočilom CHAP0, strežnik pa mu odgovori z naključnim besedilom v sporočilu CHAP1. Odjemalec nanj odgovori s sporočilom CHAP2 z izvlečkom prejetega besedila, ki ga ustvari z zgostitveno funkcijo SHA-1 z uporabo lastnega ključa. Strežnik prejeti izvleček primerja z lastno izračunanim izvlečkom. Če se izvlečka ujemata, pošlje odjemalcu sporočilo CHAP3 z vsebino 'OK', v nasprotnem primeru pa 'ERR, wrong HASH'. Ko je odjemalec overjen, strežniški protokolni osebek o tem obvesti svoj uporabniški proces. 3.2 Izmenjava uporabniških sporočil in šifriranje podatkov Uspelemu overjanju sledi izmenjava podatkovnih sporočil DATA in ukaznih sporočil COMMAND. Obe vrsti sporočil sta sestavljeni iz • glave, v kateri sta določeni vrsta sporočila (DA|' za DATA in 'CM|' za COMMAND) in njegova zaporedna številka, ter • vsebine, ki lahko vključuje o alarm, meritev ali ukaz za vklop ali izklop izhoda na odjemalcu pri sporočilih DATA in o ukaze za upravljanje strežnika in odjemalca v primeru sporočil COMMAND. Vsebina obeh vrst sporočil je šifrirana s simetričnim šifrirnim postopkom AES (ang. Advanced Encryption Standard), ki je dovolj enostaven tudi za manj zmogljive mikrokrmilnike. Obe vrsti sporočil zahtevata potrjevanje sprejema z uporabo pozitivnih potrditev ACK ali negativnih potrditev NACK. Obe potrditveni sporočili vsebujeta glavo ('AY|' oziroma 'AN|') in zaporedno številko sporočila, na katerega se nanašata. Sporočilo ACK potrjuje, da je sprejemni osebek sporočilo uspešno dešifriral, razbral vsebino, jo obdelal in, na strežniški strani, predal svojemu uporabniškemu procesu. Sporočilo NACK po drugi strani pomeni zavrnitev prejetega sporočila zaradi napake pri enem izmed omenjenih procesov in posredno zahtevo za ponovno pošiljanje sporočila, na katerega se nanaša. 3.3 Nadzor nad komunikacijskim kanalom Ker protokol TCP nima primernega mehanizma za nadzor razpoložljivosti komunikacijske poti, tega v protokolu IntP zagotavljamo s sporočilom HB (ang. HeartBeat, slov. srčni utrip). Sporočilo HB se lahko prenaša od strežnika k odjemalcu ali v nasprotni smeri. Uspešno prejeto sporočilo HB pomeni prehodno pot in v sprejemnem osebku povzroči ponastavitev časovnikov za preverjanje razpoložljivosti komunikacijske poti do svojega partnerja. Sporočilo PING in odgovor PONG uporabljamo za ugotavljanje lastnosti prenosne poti in odzivnosti odjemalca oziroma strežnika. S pomočjo omenjenih sporočil lahko strežnik izračuna hitrost odziva posameznega odjemalca in temu primerno prilagaja časovnike za nadzor komunikacijske poti. 4 Odjemalec Odjemalec je naprava, ki zaznava izredne dogodke v svoji okolici in jih posreduje strežniku v skladu s protokolom IntP. Tipični dogodki, ki jih odjemalec zaznava, so: • pritisk na gumb, • sklenjene vhodne priključne sponke, • izmerjena vrednost na analognem vhodu, • podatki s komunikacijskih vodil (npr. I2C ali UART za komunikacijo z drugimi napravami in senzorji, na primer za zaznavanje temperature). Poleg tega lahko odjemalec alarme in ukaze s strežnika tudi sprejema in nanje reagira. Podatki in ukazi, ki jih odjemalec prejme od strežnika, se lahko posredujejo na odjemalca priključenim napravam preko digitalnih izhodov ali komunikacijskih vodil. Odjemalec je lahko bistveno preprostejši od strežnika, saj ga lahko izdelamo z uporabo cenovno ugodnega mikrokrmilnika (npr. ESP8266, ESP32 ali ATMEGA328) z dodanim omrežni vmesnikom in vhodno-izhodnimi enotami (Slika 3). Tudi odjemalčev uporabniški vmesnik je lahko enostaven, saj mora vključevati le gumbe oziroma priključne sponke za proženje alarmov in LED-diode za prikaz stanja odjemalca. Slika 3. Shema odjemalca IntP Slika 4. Odjemalec IntP 37 Na podlagi predstavljene zasnove smo izdelali odjemalca IntP (Slika 4), ki temelji na modulu WEMOS D1 mini [5]. Ta med drugim vključuje mikrokrmilnik ESP8266 z vgrajenim čipom za povezljivost z Wi-Fi omrežji in komunikacijo po protokolnem skladu TCP/IP, anteno WiFi, napetostni stabilizator, 11 vhodno-izhodnih povezav, analogno-digitalni pretvornik ter povezavo USB. 5 Strežnik IntP strežnik je strežniški proces, ki komunicira z odjemalci: odziva se na njihove zahteve, obdeluje prejete podatke in jih posreduje drugim napravam oziroma komponentam sistema. Zaradi boljše preglednosti in preprostejšega vzdrževanja smo strežniški del izdelali v skladu s tri-nivojsko arhitekturo. Strežniški del tako sestavljajo odjemalska, poslovna in podatkovna plast (Slika 5). Slika 5. Arhitektura strežnika IntP Odjemalska plast predstavlja izvedbo protokola IntP na strežniku. Naloge plasti vključujejo • komunikacijo z odjemalci z uporabo vseh mehanizmov, ki jih predvideva protokol IntP (razdelek 3), • predajo sporočil iz odjemalcev poslovni plasti, • sprejem sporočil s poslovne plasti in njihovo pošiljanje odjemalcem. Poslovna plast je uporabnik protokola IntP, ki izvaja vsebinsko komunikacijo z odjemalci, obenem pa uporablja storitve podatkovne plasti. Naloge poslovne plasti vključujejo • vodenje zbirke aktivnih odjemalcev, • sprejem in potrditev sprejema sporočil z odjemalske plasti ter posredovanje prejetih sporočil podatkovni plasti, • sprejem sporočil iz podatkovne plasti in njihovo posredovanje odjemalski plasti in • odziv na izredne dogodke, kot je na primer neprehodna povezava do nekega odjemalca. Naloga podatkovne plasti je zagotoviti poenostavljen in centraliziran dostop do podatkov, ki so zapisani v relacijski podatkovni zbirki sistema Intervencije.net. Strežnik IntP temelji na Microsoftovih tehnologijah .Net Framework (aplikacijski del) in SQL Server (podatkovni del) in se izvaja kot storitev na operacijskem sistemu Windows. 6 Zaključek Predstavljena nadgradnja sistema Intervencije.net je trenutno v postopku preizkušanja. Prvo fazo preizkusa smo opravili s tremi odjemalci IntP, ki so se povezovali z enim strežnikom. Namen preizkusa v tej fazi je bil predvsem odkrivanje in odpravljanje napak. Trenutno poteka druga faza preizkušanja, namen katere je ugotoviti, če naprave zadoščajo potrebam uporabnikov, zato preizkusi potekajo v gasilskih domovih. V preizkuse je vključenih deset odjemalcev in dva strežnika. Opravljenemu preizkušanju bo sledila vpeljava odjemalcev IntP v stvarna okolja. Najprej načrtujemo nameščanje naprav v gasilskih in zdravstvenih domovih, kasneje pa jih bomo ponudili tudi posameznim članom reševalnih služb za priključitev v njihovih stanovanjih in hišah. Čeprav v okviru dosedanjega preizkušanja nismo odkrili večjih pomanjkljivosti, pa je odjemalce IntP in strežniški del sistema mogoče še izboljšati. Načrtovane so predvsem naslednje izboljšave: • samodejno posodabljanje programske opreme v odjemalcih, kar je predpogoj za njihovo vpeljavo v stvarna okolja, • dodajanje rezervnega komunikacijskega kanala, kot so sporočila SMS, če pride do prekinitve internetne povezave, • izdelava grafičnega uporabniškega vmesnika za lažje upravljanje sistema Intervencije.net, • vgradnja LED-prikazovalnika v napravo IntP namesto statusnih LED-diod, ki bo omogočal dodatne nastavitve naprave, • uporaba zmogljivejšega mikrokrmilnika ESP32, • povečanje števila relejskih izhodov in digitalnih vhodov, • izdelava spletnega vmesnika, s pomočjo katerega bo lahko uporabnik sam upravljal določene nastavitve naprave. Ostale funkcionalnosti bomo dodajali postopoma, glede na potrebe prihodnjih uporabnikov. Literatura [1] ETSC - Europan Transport Safety Council: New Pan-European Emergency Call System, sep. 2013, http://www.roadsafetyobservatory.com [2] NEXES - NEXt generation Emergency Services, http://nexes.eu/ [3] Gen 6, 6 in Action - Smart communications solution in emergency situations, http://www. 6inaction.net/ [4] Aldia, d.o.o.: Predstavitev sistema Intervencije.net., sep. 2015, https://www.intervenciie.net [5] WEMOS Electronics: D1 mini [WEMOS Electronics], https://wiki.wemos.cc/products:d1 :d1 mini 38 Overjanje uporabnikov pametnega doma prek biometričnih značilnosti na pametnih telefonih Miha Marolt, Mark Umberger, Iztok Humar Fakulteta za elektrotehniko, Univerza v Ljubljani iztok.humar@fe.uni-lj.si Smart-home user authentication through biometric parameter on smartphones Abstract. This paper presents possibilities for biometrical authentication methods of users on smartphones. A practical example provides its usage for a smart-home application. We first provide an overview of smart-home functionality with an emphasize of functions allowing entering of a building, due to possible security vulnerabilities, such as unauthorized access. The second part introduces biometrical authentication methods, offered by modern smartphones, such as fingerprint scanner, iris scanner and face recognition. These three methods are compared for a security level, duration of authentication and reliance. A practical example demonstrates the replacement of current username and password login for a smart-home application with a biometrical authentication method based on fingerprint scanning. It has been proven, that fingerprint scanning type of authentication is adequate for this type of smartphone applications, because it allows quick authentication and does not compromise safety level. 1 Uvod Poleg upravljanja in nadzora razsvetljave in temperature pametni domovi danes omogočajo še dodatno funkcionalnost za zagotavljanje varnosti, kot je npr. nadzor kakovosti zraka, zaznavanje izliva vode in uhajanja plina, video nadzor, obveščanje o nenavadnih dogodkih in raznovrstne protivlomne alarme. To narekuje potrebo po centralnem nadzoru nad funkcijami pametnega doma. Sprava je bila možnost dostopa do centralnega nadzora vzpostavljena prek osebnih računalnikov, kasneje pa prek za to posebej prilagojenih zaslonov na dotik oziroma stikalnih panelov, vgrajenih v stavbi. Danes pa so se ob porastu uporabe pametnih mobilnih telefonov uveljavile aplikacije, ki omogočajo nadzor nad funkcijami stavbe. Pogosto med funkcije pametnega doma spada tudi možnost oddaljenega odklepanja in zaklepanja vhodnih vrat s pomočjo magnetne ključavnice. Če že ne zaradi drugih funkcij, pa zaradi možnosti odklepanja vhodnih vrat uporabnika pogosto skrbi, kdo lahko dostopa do centralnega nadzora oziroma kakšna je njegova varnost. Ta mora biti vsaj ekvivalentna varnosti klasičnega pristopa - torej ključavnice in ključa. To pa vzbudi vprašanje učinkovitosti overjanja uporabnika v sistem centralnega nadzora. Do nedavnega je bila najbolj razširjena rešitev z uporabniškim imenom in geslom, danes pa na pametnih telefonih v ospredje vse bolj prihajajo biometrični načini, izmed katerih se je najbolj uveljavilo prepoznavanje prstnega odtisa. Povod za to je izboljšana zanesljivost in hitrost delovanja strojne opreme, ki omogoča biometrične načine overjanja in posledično vse pogostejšo vgradnjo tovrstne strojne opreme v pametne telefone vseh cenovnih razredov. Poleg čitalnika prstnega odtisa v uporabo prodira še prepoznavanje očesne šarenice in prepoznavanje obraza. Biometrični načini overjanja uporabnika so sicer že prisotni v klasičnih stavbah, predvsem v industrijskih objektih in poslovnih stavbah, kjer so bili sestavni del tehničnega varovanja. V zadnjem obdobju pa so se uveljavili tudi v stanovanjskih objektih. Najbolj razširjena oblika je čitalnik prstnega odtisa, vgrajen v vhodna vrata. Vendar pa se ob zavedanju, da na trg končno masovno prodirajo pametni telefoni z že vgrajenim čitalnikom prstnega odtisa, pojavi vprašanje o smiselnosti njegove vgradnje tudi na vhodna vrata stanovanjskega objekta, saj lahko strošek njegove vgradnje celo preseže strošek nakupa pametnega telefona, ki že vsebuje čitalnik prstnega odtisa. S tem pa se tudi oddaljujemo od željene energetske učinkovitosti, saj beležimo prisotnost dveh naprav z isto funkcijo. Tako lahko predvidevamo, da se bo v prihodnosti čitalnik prstnega odtisa z vhodnih vrat umaknil na pametne telefone, tako kot so se v preteklosti stikalni paneli in na dotik občutljivi zasloni za upravljanje s funkcijami pametnega doma s sten umaknili na aplikacije pametnih telefonov oziroma tabličnih računalnikov. Poleg tega pa se čitalnik prstnega odtisa kot način overjanja uporabnika uveljavlja tudi v drugih strokah, ki so morda še bolj občutljive glede varnostnih zahtev. Na tem mestu velja izpostaviti spletno bančništvo in spletne trgovine, pri katerih transakcije že lahko potrjujemo prav s prstnimi odtisom. Nesporno lahko torej ugotavljamo, da se biometrični načini overjanja uveljavljajo tudi na področju pametnih domov, zato v nadaljevanju sledi pregled oblik biometričnih načinov overjanja in ustreznosti implementacije tovrstne tehnologije v aplikacije, ki zagotavljajo centralni nadzor nad stavbo. Kasneje pa demonstriramo implementacijo biometričnega načina overjanja uporabnika prek prstnega odtisa v konkreten primer aplikacije za pametni dom. Na koncu izpostavimo možnosti za nadaljni razvoj oziroma možnosti nadgradnje in oceno zanesljivosti biometričnih načinov overjanja uporabnika pri tovrstnih sistemih. ERK'2018, Portorož, 13-16 39 2 Biometrično overjanje pri telefonih Eno izmed področij, kjer so se biometrični načini overjanja uporabnika v zadnjem obdobju močno uveljavili, je področje pametnih telefonov. Ti namreč omogočajo dostop do najrazličnejših vsebin, izmed katerih so nekatere z varnostnega vidika še posebej občutljive, zato je potreba po varnosti naprave precej visoka. Obenem pa se je potrebno zavedati, da uporabnik odklene svoj telefon tudi več stokrat na dan, zato je ključno, da je identifikacija uporabnika izvedena kar najhitreje. Biometrični načini tako izpolnjujejo obe zahtevi. Za branje prstnega odtisa je mogoče trditi, da se je že popolnoma uveljavilo, saj ima danes že več kot dve tretjini novih telefonov vgrajen čitalec prstnega odtisa. Poleg prstnega odtisa pa se pri najdražjih telefonih kot biometrična načina overjanja uporabnika pojavljata tudi prepoznavanje šarenice in prepoznavanje obraza. 2.1 Pregled načinov biometričnega overjanja Predstavimo biometrične načine overjanja za tiste človeške lastnosti, ki jih pametni telefoni najpogosteje koristijo in na kratko razložimo postopke zajema vzorca izbrane lastnosti. 2.1.1 Prstni odtis Prstni odtis ustvari koža blazinice človeškega prsta. Na svetu do danes še niso našli dveh ljudi, ki bi imela identični prstni odtis, niti pri enojajčnih dvojčkih. Prstni odtis nastane še pred rojstvom in se s staranjem ne spreminja, ampak raste, ne da bi spreminjal svojo obliko. Pri odraslem človeku ostane v svoji velikosti nespremenjen. Tudi v primeru poškodbe kože blazinice, se prstni odtis obnovi v prvotno obliko. Zato se ta človeška lastnost lahko uporablja za dokazovanje istovetnosti osebe in je trenutno ena izmed najzanesljivejših načinov preverjanja identitete oseb. Gledano s fiziološkega vidika je prstni odtis struktura grebenov s porami, ki ležijo neposredno pod kožo na ožilju, grebene pa delijo doline. Prstnega odtisa pa ne določa le oblika, pač pa tudi specifične električne in toplotne značilnosti kože. Za zajem prstnega odtisa tako lahko uporabljamo posamično lastnost prstnega odtisa ali pa kombinacijo večih. Vzorec prstnega odtisa pri postopku overjanja služi kot ključ, s katerim se šifrirajo podatki o uporabniku, preden se shranijo v napravo. Tako shranjene podatke je nemogoče dešifrirati brez vzorca prstnega odtisa. Za zajem prstnega odtisa mora telefon imeti posebej v ta namen prilagojeno strojno opremo - čitalnik prstnega odtisa. Prvi so bili večinoma optični, vendar so jih kmalu nadomestili učinkovitejši kapacitivni. Danes pa je prisoten še tretji tip, ki prstni odtis prepozna s pomočjo ultrazvočnih valov. Optični čitalnik Optični čitalnik je najstarejša strojna oprema za zajemanje in primerjanje prstnih odtisov. Princip delovanja sloni na zajemu digitalne slike, preko za to specializirane digitalne kamere (iz CCD ali CMOS senzorjev, ki na izhodih vračajo napetostne impulze). Poleg tega potrebujemo še vir svetlobe, ki osvetli površino, na katero prislonimo prst in lečo, ki odbite svetlobne žarke usmeri na polje. Optični čitalnik prstnih odtisov je cenovno ugoden, vendar ima nekaj slabosti. V primeru, da je površina, na katero polagamo prst, umazana, to vpliva na zajeto sliko, ki tako odstopa od referenčne in identifikacija je neuspešna. Enako se zgodi, če ima uporabnik poškodovano kožo na blazinici prsta. Druga slabost pa je, da preverja le dvodimenzionalno sliko, kar pomeni, da bi se lahko na primer identificirali tudi s pomočjo dovolj kvalitetne slike prstnega odtisa, natisnjene na papir, kar omogoča dokaj preprosto zlorabo. Optični čitalnik tako ne zagotavlja visoke stopnje zaščite in se zato umika iz uporabe. Kapacitivni čitalnik Danes najpogosteje uporabljen tip čitalnikov prstnih odtisov je kapacitivni čitalnik. Za svoje delovanje uporablja princip kapacitivnosti kondenzatorja. Pod površino, kamor prislonimo prst, se nahaja množica majhnih kondenzatorjev. Z večanjem njihovega števila se izboljšuje ločljivost senzorja, kar povečuje stopnjo varnosti, obenem pa so čitalniki z večjim številom kondenzatorjev dražji, zato so v preteklosti vpeljali drsne čitalnike, ki so za zbiranje informacij potrebovali manj kondenzatorjev, saj uporabnik prsta ni prislonil na površino, pač pa je z njim drsel preko ozkega pasu kondenzatorjev. Kljub sposobnosti hitrega posodabljanja izhodnih vrednosti kondenzatorjev je bil odstotek uspešnih identifikacij dokaj nizek, zato so tovrstne kapacitivne čitalnike umaknili s trga. Kapacitivni čitalnik prstnega odtisa je sicer zelo zanesljiv, stopnja varnosti je visoka. Napake pri delovanju bi se lahko pojavile v območjih z močnimi radiofekvenčnimi motnjami. Ultrazvočni čitalnik Ultrazvočni čitalnik prstnega odtisa pri svojem delovanju posnema medicinsko tehniko. Sliko prstnega odtisa tako generira s pomočjo visokofrekvenčnih zvočnih valov, ki potujejo od oddajnika do kože, kjer se odbijejo nazaj proti sprejemniku. Medtem se beleži čas, ki je potreben za celotno pot valov, kar nam ob že poznani hitrosti valov omogoča izračun razdalje. Za delovanje čitalnika potrebujemo oddajnik visokofrekvenčnih zvočnih valov in sprejemnik. Oddajnik električno energijo pretvarja v zvočne valove, ki se nahajajo v ultrazvočnem območju nad 18 kHz. Sprejemnik pa sprejema signale, ki se od kože odbijajo nazaj in jih ponovno pretvori v električni signal. Za sprejemnik se ne uporablja mikrofon, pač pa tipalo, ki beleži mehanske tresljaje na površini senzorja. Običajno je tipalo narejeno iz piezoelektričnih materialov, ki ustvarjajo napetost, ko nanje pritiska mehanska sila, ki jo povzročajo odbiti ultrazvočni valovi. Iz povedanega lahko zaključimo, da je ultrazvočni senzor najučinkovitejši čitalnik prstnega odtisa. Za razliko od kapacitivnega in optičnega, ki generirata le 2D sliko prstnega odtisa, ultrazvočni generira sliko v treh dimenzijah, kar je mnogo težje zlorabiti. Zato lahko trdimo, da je stopnja varnosti višja kot pri ostalih dveh različicah. Poleg tega na delovanje ultrazvočnega čitalnika ne vpliva umazanija na površini senzorja ali kože. Prav tako senzor deluje ne glede na to, iz 40 kakšnega materiala je narejena njegova zgornja površina (plastika, aluminij, steklo), kar omogoča bolj diskretno umestitev tovrstne strojne opreme v napravo. 2.1.2 Očesna šarenica Očesna šarenica je pigmentiran obroč vezivnožilnega tkiva in mišičnih vlaken, ki se nahaja v sprednjem segmentu očesa. Poleg šarenice so v tem segmentu še zenica, ciliarnik in leča. Naloga šarenice je, da z ustreznim širjenjem in oženjem zenice zagotavlja čim bolj konstanten nivo svetlobe v očesu. Z vidika biometrije je zanimiva zaradi edinstvenosti svojega vzorca in barve. Šarenica se do popolnosti izrazi že v zgodnem otroštvu in ostane nespremenjena skozi celo življenje. Očesna šarenica kot biometrični način overjanja se je sprva uveljavila v farmacevtski industriji, kjer so dostopi do laboratorijev kar najostreje omejeni. Kasneje se je ta način pojavil še na letališčih in nekaterih mejnih kontrolah, v zadnjem času pa se podobna tehnologija pojavlja tudi na pametnih mobilnih telefonih in tabličnih računalnikih. Sam postopek šifriranja je enak kot pri prstnem odtisu, le da se tokrat za ključ šifriranja podatkov o uporabniku (na primer uporabniško ime in geslo) uporablja očesna šarenica in ne prstni odtis, podatki pa se nato v šifrirani obliki shranijo v napravo. Hitrost overjanja uporabnika je s pomočjo šarenice še višja, saj uporabnik le pogleda telefon in postopek overjanja steče. Za zajem slike očesne šarenice mora telefon vsebovati dve namenski komponenti, in sicer sta to kamera, ki uporablja poseben slikovni filter za zajem slik očesne šarenice ob infrardeči svetlobi, ter IR-LED dioda. Obe komponenti sta nameščeni na sprednji strani naprave, saj to napravi omogoča, da v slabih svetlobnih pogojih izkorišča svetlobo, ki jo oddaja zaslon naprave. Zajem slike pod infrardečo svetlobo se izvaja zato, ker se na ta način izničijo vplivi zunanje svetlobe in motečih odsevov. Takšna svetloba ima nizko refleksijo, zato vrača jasne vzorce v vseh pogojih. Seveda mora IR-LED dioda ustrezati nekaterim standardom, da ne pride do poškodbe oči, poleg tega pa ima večina naprav vgrajene posebne senzorje, ki diodo izklopijo, če zaznajo, da je naprava preblizu uporabnikovega očesa. V napravo je mogoče shraniti le en vzorec šarenice, s čimer se nivo varnosti, v primerjavi s čitalnikom prstnih odtisov, kamor je mogoče shraniti več prstnih odtisov, še izboljša. Poleg tega pa je tudi število neuspešnih poizkusov overjanja manjše. 2.1.3 Prepoznavanje obraza Tretji in tudi najnovejši način biometričnega overjanja pri pametnih telefonih pa je prepoznavanje obraza. Tudi v tem primeru se iz slike obraza uporabnika generira simetrični ključ, s katerim se šifrirajo podatki. Zajeta slika se analizira s številnimi algoritmi, ki jih lahko razdelimo na geometrijske in fotometrične. Geometrijski algoritmi obraz primerjajo na osnovi razdalj, velikosti in položaja oči, nosu, ličnic in čeljusti. Fotometrični algoritmi pa sliko pretvarjajo v vrednosti in istovetnost obraza določijo glede na odstopanje vrednosti med sliko v bazi in sliko, zajeto s kamero. Prepoznavanje obraza se izvede še hitreje kot metoda očesne šarenice, vendar pa je na začetku uporabe število zavrnitev dokaj visoko, ker pa je sistem samoučeč, se število zavrnitev v daljšem intervalu uporabe zmanjšuje. Trenutno tovrsten način biometričnega overjanja uporabnika na področju pametnih telefonov uporablja le malo proizvajalcev. 2.2 Primerjava načinov overjanja uporabnika Izpostavljene so bile prednosti in slabosti posameznih biometričnih načinov overjanja uporabnika na pametnih telefonih, na podlagi česar lahko izberemo naši aplikaciji najustreznejšo obliko biometričnega overjanja. V tem trenutku za skoraj enako varni in zanesljivi metodi biometričnega overjanja veljata primerjava prstnega odtisa in primerjava vzorca očesne šarenice. Primerjavo prstnega odtisa lahko sem uvrščamo samo, če je za njegov zajem uporabljen ustrezen čitalnik, torej ultrazvočni ali kapacitivni. Proizvajalec Apple za svojo obliko biometričnega overjanja uporabnika z vzorcem prstnega odtisa, imenovano touch ID, navaja možnost ujemanja vzorca prstnega odtisa dveh uporabnikov 1:50000, medtem ko štirimestna PIN koda ponuja le deset tisoč kombinacij, kar pomeni, da je možnost naključnega poizkušanja 1:10000. S te perspektive je overjanje z vzorcem prstnega odtisa petkrat varnejše, vendar se moramo zavedati, da je prstni odtis možno tudi rekonstruirati. Primerjava očesne šarenice v tem trenutku velja za najvarnejšo, njena rekonstrukcija skoraj ni mogoča. Hitrosti overjanja so vsaj enake kot pri primerjavi vzorca prstnega odtisa, v nekaterih primerih pa celo višje. Zajem vzorca je možen tudi v izredno slabih svetlobnih pogojih, težava nastane le ob direktni sončni svetlobi, saj takrat uporabnik zelo težko odpre oči do te mere, da bi čitalnik lahko zajel vzorec zenice. Edina vidnejša slabost je v tem, da je trenutno na trgu zelo malo naprav z ustrezno strojno opremo, zato se pojavlja vprašanje o smiselnosti implementacije tovrstnega načina biometričnega overjanja uporabnika v aplikacije, vendar se bo število naprav, ki omogočajo tovrstno overjanje v bodoče zagotovo povečalo. Prepoznavanje obraza je hitro in ob ustreznih svetlobnih pogojih (v temi ne deluje) tudi zanesljivo, vendar pa trenutno še ne dosega najvišje stopnje varnosti, kar na nek način priznava tudi edini ponudnik tega načina overjanja uporabnika, Samsung, ki prepoznavanja obraza ni ponudil kot možnost vpisa v svojo aplikacijo Samsung Pay. 3 Praktični del Namen praktičnega dela je nadgraditi konkretno aplikacijo za pametni dom (ENTIAliving), ki je doslej uporabljala zgolj klasičen postopek overjanja (z uporabniškim imenom in geslom) ter skrajšan postopek overjanja (s štirimestnim PIN) z biometričnim načinom overjanja uporabnika pri vpisu v aplikacijo. Najprej predstavimo konkretno implementacijo nadgradje z biometričnim načinom overjanja uporabnika. Nato predstavimo, kako na podlagi nje 41 poteka postopek overjanja oziroma kako si sledijo koraki v primeru prvega vpisa ali nadaljnjih overjanj. Zasnova aplikacije ENTIAliving [4] za operacijski sistem Android temelji na spletni strani, zato je ključen ukaz v programski kodi aplikacije WebView, ki spletno stran prilagaja mobilnemu telefonu. Za obdelavo prstnega odtisa smo uvozili ustrezno knjižnico in spisati dve funkciji v programskem jeziku Java. Prva funkcija omogoča branje in shranjevanje podatkov, ki jih je uporabnik vnesel v prijavni obrazec aplikacije. Druga funkcija shranjene podatke vpiše nazaj v polja uporabniškega imena in gesla. Implementirali smo postopek generiranja simetričnega ključa na podlagi prstnega odtisa, s katerim se šifrirata uporabniško ime in geslo, preden se shranita v napravo. V nadaljevanju iz uporabniškega vidika predstavimo še postopke overjanja pri prvem in nadaljnjih vpisih. Pri postopku prvega vpisa uporabnika v aplikacijo, pogovorno okno od njega zahteva uporabniško ime in geslo, nato pa steče vpis na strežnik. Če sta vpisana uporabniško ime in geslo pravilna, pogovorno okno od uporabnika zahteva še vzorec prstnega odtisa, prebrani avtentikacijski podatki se zašifrirajo s pomočjo simetričnega ključa na podlagi vzorca prstnega odtisa uporabnika in shranijo v napravo. V primeru nadaljnjih vpisov, so podatki že shranjeni v napravi, in sicer v šifrirani obliki. Pogovorno okno od uporabnika najprej zahteva vzorec prstnega odtisa, ki predstavlja simetrični šifrirni ključ. V primeru, da je vzorec prstnega odtisa pravilen, se shranjeni avtentikacijski podatki dešifrirajo in steče postopek overjanja na strežniku; overjanje je uspešno pod pogojem, da so shranjeni avtentikacijski podatki pravilni. Postopek je prikazan na sliki 1. Glede na zgoraj predstavljeni postopek prvega vpisa, napačnih podatkov preko telefona ni mogoče shraniti, saj je uspešno overjanje uporabnika na strežnik pogoj za shrambo podatkov. Lahko pa pride do spremembe avtentikacijskih podatkov npr. zaradi spremembe gesla za pametni dom na osebnem račualniku. Uporabnik Stneinik polrjen 1, vn(K vzofca prstnega od Lisa □ Pametni telefon f 3, podatki o uporabniškem imenu in geslu se pošljejo naslreinik 4. vpis uspeäar, Slika 1. Overjanje uporabnika s podatki predhodno shranjenimi v napravi Vzorec prstnega odtisa, ki se uporablja kot simetrični ključ za šifriranje podatkov, ki jih prebere funkcija, preden se podatki shranijo v napravo, je vezan na telefon. Vzorec je lokalno shranjen na telefonu in se uporablja samo za to, da uporabnik lahko dostopa do svojega gesla in se overi na sistemu Entia. Vzorec prstnega odtisa torej ni neposredno povezan z uporabniškim računom, kar tudi pomeni, da podjetje Entia ne hrani vzorcev prstnih odtisov svojih uporabnikov in tako ne more priti v navzkrižje z zakonom o varstvu osebnih podatkov. 4 Zaključek Število aplikacij, pri katerih je potrebna hitrost in visoka stopnja varnosti pri oveijanju uporabnika, v zadnjem obdobju močno narašča. Biometrični načini overjanja uporabnika zagotavljajo prav to dvoje, zato je razumljivo, da je njihova uporaba vse bolj množična. Trenutno najbolj razširjen način biometričnega overjanja uporabnika je vzorec prstnega odtisa, saj ima največ naprav temu načinu ustrezno strojno opremo, vendar pa se bo v prihodnosti močno uveljavilo prepoznavanje obraza, ki je trenutno še zelo redko v uporabi. Tako kot pri ostalih biometričnih načinih je tudi pri prepoznavanju obraza glavna prednost hitrost in zanesljivost, poleg tega pa še enostavnost uporabe z uporabniškega vidika, saj ni treba polagati prstov na senzorje, pač pa samo pogledamo prednjo stran naprave in postopek overjanja steče. Poleg tega lahko tovrsten način overjanja uporabljamo, ne da bi se uporabniki tega zavedali. Zato se prepoznavanje obraza uveljavlja povsod tam, kjer je prisotno večje število ljudi (navajamo nekaj konkretnih primerov): nakup vozovnice na železniških postajah, plačevanje v restavraciji s hitro hrano, e-bančništvo, razvijajo pa se tudi »pametni ključi« za nadzor nad vozilom. V obstoječem prispevku smo predstavili možnost overjanja na podlagi prstnega odtisa pri aplikaciji za upravljanje pametnega doma ter prikazali pilotsko implementacijo tovrstne rešitve. Ker bo v prihodnje vse več pametnih mobilnih telefonov imelo vgrajeno tudi ustrezno strojno opremo za prepoznavanje obraza in očesne šarenice, je zato smiselno razmišljati tudi o nadgradnji aplikacije v tej smeri. Literatura [1] R. Triggs »How fingerprint scanners work: optical, capacitive, and ultrasonic variants explained« Dosegljivo: http://www.androidauthority. com/how-fin-gerprint-scanners-work-670934/ [Dostopano: 10.8.2017] [2] »Keeping an Eye on Security: The Iris Scanner of the Galaxy Note7« Dosegljivo: https://news.samsung.com-/global/in-depth-look-keeping-an-eye-on-security-the-iris-scanner-of-the-galaxy-note7 [Dostopano 9.9.2017] [3] M. Marolt, Overjanje uporabnikov pametnega doma preko čitalnikov biometričnih značilnosti na pametnih telefonih. Diplomsko delo, 2017, FE [4] ENTIAliving. http://dostop.entia.si [Dostopano 4.6.2018] 42 Bluetooth based sensor networks for wireless EEG monitoring 1 2 3 Tamara Jakovljevic , Tomaz Javornik , Gregor Papa Jožef Stefan International Postgraduate School, Jamova cesta 39, 1000 Ljubljana 2Jožef Stefan Institute, Jamova cesta 39, 1000 Ljubljana E-pošta: tamara.jakovljevic@hotmail. com Abstract—Wireless sensor networking has a crucial role to play in the progressive healthcare industry — the health monitoring systems in particular can gain a lot from this type of technology. The focus of this paper is to discuss the innovative wireless sensor network technology applied to electroencephalogram (EEG) devices alongside the paradigm used for mobile sensor networks in healthcare monitoring. Another focus of this paper is to present the technological challenges and benefits of the application of wireless EEG devices. The foundation of this method is based on the use of EEG sensors that are both miniaturized and wireless. As a result, we are able to perform ambulatory EEG recordings, which opens the door to real-time seizure detection during everyday activities. This in turn leads to a completely new stage in both medicine and research systems in general. 1 Introduction Wireless sensor networks are a technology that is gaining a lot of attention lately. The broad spectrum of these networks of small devices equipped with sensors, microprocessor and wireless communication interfaces is already finding use in military applications, environmental monitoring as well as healthcare [1]. One of the main focuses in this field is the introduction of smart sensor nodes. These small, low-cost and low-power devices are the product of MEMS (micro-electrical-mechanical systems) technology, combined with electric components and wireless communication. They are capable of performing various tasks related to sensoring, data processing and wireless communication [2]. When put together, these devices can make up a well-developed platform that enables many uses in terms of security systems, health monitoring, detection of aerial and hydro chemical agents etc. Medical monitoring as well as data access - are the benefits of the wireless sensor network. With it, one can determine any emergency conditions of patients. All one has to apply transducers embedded in clothing [3] or a network of body sensors [4]. Electroencephalography (EEG) is a very precise and insightful method to measure brain activity and function when exposed to certain factors. And since it is non-invasive, it is used today to diagnose and treat certain clinical disorders which can cause and present themselves as abnormalities in EEG readings. The most basic examples include epilepsy and encephalopathy, but it can be used to diagnose other neurological diseases [5]. The communication in sensor networks can be applied using various technologies such as infrared, UWB, Bluetooth, WiFi or even any legacy short range RF technology. 2 Bluetooth based sensor network Bluetooth found quite the application in mobile devices such as mobile phones, laptops, cameras PDAs etc. So, the original idea to remove the need for cables was resolved with the introduction of low-cost, short-range wireless technology that not only has a small footprint but also minimal power consumption, making it perfect for mobile devices. The concept has since spread and developed from point-to-point to becoming a network technology. Sensor network related Bluetooth operates in the 2.4 GHz frequency band and uses frequency hopping spread spectrum technique. There are 79 channels, each 1MHz wide, available for hopping [6]. Due to the low energy consumption and ease of use Bluetooth Low Energy (BLE) is a communication technology developed for low power consumption and low cost applications. The BLE technology is used in various devices, ranging from health care, fitness, home automation, toys, transportation and industry. Because of its low power consumption design, it is especially suitable for coin cell battery communication devices like wireless sensors [7]. In order to be able to communicate with other devices, a Bluetooth device has to be member of a piconet. A piconet represents a combination of 8 devices that hop together on the same frequency. Out of those 8 connected devices, one is the master device, whereas the remaining 7 are so-called slave devices. To establish a piconet, the device has to discover other Bluetooth devices in range using the Inquiry option (on other devices performing at the same time). Once they've found one another, the Inquiry option makes sure that both devices are on the same frequency at the same time. Once it comes to that, the Bluetooth address and the clock of the master device are exchanged in order to establish a working connection. If it happens that more than 7 devices try to communicate with each other, there is one of the ways to make this happen. The first option relies on the so-called Park mode of the device (disassociates from the piconet, but still maintains timing synchronization with it). Sniff, Hold and Park -these are the 3 low-power modes defined by Bluetooth. The second option is called Scatternet - a network of several piconets, where devices can connect to multiple ERK'2018, Portorož, 43-46 43 piconets [8]. These devices can either be slaves in all piconets or master in one and slave in others [9]. Data from distant nodes cannot be transferred using a direct connection, the basis of multi-hop communication mechanism, according to [7] there is ability of each node to temporary assume the master role and to acquire the data from not already processed nodes, and relay acquired data to its master node along with its sensor Fig. 1. Scatternet The main aim of Bluetooth is the wireless communication between different devices that leads unification and harmony. 3 EEG signal transmission EEG was developed in 1875 and marks the electric activity of various parts of the brain with the use of electrodes placed on the head. In addition, discoveries were made for measuring the magnetic field of the heart and brain, also known as magnetocardiography (MCG) and magnetoencephalography (MEG). 3.1 Mechanism EEG is based on electrophysiological monitoring of electrical activity of the brain. It is graphic display of a difference in voltages from two sites of brain function recorded over time. The brain's electrical charge is maintained by billions of neurons. The synaptic potentials are the most important source of the extracellular current flow that produces potentials in the EEG. Most routine EEGs recorded at the surface of the scalp represent pooled electrical activity generated by large numbers of neurons [10]. 3.2 Measurements Measurements are conducted by setting up a system of electrodes on the skin surface of the head with previous preparations by adding electrode gel that is used for acceleration of electrode contact with the skin. The distance between the electrodes is very important because it directly influences the sensitivity of the measurement - closer electrodes provide more accurate results [11]. 3.3 Information process Electroencephalography is the simple method of recording and measuring electrical activity of the brain. The analysis of EEG signal plays very important parts for detecting and predicting various brain diseases. The EEG signals are first amplified, filtered and then converted to digital output. This will be used by digital system to record the information. After the signal is recorded, next phase of measurement is to differentiate the signals by using mathematical models that classifies the signals from different parts of the brain and to use that data for a specific research. 4 WSN AND EEG MONITORING In order to monitor both the physical and physiological condition of patients, one can find various sensors, upgraded with medical equipment, installed at homes, in clinics and hospitals [12,13,14]. Previous user interfaces were isolated from these medical sensors. However, with the introduction of wireless short-range connections (such as Bluetooth and Zigbee) to close-vicinity PDAs, Smartphones or PCs, these obstacles have been overcome. The embedded platform that present technology offers combines data processing, storing, sensing and computing into one integrated unit. According to IEEE, Wireless personal area networks (WPANs) are used to convey information over short distances among a private, intimate group of participant devices. IEEE 802.15.1 also defines a Bluetooth as used WPAN technology. While many sensors connect to controllers and processing stations directly (e.g., using local area networks), an increasing number of sensors communicate the collected data wirelessly to a centralized processing station. Therefore, a wireless sensor has not only a sensing component, but also onboard processing, communication, and storage capabilities. When many sensors cooperatively monitor large physical environments, they form a wireless sensor network (WSN) [15]. The term Wireless Body Sensor Network (WBSN) it is also common in use. WBSN can be defined as a self-directed, self-sufficient and self-governing i.e. autonomous system which is used to monitor the daily life activities of a person [16] [17]. The EEG monitoring wireless system is comprised of multiple brain electrodes that have the capability to conduct and carry electrical signals to and from the brain. 4.1 Case Study Mbrain Train is a Belgrade-based start-up company which developed SMARTING - a small, simple and mobile EEG device. The appeal of this EEG device is found in the real-time brain activity monitoring and high-quality recordings in real life conditions. SMARTING offers superior data quality and high time-precision, no matter if paired with a smartphone or PC. SMARTING can be used for cognitive group studies because it supports synchronization with other sensors and simultaneous multi-amplifier streaming via labstreaming layer. The advantages of this device are: Lighter than 60g; Sampling 250-500Hz; Recording cap have 24ch; Bluetooth range 10m; Up to 5 hours recordings. 44 We analyze two studies in which the SMARTING system was used: 1. EEG Recording and Online Signal Processing on Android: A Multiapp Framework for Brain-Computer Interfaces on Smartphone [18]. 2. Cortical Sensitivity to Guitar Note Patterns: EEG Entrainment to Repetition and Key [19]. 1) Android-based processing In the first one, authors wanted to present a fully smartphone-operated, modular closed-loop Brain Computer Interface (BCI) system that can be combined with different EEG amplifiers and can easily implement other paradigms. The combination of unobtrusive EEG sensors [20], wireless EEG amplifiers, and smartphone-based signal acquisition and stimulus presentations (which we call transparent EEG [21]) opens up a plethora of possibilities for research, diagnostics, and therapy. The focus on smartphone-operated wearable devices for healthcare [22] allows for home-based applications with a high usability [23]. In previous studies, they have demonstrated the feasibility of Android smartphone-based EEG recordings [24, 25] as well as stimulus presentation on the phone or on a tablet [26]. However, while the signal quality achieved on handheld devices may be comparable to previous desktop computer-recorded EEG signals, all signal processing and classification routines were applied offline on desktop computers, after signal acquisition was concluded. More specifically, the SMARTING Android application was used for EEG acquisition and storage [27]. The Smarting Android application receives EEG data via Bluetooth from a small, wireless head-mounted 24-channel EEG amplifier and streams signals continuously over the local network via the Labstreaming Layer (LSL) [28]. There is an option to correct the transmission delays on the receiving device with the help of the time-stamped EEG samples on the amplifier before they are sent via Bluetooth. 2) Cortical sensitivity to guitar The second research focused on demonstrating the brain's ability to process a series of repeated complex acoustic patterns to showcase the cause for the appreciation of music. The way the study was conducted by using a series of guitar notes presented with a musical pattern or without a pattern, during which the cortical responses were measured. While using a 24-electrode Bluetooth mobile EEG system (Smarting mBrainTrain), the ERP (Event-related potential) responses of 13 healthy non-musicians to individual notes were measured. They have used the SMARTING Streamer (the software interface for mBrainTrain's Smarting EEG amplifier) to collect data. The amplifier is connected to the computer with Bluetooth manager BlueSoleil. The primary role of the BlueSoleil is found in the ability to enable the wireless integration of multiple Bluetooth devices such as: mobile phones, headsets, keyboards and mouses - all on one computer screen, and it can tranfer files from and to mobile phones. 5 CONCLUSION The multitude of potential applications for wireless sensor networks is endless and make for interesting research. Bluetooth is a possible choice for data communication in sensor networks. The advantages of Bluetooth can be found in good throughput, low-power, low-cost, standardized specification and hardware availability. When it comes to disadvantage, one has to note slow connection establishment and lack of scatternet support as the more essential ones. Implemented bluetooth platform presents a good environment for further research in field od EEG monitoring. SMARTING team choose Bluetooth technologie for EEG especially because it can support 24 channels - 3 bytes each, which is total 83bytes of data for every 2 ms (which is 41.5kbyte per second, or 332 kbit per sec). This is roughly the upper limit of what it can go through the Bluetooth Serial Port Profile (SPP) protocol. They use Bluetooth because it needs less power than wifi, so the battery is slower. Also, the Bluetooth SPP protocol is more "real time" because there is less delay compared to Wifi. Some manufacturers also use wireless profiles -a radio connection that is not Bluetooth or WiFi, but the problem is that they must then have one more device loaded onto the computer, and this is not standard communication. In that case, they can not communicate with a mobile phone. Since most of the devices work on BLE, and SPP has been much reduced, so it cannot be close to 2 Mbit/sec, but it's about 350kbit. It's possible that it will change in some future bluetooth profiles. With the existing design, it is possible to integrate Bluetooth wireless technology into a deep pool of new products, hence following the trend of connected information appliances. In addition, the introduction of Bluetooth technology has a double benefit - it reduces expenses for wiring and transforms industrial into smart environment. There is some research that presents the solution for replacing cables with a wireless interface in bridgesensor measurement applications. It is also mentioned that medical applications are more oriented towards Bluetooth tehnologies. The main idea of that research was to investigate the possibility of implementing a wireless replacement for a sensor-bridge cable. They were able to prove the concept of an inverted topology. The concept was tested using several receiver/transmitter pairs, and the results were always the same. This confirmed the idea of an inverted topology and validated it for mass production. That solution is currently integrated within a serial production for medical application [29]. Smartphones used as medical devices [30] and as scientific instruments [31, 32] will play a crucial role in the future, the main reason for this being the high usability and the large number of integrated sensors. And even though EEG is still not quite there, it's just a matter of time before it becomes completely mobile and wireless. EEG hardware is available for low cost and, in 45 the near future, it may be sufficiently user-friendly and small enough to be taken out of the lab and into real-life situations. In addition, wearable EEG sensor technology seems within reach. In the future, a stable online EEG solution, requiring little more hardware than already available may support several use cases in the growing field of healthcare. References [1] S. Krco: Bluetooth Based Wireless Sensor Networks -Implementation Issues and Solutions, Applied Research Lab, Ericsson Ireland Invited paper [2] M. Bandyapadhyay: Health monitoring system in Wireless sensor networks, IT, MCKV Institute of Engineering/ MAKAUT, India [3] G. Cho, S.K. Yool: Wearable ECG Monitoring System Using Conductive Fabrics and Active Electrodes, Proceedings of the 13th International Conference on Human-Computer Interaction, 2009, Berlin, Heidelberg [4] A. Darwish , A. E. Hassanien: Wearable and Implantable Wireless Sensor Network Solutions for Healthcare Monitoring, 2012, Sensors 12: 12375-12376. [5] J. Chiang, K. Rabab: Energy-Efficient Data Reduction Techniques for Wireless Seizure Detection Systems, Ward Department of Electrical and Computer Engineering, The University of British Columbia, 2332 Main Mall, Vancouver, BC V6T 1Z4, Canada [6] Bluetooth specification, http://www.bluetooth.com [7] B. Skocir, G. Papa, A. Biasizzo: Multi-hop communication in Bluetooth Low Energy ad-hoc wireless sensor network, Informacije MIDEM, 2018, Vol. 48, No. 2, pages: 85-95 [8] T. Salonidis, P. Bhagwat, L. Tassiulas, R. LaMaire: Distributed Topology Construction of Bluetooth Personal Area Networks [9] N. Johansson, F. Alriksson, U. Jonsson: JUMP Mode - A Dynamic Window-based Scheduling Framework for Bluetooth Scatternets, Proceeding of the Mobicom 2001, Rome, Italy, July 2001 [10] W.O. Tatum, A. M. Husain, S. R. Benbadis: Handbook of EEG Interpretation, Demos Medical Publishing, 2008 [11] K. V. Harpale, K. V. Bairagi: Mathematical Modeling and Data Analysis of Electroencephalographic Signals: A Review. ISSN 2250-2459, 2015, ISO 9001:2008 Certified Journal, Volume 5, Issue 3 [12] P. Yager, T. Edwards, E. Fu, K. Helton, K. Nelson, M. R. Tam, B. H. Weigl: Microfluidic diagnostic technologies for global public health, 2006, Nature, 442(7101):412-8. [13] J. Burrell, T. Brooke, R. Beckwith (2004) Vineyard computing: sensor networks in agricultural production, IEEE Pervasive Computing, vol 03(1), pp 38-45 [14] P. A. Aberg, Tatsuo Togawa, and Francis A. Spelman, editors, 2002, Sensors in Medicine and Healthcare, Wiley-VCH. [15] W. Dargie, C. Poellabauer: Fundamentals of Wireless Sensor Networks: Theory and Practice, 2011, ISBN:9780470997659, John Wiley & Sons, Ltd [16] G. Fortino, S. Galzarano: Programming Wireless Body Sensor Network Applications through Agents, 2015, Department of Electronics, Informatics and Systems (DEIS) University of Calabria (UNICAL), 1-8. [17] B. O. Sadiq, A. E Adedokun, Z.M Abubakar: The Impact of Mobility Model in the Optimal Placement of Sensor Nodes in Wireless Body Sensor Network, Department of Electrical and Computer Engineering, Ahmadu Bello University, Zaria Nigeria [18] S. Blum, S.Debener, R.Emkes, N. Volkening, S. Fudickar, M. G. Bleichner: EEG Recording and Online Signal Processing on Android: A Multiapp Framework for Brain-Computer Interfaces on Smartphone, 2017, BioMed Research International, Article ID 3072870, 12 pages [19] D. Bridwell, E. Leslie, D. Q. McCoy, S.M. Plis, V.D. Calhoun: Cortical Sensitivity to Guitar Note Patterns: EEG Entrainment to Repetition and Key, 2017, Front Hum Neurosci [20] S. Debener, R. Emkes, M. De Vos, M. Bleichner: Unobtrusive ambulatory EEG using a smartphone and flexible printed electrodes around the ear, 2015, Scientific Reports, vol. 5, Article ID 16743 [21] M. G. Bleichner and S. Debener: Concealed, Unobtrusive Ear-Centered EEG Acquisition: cEEGrids for Transparent EEG, 2017, Frontiers in Human Neuroscience, vol. 11, p. 163 [22] C. Gretton and M. Honeyman: The digital revolution: eight technologies that will change health and care , The King's [23]Fund," https://www.kingsfund.org.uk/publications/articles /eight-technologies-will-change-health-and-care. Google Research: "TensorFlow: Large-scale machine learning on heterogeneous systems." pp. 19, 2015. [24] S. Debener, F. Minow, R. Emkes, K. Gandras, M. de Vos: How about taking a low-cost, small, and wireless EEG for a walk?, 2012, Psychophysiology, vol. 49, no. 11, pp. 1617-1621 [25] M. De Vos, S. Debener: Mobile eeg: towards brain activity monitoring during natural action and cognition, 2014, International Journal of Psychophysiology, vol. 91, no. 1, pp. 1-2 [26] B. Griffiths, A. Mazaheri, S. Debener, S. Hanslmayr: Brain oscillations track the formation of episodic memories in the real world, 2016, NeuroImage, vol. 143, pp. 256-266 [27] mBrainTrain | Fully Mobile EEG Devices, https://mbraintrain.com/ [28] Swartz Center for Computational Neuroscience and C. Kothe: Lab Streaming Layer (lsl), https://github.com/sccn/labstreaminglayer. [29] M. Pavlin, F. Novak: A wireless interface for replacing the cables in bridge-sensor applications, Sensors, 2012, Vol. 12, No. 8, pages: 10014-10033 [30] W. H. Frist: Connected health and the rise of the patient-consumer, Health Affairs, 2014, vol. 33, no. 2, pp. 191193 [31] R. Kwok: Personal technology: Phoning in data, 2009, Nature, vol. 458, no. 7241, pp. 959-961, 2009. [32] J. Cartwright: Smarthphone science: researchers are learning how to convert devices into global laboratories, 2016, Nature, vol. 531, pp. 669-671 46 What is a FabVillage? Introducing new concepts to make rural areas smarter Rebeka Skrjanc, Veronika Zavratnik, Andrej Kos, Emilija Stojmenova Duh Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška cesta 25, 1000 Ljubljana, Slovenija rebeka.skrjanc@ltfe.org, veronika.zavratnik@ltfe.org, andrej.kos@fe.uni-lj.si, emilija.stojmenova@fe.uni-lj.si Abstract Fast evolving technology is often at the center of social changes and challenges which communities are tackling in the last decades. In this paper, we are focusing on solutions of smart development in both urban and rural areas. We discuss them in the context of wider european policies, initiatives and examples. In the area of smart rural development we are also introducing a new concept - FabVillages. Keywords: Smart City, Smart Village, FabLab, FabCity, FabVillage Uvod Mesta se ne soočajo z enakimi družbeno-ekonomskimi problemi kot podeželje. Resursi, optimizacija prometa, količina proizvedenih smeti, uvoz, izvoz,... Vse to so problemi, s katerimi se ukvarjajo mestne oblasti. Podeželje ima drugačne probleme, kot so izseljevanje mladih, odrezanost od večjih mest in dostopnost javnih ustanov, ki ponujajo storitve, kot so izobraževanje, oskrba, itd. V nadaljevanju bomo opisali pameten razvoj mest, ki je bil mogoč z uporabo novodobnih digitalnih tehnologij (IKT). Predstavili bomo kako so ustvarjalni laboratoriji (ang. FabLabi) prispevali k razvoju pametnih mest in opisali koncept FabMesta (ang. FabCity), ki ga je zastavila svetovna FabLab mreža. Se posebej želimo izpostaviti pojem in koncept FabVasi (ang. FabVillages), ki smo ga ustvarili v Laboratoriju za telekomunikacije, FE UL, in ga uvajamo tudi v svojih projektih. Pametna mesta in skupnosti Hiter tehnološki razvoj narekuje spremembe, ki drastično preoblikujejo naša življenja. Velik vpliv ima tudi na gospodarstvo, kar je v zadnjih letih pripeljalo do naglega družbenega razvoja. Najbolj je to opazno v urbanih območjih, ki thenološko napredujejo z večjo hitrostjo kot ruralna. V zadnjih letih se je dobro uveljavil pojem Pametna mesta (ang. Smart cities), s katerim opisujemo urbana naselja, ki s pomočjo informacijskih komunikacijskih tehnologij (IKT) skrbijo za boljšo kvaliteto življenja na določenem območju. S pomočjo senzorike in konceptov interneta stvari (ang. IoT) lahko nadzorujejo porabo energije in vode, proizvodnjo smeti, izboljšajo mobilnost, zmanjšajo emisije, itd. [4] Z analizo pridobljenih podatkov lahko dosegajo bolj še rezultate na teh pomembnih področjih. Posledica tega sta učinkovitost in trajnost, ki jo mesta lahko dosegajo z bolj šim načrtovanjem porabe sredstev, ter posledično manjšanjem proizvedenih odpadkov. Na tak način mesta postajajo "pametna", kar pozitivno vpliva na ekonomsko rast, okolje ter zadovoljstvo prebivalstva. [1, 2] Vsako (pametno) mesto je drugačno in se sooča z drugačnimi problemi. Osredotočajo se na področja, ki so ključna za njihov razvoj, zato njihove napredke (med sabo) težko primerjamo. Za vsa mesta pa velja, da bodo napredovala bistveno hitreje, če bodo v proces razvoja vključeni tudi meščani. Na primer, interaktiven prikaz podatkov dostopen javnosti, lahko pripomore k ozaveščenosti prebivalcev in jih motivira, da tudi sami prispevajo k izboljšavam. Pametna mesta se trudijo z meščani navezati tesnejši stik in s pomočjo novodobnih tehnologij vzpostaviti nov komunikacijski kanal. Ta jim omogoča, da prebivalci s predstavniki lokalnih oblasti delijo svoja mnenja glede aktualnih dogodkov v mestu, hkrati pa postanejo del procesa odločanja. Tako lahko župan ves čas spremlja njihovo (ne)zadovoljstvo, meščani pa se tako počutijo bolj vključene. S spremljanjem podatkov pridobljenih s pomočjo senzorjev ter odziva/mnenja meščanov skozi čas, dobimo pregled nad razvojem mesta. Kljub temu, da koncept pametnih mest rešuje veliko problemov, se z vsemi ne more soočiti. Digitalizacija je velik del pametnega razvoja, obstajajo pa tudi druge pomembne komponente, katerim pametna mesta ne namenjajo veliko pozornosti. Kot primer si lahko pogledamo eno večjih pametnih mest na svetu, Rio de Janeiro. S pomočjo sodobne tehnologije uspešno napovedujejo bližajoče se, nevarne vremenske pojave in s tem poskrbijo za hitrejšo ter bolj učinkovito evakuacijo. Na dolgi rok bi ta problem bolje rešili, če bi raziskali zakaj ljudje gradijo na tako nevarnih območjih in kako bi jih lahko preusmerili drugam. [3] Ko govorimo o pametnem razvoju, so urbana območja definitivno v prednosti, pred ruralnimi. Vendar pa se razvoj podeželja v sklopu globalnih iniciativ vedno bolj spodbuja po celem svetu. Kot rezultat tega, se je uveljavil tudi pojem Pametne vasi (ang. Smart villages). Kljub temu, da si na evropski ravni Evropska unija že dolgo prizadeva za razvoj podeželja, se je pri nas o pametnih vaseh eksplicitno začelo govoriti šele leta 2016. Takrat je bila zasnovana Deklaracija Cork 2.0 pod imenom "A Better Life in Rural Areas", v kateri so opisane problematike s katerimi se soočajo prebivalci podeželja. Deklaracija je postala vodilo za nadaljne iniciative za pametne vasi po Evropi. Deklaracija je vodila do zaključka, da bo Evropska unija v podeželja morala vložiti več denarja, da bodo le-ta privlačila vse generacije in da bi izbolj šali ekonomsko rast. Leto kasneje je evropska komisija zagnala iniciativo/akcijo EU Action for Smart Villages. Aprila, leta 2018 je bila na Bledu sprejeta blejska deklaracija, ki se zavzema za pametnejšo prihodnost podeželskih območij EU. V njej so zapisani cilji, ki naj bi jih s pametnim razvojem ERK'2018, Portorož, 13-16 47 dosegli, da bi čim bolj spodbudili tako digitalno, kot družbeno preobrazbo podeželja v EU. [5, 6, 13] Ustvarjalni laboratoriji - FabLabi FabLab (fabrication laboratory) je prostor v katerem lahko kdorkoli, s pomočjo sodobnih orodij, digitalnih tehnologij in mentorjev, razvija svoje ideje. Prvi FabLab je bil ustanovljen v Centru za bite in atome v Tehnološkem inštitutu Massachusetts (MIT). Do danes se je FabLab mreža že močno razširila. Po celem svetu jih je že več kot 1200, najdemo pa jih kar v 78 državah sveta. [8] S širitvijo mreže se želi k inovativnemu in ustvarjalnemu razmišljanju spodbuditi tudi manj razvita območja. Delavnice spodbujajo razvoj lokalne industrije in podjetništva, veliko vlogo pa imajo tudi pri izobraževanju in spodbujanju kreativnosti. FabLab je odprto okolje, v katerem je dobrodošel vsak, ki ima inovativno idejo ali željo po znanju. Starost in predznanje nista pomembna. Gre za prostor, ki spodbuja medsebojno povezovanje, podjetništvo in pridobivanje novih znanj ter izkušenj. Razvijalsko okolje, sodobna oprema in osebe na katere se lahko ustvarjalci obrnejo, nudijo podporo in spodbujajo okoliške prebivalce k inovativnosti ter sodelovanju. Napredna tehnološka oprema, ki jo laboratoriji nudijo, ponavadi zajema 3D tiskalnik, laserske stroje za rezanje in graviranje ter CNC stroje. [7, 11] V Sloveniji smo prvi FabLab dobili v letu 2012. Imenuje se RogLab, nahaja pa se v Ljubljani. Posvečen je dejavnostim s področij arhitekture, oblikovanja in sodobne umetnosti, njihovemu medsebojnemu povezovanju in sodelovanju z drugimi sektorji ter mednarodnemu mreženju. [17] Na Fakulteti za elektrotehniko je bil 2014 ustanovljen MakerLab, ki študentom nudi dostop do orodij in znanj, ki jih potrebujejo za razvijanje svojih inovativnih spretnosti. [18] Že v letu 2017 smo dobili nacionalno referenčno FabLab mrežo, katere pobudnica in koordinatorica je Fakulteta za elektrotehniko Univerze v Ljubljani v sodelovanju z Direktoratom za informacijsko družbo, Ministrstva za javno upravo. Slika 1: FabLab Zemljevid FabLab mreža Slovenije si močno prizadeva za razvoj lokalnega gospodarstva, zato spodbuja nastanek laboratorijev v vseh regijah in širitev mreže tudi na podeželje. Mreža želi tehnologije približali tudi tehnološko manj razvitim, ruralnim območjem in s tem omogočiti, da tamkajšnji prebivalci pridobijo novodobna znanja in kompetence. Kar nekaj ustvarjalnih laboratorijev je bilo zato ustanovljenih na podeželju, vsi pa so nastali na podlagi obstoječih lokalnih iniciativ. [7] FabMesta Model FabMest (ang. FabCity) se je razvil pod okriljem globalne FabLab mreže. Pojem temelji na transformaciji in oblikovanju novih načinov za lokalno proizvodnjo in pametnejšo porabo sredstev. Vizija FabLab mreže je, da bi mesta v prihodnosti postala samozadostna. Da bi to dosegli, morajo najti način, da bi prebivalci znotraj mesta proizvedli vse kar potrebujejo za svoje delovanje in obstoj. To bi lahko dosegli s postavitvijo več FabLab delavnic, ki bi bile usmerjene v lokalno proizvodnjo. Da bi bili pri tem čim bolj učinkoviti, je potrebno premisliti in reorganizirati tudi samo porabo virov, saj želijo, da so ti čim bolj trajni. [9, 10] FabMesta slonijo na modelu "from PITO to DIDO". PITO predstavlja kratico za "Product In, Trash Out". Gre za princip po katerem so mesta delovala do sedaj. Produkte uvažajo, jih uporabijo in pri tem proizvedejo odpadke, ki jih nato izvozijo. V prihodnosti pa naj bi se uveljavil nov princip; DITO-"Data In, Data Out". Nov model mesta tako ne bo več izvažal odpadkov, saj bodo ti sami po sebi predstavljali resurse, ki jih bo mesto ponovno uporabilo. FabMesta bodo temeljila na trajnosti in pametni uporabi virov. [11, 12] Vicente Guallart - arhitekt in vodja FabLab mreže v Barceloni je močen podpornik FabMest. "Pripravljeni smo na samozadostna mesta in na to, da od FabLabov preidemo na FabMesta. Na tej točki, bi morali biti posamezniki in lokalne skupnosti zmožni proizvesti skoraj vse, kar v mestu potrebujejo". [11] V Barceloni si prizadeva, da bi postavili več FabLab delavnic, ki bi bile med seboj oddaljene zgolj en kvadratni kilometer. Tako bi okoliškim prebivalcem omogočili, da se povežejo in postanejo del skupnosti, ki bi stremela k samozadostnosti znotraj lastnega območja. Vicente si je zadal cilj, da bo Barcelona postala samozadostno mesto do leta 2054, k sodelovanju pa je pozval tudi ostala svetovna mesta. Slika 2: Restavracija Leka v Barceloni 48 Lep primer povezovanja ustvarjalnih laboratorijev in mest je restavracija Leka, ki se nahaja v Barceloni. Vsa oprema je bila narejena v njihovem lokalnem FabLabu. Vsi načrti za opremo in recepti, ki jih restavracija uporablja, so dostopni javnosti. Najdemo jih lahko na njihovi spletni strani. FabVasi V Sloveniji na podeželju živi približno polovica prebivalstva. Podeželje pa se tehnološko razvija bistveno bolj počasi, kot mesta. Srečuje se z drugačnimi problemi, zato je razvoj ruralnih območij potrebno zasnovati malo drugače. Velik problem predstavlja pomanjkljiva infrastruktura, ki omejuje možnosti delovnih mest izven kmetijskega sektorja. Posledica je odseljevanje mladih v urbana območja, odraz česar je staranje prebivalstva na podeželju. Ogromno regij v Sloveniji se srečuje tako z demografskimi kot gospodarskimi problemi. V zadnjih letih je bilo na tem področju narejenih kar nekaj v razvoj usmerjenih sprememb; izboljšanje prometnih povezav, izboljšani dostop do širokopasovnih povezav ipd. Pomemben del pametnega razvoja predstavlja digitalizacija. Nanjo se osredotočajo predvsem sodobna mesta, medtem, ko se na podeželju osredotočajo na reševanje drugačnih problemov, kot so razvoj zelenega turizma, ohranjanje mladih na podeželju, ustvarjanje novih delovnih mest ter krepitev podjetniškega potenciala. Kljub temu pa je vidik digitalizacije za pametni razvoj podeželja zelo pomemben. V raziskavah, ki se osredotočajo na razvoj podeželja, smo v Laboratoriju za telekomunikacije, FE UL, opazili veliko že obstoječih lokalnih iniciativ, ki delujejo v smeri lokalnega, krožnega in trajnostnega razvoja gospodarstva. Kot povezavo med temi iniciativami, Fab mesti in pametnimi vasmi, smo začeli uveljavljati koncept FabVasi (ang. FabVillages). Koncept je tesno povezan s FabMesti. Utemeljen je na spodbujanju krožne ekonomije, uporabi lokalnih dobrin in materialov, razvoju lokalnih naravnih/kulturnih/ družbenih virov in gospodarstva. Prav tako stremimo k temu, da bi podeželje postalo čim bolj trajnostno in "prožno". FabVasi slonijo na »grass roots« iniciativah, za katere je značilno, da izvirajo iz potreb ljudstva. Razvoj podeželja se tako začne pri krajanih samih in ne pri zakonodaji ali oblasti. V Sloveniji je prisotnih že kar nekaj iniciativ, ki spodbujajo trajnostno naravnan razvoj podeželja. Omenili smo že FabLab delavnice, ki jih lahko najdemo v vseh regijah Slovenije. Se ena pomembna iniciativa pa so razpršeni hoteli. Gre za inovativno obliko organiziranosti v turizmu, ki se osredotoča na izvajanje namestitvene dejavnosti in poslovnega povezovanja v turističnih kooperativah. [15] Na podeželju je mnogo neizkoriščenega potenciala, ki ga razpršeni hoteli združujejo v celovito turistično ponudbo. Prazni prostori v hišah, dejavnosti ter pridelki so razpršeni po celem kraju. V razpršenem hotelu si namestitveni prostori delijo recepcijo, njihovim gostom pa je na voljo vrsta dejavnosti, ki jih kraj ponuja. Na tak način lahko v turistično obrt vključimo posameznike, ne da bi morali sami ustanoviti svoje podjetje in razviti celo vrsto dejavnosti v ta namen. [14, 16] V Sloveniji je prvi razpršeni hotel začel obratovati v Slovenskih Konjicah. Upravlja ga Kooperativa Konjice, obratovati pa je začel 1.1.2018. Sedež hotela in recepcija se nahajata v Dvorcu Trebnik. V njem so poleg prenočišč tudi konferenčna dvorana, kavarna in restavracija Mali Grof, v kateri za pripravo obrokov uporabljajo lokalne sestavine. Gostom, ki so nastanjeni v hotelu so v tej restavraciji na voljo zajtrki, malice in kosila. Občina delovanje hotela odobrava in spodbuja. Hotel tesno sodeluje s ponudniki ostalih storitev v mestu in regiji. Vso notranjo opremo razen kopalnic jim je oblikovalo podjetje iz Mokronoga, v lokalnem FabLabu (U-Lab) pa so naredil tablice s številkami sob. S srednješolskim centrom sodelujejo tako, da v hotelu nastanijo gostujoče profesorje, sodelujejo pa tudi s smučiščem Rogla. Svojim gostom namreč nudijo ugodnosti na smučišču. Hotel ima 3 zvezdice, približno 80% njegovih gostov pa je tujcev. Slika 3: Ročno narejena tablica za označevanje številke sobe v razpršenem hotelu v Slovenskih Konjicah Nekaj podobnih iniciativ povezanih z razpršenimi hoteli, ki še niso dokončno formalizirane pa najdemo tudi drugod po Sloveniji: v Padni, Robidišču, Blatni Brezovici, na Krasu. Koncept FabVasi, ki ga predlagamo na Fakulteti za elektrotehniko bomo v sklopu različnih projektov tudi poskušali prenesti v prakso, na slovensko podeželje. Bistveno je, da gre za povezovanje iniciativ, ki že obstajajo, kot so na primer razpršeni hoteli in FabLab delavnice. FabLabi se lahko povežejo tudi z ostalimi lokalnimi ponudniki storitev; za restavracije, kavarne in ponudnike storitev lahko izdelajo pohištvo prav tako pa poskrbijo tudi za izboljšanje povezave z internetom. Se eden izmed načinov sodelovanja je oblikovanje spletnih strani ali razvoj tematskih aplikacij. Vse to so načini, na katere se lahko FabLab delavnice še bolj vključijo v lokalna in regionalna okolja in doprinesejo k temu, da se (razvojni)potenciali, ki jih ponuja slovensko podeželje kar najbolje izkoristijo. Zaključek Tehnološki razvoj in digitalizacija sta močno vplivala na razvoj mest in podeželja skozi leta. Pametni razvoj je mestom in urbanim skupnostim omogočil boljši 49 vpogled ter načrtovanje porabe resursov. Mesta so tako postajala pametnejša, kar je imelo dober vpliv na ekonomsko rast, ekološki vidik in na njihove prebivalce. Čeprav digitalizacija predstavlja rešitev mnogih problemov s katerimi se danes soočajo tako mesta kot podeželje, se morajo skupnosti razvijati tudi v drugih smereh. Na podlagi obstoječih primerov, ki so usmerjenih v trajnostni in pametni razvoj podeželja predstavljamo nov koncept Fab Vasi. Koncept, ki je bil primarno uveljavljen v urbanih, gosto poseljenih območjih smo na podlagi obstoječih primerov iz prakse prenesli v ruralna območja. V sklopu projektov, ki jih izvajamo v Laboratoriju za telekomunikacije, FE UL, predlagani koncept tudi prenašamo v prakso. Viri [1] IoT Agenda, https:// internetofthingsagenda.techtargetcom/definition/smart-city [2] European Smart Cities, http://www.smart-cities.eu [3] A. Glasmeier, S. Cristopherson: Thinking about smart cities, 2015, US [4] European Commission, https://ec.europa.eu/info/eu-regional-and-urban-development/topics/cities-and-urban-development/city-initiatives/smart-cities_en [5] EU Action for Smart Villages, https://ec.europa.eu/ agriculture/sites/agriculture/files/rural-development-2014-2020/looking-ahead/rur-dev-small-villages_en.pdf [6] V. Zavratnik, A. Kos, E. Stojmenova Duh: Smart Villages: Comprehensive Review of Initiatives and Practices, 2018, Slovenia [7] FabLab Mreža Slovenija, http://fablab.si [8] Fab Foundation, http://fabfoundation.org/index.php/ what-is-a-fab-lab/index.html [9] Summit, https://summit.fabcity.paris [10] World Economic Forum, https://www.weforum.org/ agenda/2018/03/makerspaces-smart-sustainable-cities-thomas-ermacora/ [11] Waag technology & society, https://waag.org/en/ article/fab-labs-fab-cities [12] Tomas Diez: Personal Fabrication: Fab Labs as Platforms for Citizen-Based Innovation, from Microcontrollers to Cities, 2012, Barcelona [13] Blejska deklaracija, http://pametne-vasi.info/wp-content/uploads/2018/04/Blejska-Deklaracije-Za-za-pametnejšo-prihodnost-podeželskih-obmocij-v-EU.pdf [14] Dovolj za vse, http://dovoljzavse.si/wp-content/ uploads/2017/10/prirocnik_razprseni-hotel-1.pdf [15] Razpršeni hotel Konjice, https://razprsenihotel.si [16] Dovolj za vse, http://dovoljzavse.si/kako-v-sloveniji-vzpostaviti-zadruzni-razprseni-hotel-in-urediti-skupnostni-vrt/ [17] RogLab, http://fablab.si/fablabs/roglab/ [18] MakerLab, http://fablab.si/fablabs/makerlab/ 50 Storitev označevanja nogometne tekme z informacijami o igralcih Danilo Zimšek1, Luka Banfi2 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor E-počta: danilo.zimsek@um.si, luka.banfi@student.um.si Football match annotation service with player information Our paper describes an implementation of a football match annotation service with player information. Use case for the service is discussed with its overall implementation. In this paper the colors of jerseys are analysed and limit color values for process of binarization are determined for 14 jerseys of randomly selected teams. Then the process of localisation and extraction of numbers is described. Special consideration is put on cases with same color of upper and lower part of jerseys. Other problematic frames are discussed, where there is colour similarity between jersey and background. Afterwards the algorithm for number recognition is described. The use of described approach is explained and annotation process described. The results of the process oflocalisa-tion and recognition ofnumbers are also given. In conclusion, future work and possible improvements ofthe process are discussed. 1 Uvod Nogomet je že od nekdaj eden od najbolj popularnih športov predvsem v Evropi in Južni Ameriki, svojo popularnost pa pridobiva tudi v regijah, kjer je slabše poznan. Zanimanje za ta šport skozi zgodovino raste. Zaradi velikega zanimanja je za ponudnike telekomunikacijskih storitev ta šport posebej zanimiv za ponujanje novih storitev ogleda vsebine. Storitvi kot sta označevanje vsebine in skupinski ogled vsebine z videokonferenco lahko omogočita uporabnikom interaktivno spremljanje tekme v mikro socialnem omrezju, kjer lahko uporabniki v izbranem časovnem trenutku določenemu igralcu pridajo izbran custveni simbol in tako na ta nacin izrazijo svoje mnenje o potezi igralca. Takšna storitev, zasnovana na okolju IP televizije, ponudi uporabniku dodatno mozšnost socializacije in je iz tega vidika posebej pomembna za starejsše in invalide, saj jim lahko uporaba tehnologij omogoci izkušnjo, kije blizu izkušnji skupinskega spremljanja nogometne tekme, kije dokaj pogost pojav. Storitev skupinskega spremljanja nogometne tekme je zgrajena iz naslednjih modulov: • storitev video konference; • sistem povabljanja uporabnikov; • storitev označevanja nogometne tekme. Sistem povabljanja uporabniku omogoča, da drugega uporabnika povabi k ogledu nogometne tekme. Drug uporabnik lahko povabilo sprejme ali zavrne. V primeru, da vabilo sprejme vsaj en uporabnik, storitev video konference ob času začetka predvajanja nogometne tekme tvori konferenčno sobo v katero vključi uporabnike, ki so sprejeli vabilo. Video konferenča omogoča, da uporabniki v manjših delih zaslona spremljavo video portrete drugih udeleZenčev in se med seboj pogovarjajo. Hkrati se uporabnikom predvaja obogaten video tok nogometne tekme, ki ga tvori storitev označevanja nogometne tekme. Inte-rakčija z vsebino je omogočena preko razširjene funkčio-nalnosti storitve video konferenče. Eden glavnih gradnikov pri implementačiji zgoraj opisanih storitev je označevanje vsebine z informačijo o trenutno prikazanem igralču. V nadaljevanju bomo opisali pri tem uporabljene pristope. Zaznava in razpoznava igralča nogometne tekme je pogosto obravnavana tematika med postopki označševanja video vsebin za razpršeno oddajo. Pristop v [2] uporabi v pročesu zaznave pri empiričnem določanju mejnih vrednosti za izločšanje dresov igralčev na podlagi barv metodo odvisno od svetlosti, kar povzročši, da se pojavljajo tezšave pri video okvirjih, ki so delno ali v čeloti senčšni. Za zmanjšanje vpliva osvetljenosti na algoritem zaznave dresa igralča, smo uporabili barvni model HSV. Ta se je po testiranju 5 primerov video okvirjev v barvnih prostorih RGB, BGR, HSV in YCbCr izkazal kot najprimernejši, saj smo empirično očenili najboljše ločevanje med dresom in ozadjem okvirja. Poleg odvisnosti od osvetljenosti, se v pročesu zaznave pojavljajo omejitve vezane na podobnost med barvami zastopanimi na sčeni in dresom igralča ter tezave pri popačšitvah predvsem zaradi umazanih dresov. Posebno tezšavo predstavljajo za do sedaj znane algoritme dresi, ki so v čeloti v eni barvi, ki je enaka barvi nogavič. Te situ-ačije so v zadnjem času pogostejše. Naš čilj je z uporabljenim pristopom zmanjšati vpliv naštetih omejitev. V literaturi se za razpoznavo igralča uporabljajo različne kombinačije naslednjih tehnik: razpoznava sštevilke in razpoznava obraza. V nasšem pristopu se omejimo na razpoznavo številke. Omejitev našega pristopa je delovanje na blizšnjih posnetkih, saj lahko le tako zagotovimo dovolj natančšno razpoznavo sštevilk, kar pa ERK'2018, Portorož, 13-16 51 Slika 1: Vhodni video okvir. Slika 3: Pridobljeni objekti izločenega območja video okvirja okvirja. AU = max Un — min Un A V = max Vn — min Vn (2) (3) Slika 2: Binariziran video okvir. je smiselna omejitev, saj se bližnji posnetki navadno pojavljajo po pomembnem dogodku, katerega glavni akter je prikazan igralec. V naslednjem poglavju opišemo postopek lokaliza-cije dresa, način določanja mejnih vrednosti barv za ta namen in zaznavo številke, pri čemer izpostavimo zahtevnejše primere. V tretjem poglavju obravnavamo postopek razpoznave številke pri čemer uporabimo deskriptor in mero sorodnosti z referenčno sliko številke. V četrtem poglavju opišemo označevanje vsebine. V petem predstavimo in komentiramo rezultate zaznave in razpoznave ter v zaključku podamo predloge za nadaljnje delo in moznosti za izboljšave. 2 Lokalizacija dresa Prvi korak v postopku označevanja nogometne tekme z informačijami o igralčih predstavlja lokalizačija dresa, to je določanje pikslov v okvirju, ki pripadajo igralču na igrišču. Predpostavljeno je bilo, da so določene barve povezane z določenimi nogometnimi ekipami. Za pravilno delovanje metode lokalizačije dresa, ta potrebuje podatek o barvnem razponu, ki predstavlja veliko večino barv zastopanih v dresih posamezne ekipe. Razpon vrednosti smo za vsako ekipo doličili eksperimentalno v barvnem prostoru YUV. Pročes vzpostavljanja primernih razponov vrednosti znotraj določenega barvnega modela prikazujejo enačbe 1, 4 in 3. AY = Yn Yn (1) pri čemer je n G {1,..., št.okvirjev} in A označuje uporabljen barvni razpon, n pa indeks analiziranega okvirja. Skupno število analiziranih okvirjev za posamezno barvo dresa je bilo odvisno od razprsšenosti trenutno pridobljenih podatkov. Večja kot je bila razpršenost, več okvirjev smo analizirali. Pročes lokalizačije dresa sestoji iz binarizačije slike, izločanja povezanih komponent in odstranjevanja made-zev. Binarizačijo smo izvedli z uporabo empirično določenih mejnih vrednosti za vsako od komponent barvnega prostora. Slika 1 prikazuje primer vhodne, slika 2 pa primer binarizirane slike. V nadaljevanju znotraj binarizirane poiščemo največje povezano področje bele barve. Izbrano področje uokvirimo in v nadaljevanju pročesiramo samo to območje. Znotraj izločenega področja označimo vsa povezana področja (slika 3). Dobimo predstavitev večih objektov, med katerimi je tudi sštevilka. Opazimo lahko, da so nekateri objekti zelo majhni, zato odstranimo objekte, ki so manjši od 5% čelotne površine izbranega območja. S to omejitvijo izločimo napise imen igralčev na dresih in druge nepravilnosti v video okvirju. Dobljeno prikazuje slika 4. Ker je v nekaterih primerih barva majiče enaka barvi hlač igralča, barvi nogavič ter ozadju (golovi vratniči), dobimo več objektov, iz katerih zelimo izločiti samo številko. Do sedaj znani pristopi[1] za ta namen uporabljajo omejitev glede minimalne širine objekta ali omejitve glede razmerja stra-nič. Minimalna širina objekta v takem zahtevnejšem primeru ni zadosten pogoj, zato uporabimo omejitev glede razmerja stranič. Za večino pisav je razmerje med višino in širino števk med 2 : 1 in 1, 5 : 1, zato smo uporabili ta pogoj. Poleg tega smo dodali pogoj o maksimalni višini objekta glede na višino izločenega območja in o maksimalni površini objekta glede na površino izločenega območja. Višina objekta ne sme presegati dveh tretjin višine območja. Površina objekta pa ne sme presegati ene poloviče izbranega območja. Omejitve so bile določene 52 Slika 4: Problematični objekti video okvirja po odstranitvi majhnih objektov. empirično glede na dobljene objekte 10 naključno izbranih testnih okvirjev. Ce upoštevamo vse naštete pogoje se število napačno izločenih objektov zmanjša na zanemarljivo število, tudi pri tezavnih primerih. Do napačnih zaznav pride v manj kot 5% primerov. 3 Razpoznava številke Eden od pristopov razpoznave števil vključujejo deskrip-torje oblike. Eden od bolj primernih, zlasti zaradi neznane velikosti in usmerjenosti številke, je generični Fou-rieijev deskriptor (angl. Generič Fourier Desčriptor), v nadaljevanju GFD [3]. Deskriptor obliko opiše tako, da se koordinate pikslov, ki pripadajo področju slike z obliko, transformirajo v polarne koordinate in prenesejo v pravokotno kartezijsko sliko. Nad podatki je uporabljena dvodimenzionalna Fou-rierjeva transformačija. Med dobljenima predstavitvama se izračuna Evklidova razdalja, ki predstavlja mero podobnosti med referenčnim objektom in kandidatom. V postopek GFD damo binarno sliko, ki ima en objekt v središču. Deskriptor izračuna stopnjo ujemanja vhodnega objekta z referenčnim objektom. V našem primeru so re-ferenčšni objekti slike sštevk pridobljene iz sštevilk zapisanih v pisavi Arial v krepkem načinu. Algoritem izračuna s pomočjo GFD podobnost za vsak izločen objekt do vseh referenčnih objektov. Najvišjo mero podobnosti primerja z eksperimentalno določeno mejo. Ce je ta višja od em-piričšno določšene meje, gre za ujemanje in objekt na sliki predstavlja obravnavano števko. V tem primeru steče pro-čes označevanja razpoznave na video tok. Eksperimentalno določšanje meje je potekalo na podlagi naključnega izbora dveh vzorčev video okvirjev vsake ekipe. Vzeli smo povprečšno vrednost rezultata GFD iz vsake kategorije, izračunali povprečno vrednost nad njimi in zmanjšali za 20%. Opisan postopek prikazuje enačba 4. ESt. kategorij k=l fk št. kategorij x 0.8 (4) pri čemer m označuje mejno vrednost in fk povprečje mejnih vrednosti video okvirjev posamezne kategorije. 4 Označevanje vsebine Za potrebe opisane storitve je potrebno uporabniku posredovati informacijo o prepoznanem igralcu. Slednje smo izvedli z uporabo informacij iz elektronskega programskega vodiča (ang. electronic program guide) in z dodajanjem delno transparentne vsebine na video sled predvajanega video streama. Pridobivanje informacij iz EPG je izvedeno s skripto, ki pregleda EPG v zapisu XML in na podlagi zapisa naslova vsebine izloci vse nogometne tekme in informacije o ekipah. Na podlagi teh informacij pridobi podatke o sestavi ekipe in preslikavami med imeni igralcev in številko dresa. Ti podatki se uporabijo v procesu oznacevanja video toka. Oznacevanje video vsebine izvedemo z uporabo programske knjiznice ffmpeg [6]. Ta ponuja funkcionalnosti oznacevanja vsebin v realnem casu, kar omogoca prikaz poljubne tudi delno transparentne vsebine na vsakem video okvirju. Po izvedenem oznacevanju se obogatena vsebina struja do uporabniškega klienta. Storitev smo izvedli z uporabo programskega jezika Python in uporabo knjiznic scikit-image, opencv in scipy. Storitev smo poganjali na štiri jedrnem sodobnem procesorju intel. Pri tem je sistem za delovanje uporabljal dve jedri, saj vzporedno teceta dva procesa, za vsako od dveh ekip nogometne takme za isti vhodni video okvir. Ob predpostavki, da ima video tok 25 slicic na sekundo, smo uspeli storitev na navedeni strojni poganjati za vsak deseti video okvir, torej je celoten postopek potreboval manj kot 0.4 sekunde. 5 Rezultati Za evalvacijo opisane metode je bilo najprej potrebno zgraditi bazo. Baza video okvirjev nogometnih tekem sestoji iz 14 kategorij. V vsaki kategoriji je od 10 do 15 video okvirjev iz bliznjih posnetkov z igralci istih ekip. Zgradbo baze in uspešnost uporabljenega pristopa prikazuje tabela 1. Iz dobljenih rezultatov je razvidno, daje omenjen pristop z uporabo barvnega modela YUV in dolocanje mejnih vrednosti za binarizacijo iz izbranega modela uspesš-nejši od pristopa opisanega v [1]. Tak rezultat smo pripisali predvsem dolocanju mejnih vrednosti za vsako ekipo posebej v barvnem prostoru YUV. Ker pa rezultati niso testirani na isti bazi in ker je pridobljena baza relativno majhna, je tezko z gotovostjo trditi, daje to edini faktor, ki vpliva na izboljsšanje. K nepravilnim razpoznavam pa so prispevali predvsem okvirji, pri katerih so igralci z dresi in nogavicami v isti barvi kot ozadje ter okvirji slabe kakovosti. Trenutni pristop je mogoce uporabiti za implementacijo opisanih storitev, a se pri tem pojavlja tezava pri razpoznavi igralcev s številko dresa sestavljeno iz dveh števil. To tezavo rešujemo na nacin, da na podlagi koordinat skrajnih vrednosti mejnega polja števke in njegove oddaljenosti od druge zaznane sštevke dolocšimo, ali m 53 Tabela 1: Uspešnost uporabljenega pristopa po kategorijah video okvirjev. Razred št. okvirjev s števili št. pravilnih razpoznav uspešnost[%] 1. 15 13 87 2. 12 10 83 3. 11 10 91 4. 14 13 93 5. 13 12 92 6. 10 8 80 7. 12 10 83 8. 13 12 92 9. 11 9 82 10. 15 13 87 11. 12 10 83 12. 10 9 90 13. 12 11 92 14. 11 10 91 skupaj 88 Literatura [1] Frejlichowski, Dariusz: Identification of Football Players based on Generic Fourier Descriptor Applied for the Recognition of Numbers, Image Processing & Communications. 2016 [2] Frejlichowski, Dariusz: A Method for Data Extraction from Video Sequences for Automatic Identification of Football Players Based on Their Numbers, Image Analysis and Processing - ICIAP, 356-364, 2011 [3] Dengsheng Zhang, Guojun Lu: Generic Fourier descriptor for shape-based image retrieval, IEEE International Conference on Multimedia and Expo, 425-428, 2002 [4] Yin, Wu, Zheng Ncfm: Accurate handwritten digits recognition using Convolutional Neural Networks, International Joint Conference on Neural Networks (IJCNN), 525531, 2016 [5] Dengsheng Zhang, Guojun Lu: Enhanced Generic Fourier Descriptors for object-based image retrieval, IEEE International Conference on Acoustics, Speech, and Signal Processing, 3668-3671, 2002 [6] Ffmpeg. https://www.ffmpeg.org/. Dostopno 13.07.2018. števki sestavljata število. Ce je njuna medsebojna oddaljenost manjša od polovice širine števke, predvidevamo, da sštevki pripadata istemu sštevilu. 6 Zaključek V sklopu nadaljnjega dela načrtujemo vključitev opisane storitve označevanja vsebin v storitev videokonference. Za dosego tega cilja je potrebno avtomatizirati procese znotraj celotne storitve, ki trenutno potrebujejo za uspešno delovanje vnos informacij s strani cšloveka. Tak je predvsem proces pridobivanja podatkov o igralcih vkljucenih v nogometno tekmo. V nadaljevanju bomo procese pridobivanja poskusšali izvesti na enega od naslednjih nacšinov: • razpoznava imen igralcev in številk dresov iz za-cetnih zaslonov prenosa tekme; • pridobivanje podatkov iz dostopnih aplikacijskih vmesnikov. Nadalje bomo omogocili interaktivno rokovanje z vsebino s strani uporabnika na nacin, da bo uporabnik s funkcijskimi tipkami daljinskega upravljalnika imel moznost dodajanja custvenih simbolov ob casu razpoznave igralca in doloceno casovno obdobje po koncu bliznjega posnetka. Zeleli bi doseci tudi izboljšanje natancnosti razpoznave števil. Za ta namen bi lahko genericni Fourier-jev deskriptor nadomestili z drugim [5] ali bi za ta namen uporabili pristop z nevronskimi mrezami [4]. Celoten postopek je kriticšen predvsem zaradi zahteve po izvajanju tekom predvajanja vsebine, zaradi cesar bomo pred menjavo pristopa preucšili cšasovno zahtevnost posameznih alternativnih deskriptovjev in pristopov z nevronskimi mrezami. 54 Analiza kakovosti načrtovanja digitalnega radijskega omrežja Tomi Mlinar1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Katedra za informacijske in komunikacijske tehnologije, Laboratorij za sevanje in optiko, Tržaška cesta 25, 1000 Ljubljana tomi.mlinar@fe.uni-lj.si Analisis of the Digital Radio Network Planning Abstract. Planning and construction of a radio network is always followed by a process that never ends -optimization. Optimization is a process that eliminates shortcomings of insufficient or wrong input information, the differences between chosen model in planning tools and the actual behavior of the signal on field, not enough detailed digital terrain maps or inaccuracies in them, incorrect decisions of the planner or incorrect installation settings, new elements in capacity or functionality needs during network operation and others. In this article we analyze planning performance of a digital mobile radio network (DMR) [1, 2, 3, 4] that is operating in the frequency range from 146 to 174 MHz. This technology is used also for the Public Protection and Disaster Relief (PPDR) purposes [5, 6]. For the planning of PPDS network, the TAP tool with the Mapper module [7] was used, and field measurements with the Mototrbo Site Survey tool [8] were performed. 2 Načrtovanje Omrežja PPDR so omrežja varnosti in zaščite, zdravstvene pomoči, nadzora in vzdrževanja elektroenergetskih omrežij, avtocest ali drugih, ki služijo varovanju človeških življenj ter nadzoru in vzdrževanju javne infrastrukture. Zanesljivost delovanja takšnega omrežja je izjemnega pomena, zato mora biti tudi načrtovano tako, da je njegova razpoložljivost vsaj 99,99 %, imeti mora dovolj veliko zmogljivost in rezervo, pokrivanje s signalom mora biti skoraj popolno, vzpostavljanje komunikacije mora biti hitro in z majhnimi zakasnitvami. Način izgradnje omrežja PPDR se razlikuje od komercialnega javnega mobilnega omrežja, sploh če je grajeno namensko. Zanj so običajno namenjena javna sredstva, ki jih ni veliko, prav tako ni niti časa niti sredstev za kasnejšo optimizacijo. Zato je zelo pomembno, da so rezultati teoretičnega načrtovanja, izdelanega s programskim orodjem in po katerem gradimo omrežje, čim bliže tistemu, kar bomo dobili v realnosti. 1 Uvod Načrtovanju in izgradnji radijskega omrežja vedno sledi proces, ki se nikoli ne konča - optimizacija. Z optimizacijo skušamo odpraviti izzive, ki se pojavijo zaradi nezadostnih ali slabih vhodnih informacij ob načrtovanju, razlik med modeli v planerskih orodjih in dejanskim obnašanjem signala, ne dovolj podrobnih digitalnih kart terena ali njihovih netočnosti, napačnih odločitev planerja ali napačnih nastavitev ob montaži, spremenjenih potrebah po zmogljivosti ali funkcionalnosti med delovanjem omrežja in drugih. V tem članku analiziramo uspešnost načrtovanja digitalnega mobilnega radijskega omrežja (DMR) [1, 2, 3, 4], ki deluje na frekvenčnem območju od 146 do 174 MHz. To omrežje se uporablja tudi za potrebe javne varnosti, zaščite in reševanja (ang. Public Protection and Disaster Relief - PPDR) [5, 6]. Za potrebe načrtovanja pokrivanja je uporabljeno programsko orodje Terrain Analysis Package (TAP) z modulom Mapper [7], za analizo dejanskega pokrivanja so se izvedle terenske meritve z orodjem Mototrbo Site Survey [8]. 2.1 Izbira modela Za načrtovanje pokrivanja z radijskim signalom se uporablja veliko modelov, ki upoštevajo parametre, kot so klimatske razmere, vrsta in oblika terena, prevodnost in dielektrična konstanta tal in podobno, od katerih so nekateri zajeti v tabeli 1, pogosteje uporabljeni modeli pa so podrobneje opisani v tabeli 2. Tabela 1. Modeli za računanje razširjanja signala nad terenom Model razširjanja Primeren za frekvenčno območje Okumura Hata Longley-Rice Za areonavtiko Model ravne Zemlje Egli,-urbana naselja HCM ITU 370 ITU 567 CEPT 150 MHz - 1,5 GHz 30 MHz - 40 GHz 30 MHz - 30 GHz 30 MHz - 10 GHz 30 MHz - 10 GHz 30 MHz - 2 GHz 30 MHz - 1 GHz 30 MHz - 1 GHz 30 MHz - 250 MHz Tabela 2. Pogosteje uporabljeni modeli razširjanja signala Model razširjanja Opi modela Model Okomura Pri tem modelu se izračuna mediana jakosti polja, ki se potem popravi zaradi vpliva razgibanosti terena, vrste terena (urbano, podeželje,...), nagiba terena, usmerjenosti ulic in podobno ERK'2018, Portorož, 13-16 55 Ta model je najbolj uporaben za računanje v urbanih območjih (osnovni model je bil narejen za Tokio), dodane so korekcije za podeželje in odprt teren. Krivulje v tem modelu so primerne za razdalje od 1 do 100 kilometrov. Model Hata-Davidson Ta model uporablja modificirane empirične formule, dobljene iz družine krivulj Okomura. Izračuni so odvisni od vrste okolja (urbano, veliko mesto, majhno mesto, primestje, podeželje). Ne vsebuje nobenih posebnih korekcij, odvisnih od poti širjenja signala med oddajnikom in sprejemnikom. Longley-Riceov model Poleg osnovnih parametrov, kot so frekvenca, moč oddajnika, podatki o antenskem diagramu iz katerih se izračuna jakost polj v praznem prostoru, se pri tem modelu uporabijo še podatki o klimatskih posebnostih, radijskem horizontu, prevodnosti tal in podobno. To je najpogosteje uporabljen model v frekvenčnem območju od 30 MHz do 30 GHz. Model Eglija Ta model je razvilj John Egli iz izmerjenih vrednosti na skoraj ravnem terenu (povprečna višina ovir do 20 m) do razdalje 80 kilometrov. Za izračun so potrebni le frekvenca, razdalja ter višina oddajne in sprejemne antene. Model ne upošteva podatkov o razgibanosti terena. Preprost model, primeren za izračunavanje na ravnem terenu. Bullingtonov model Pri tem modelu se izračunane vrednosti jakosti polja za prazen prostor popravijo za slabljenje, ki je posledica difrakcije signala na ostri oviri. Ta model se uporablja za izračunavanja linkovskih in drugih mobilnih zvez, predvsem takrat, ko načrtujemo pokrivanje terena iz višinskih točk. Izberemo tistega, ki je najprimernejši za obliko terena in frekvenco, ki jo uporabljamo. Izkustveno je za naše frekvenčno območje (146 MHz - 174 MHz) in vrsto terena (zunanje pokrivanje) najprimernejši model Longley-Rice [9]. Vhodni podatki so: nosilna frekvenca, efektivna izsevana moč (ang. effectife radiated power - ERP), antenski smerni diagram in višina antene nad terenom. 2.2 Izračun Pri izračunu s programskim orodjem Terrain Analysis Package - TAP se upošteva klimatska karta in lastnosti geografskega območja. Pri načrtovanju pokrivanja smo za podlago uporabili digitalni model terena Slovenije, ki ima ločljivost 30 metrov. Orodje računa po izbranem modelu. Izračuni so narejeni za radialno območje 360° okoli lokacije v kotnih razmikih po 0,5° in do razdalje 30 kilometrov. Računa se z zahtevnostjo 90/90, kar statistično pomeni pokritost s signalom 90 % časa na 90 % lokacij ali boljše. To je zelo strog kriterij, ki velja za delovanje kritičnih radijskih zvez, kamor spadajo npr. službe zaščite in reševanja. Pri načrtovanju pokrivanja terena računamo z naslednjimi osnovnimi parametri: - frekvenco (f), - valovno dolžino (A) - močjo oddajnika (Po), - dobitkom antene (Go), - močjo na sprejemniku (PS), - dobitkom sprejemne antene (GS). Po enačbi (1) se izračunava gostota pretoka moči S na razdalji d od oddajnika. S = (PoGJ/^d2) (1) Po enačbi (2) se izračunava sprejeta moč na sprejemniku mobilne postaje. Ps = (P0Go)fX2GS)/(4nd)2 (2) V enačbah (1) in (2) se uporabljajo naslednje enote: frekvenca v Hertzih, valovna dolžina v metrih, moči v vatih in dobitki anten brez enot. Poenostavljena enačba zveze (3) med oddajnikom in sprejemnikom je Ps = Po + Go + Gs - Lo - Ls- Lp (3) Vse enote v enačbi (3) so v decibelih. Parameter L predstavlja izgube na poti med oddajnikom in sprejemnikom. Člen LP je odvisen od prostora skozi katerega se širi signal (konfiguracije in sestave terena, vegetacije, umetnih in naravnih ovir ...). Modeli, ki jih uporabljajo računska orodja, se razlikujejo po tem, kako upoštevajo vpliv prej omenjenih elementov na razširjenje signala. V našem primeru je izhodna moč oddajnika 10 W. Občutljivost bazne in mobilne postaje na priključni sponki sprejemnika je -117 dBm. Pri teh nivojih je pogostnost bitne napake BER (ang. Bit Error Rate) manjša ali enaka 5 %. Mejni vrednosti jakosti polja, s katerima še računamo s kakovostnim sprejemom pa sta za mobilno postajo -106 dBm in za bazno postajo -110 dBm. Na sliki 1 je prikazano pokrivanje terena z lokacije Ravni pod Stolom. Obarvano polje prikazuje jakost signala, ki je boljša od -106 dBm. Za izračun smo izbrali model Longley-Rice z naslednjimi parametri: vertikalna polarizacija, efektivna ukrivljenost Zemlje 1.3333, klimatsko področje 5, relativna dielektričnost tal 15, prevodnost tal 0,005 S/m. Izračuni veljajo za 90 % situacij in 90 % časa. 56 Področje pokrivanja smo računali na radialih dolžine 10 kilometrov od lokacije, ki so si sledili po 0,5 kotne stopinje od azimuta 100 do 290 stopinj. Na vsakem radialu so se izračunavale točke električne poljske jakosti v razmikih po 50 metrov. Tudi po višinah smo nastavili resolucijo na 50 metrov. Na sliki 2 so prikazane podrobne vrednosti polja, temnejša barva pomeni večjo jakost polja. Za bolj pregleden prikaz je bil izbran korak na grafičnem prikazu 5 dB. Slika 1. Območje pokrivanja terena z lokacije Ravni pod Stolom s signalom boljšim od -106 dBm Slika 2. Podrobnejši izračun pokrivanja (dBm) (siva <-80, rumena = -75 svetlo zelena = -70, zelena = -65, temno zelena > -60) 3 Testiranje/meritve Testiranje omrežja se običajno izvaja na različnih segmentih, odvisno od namena. Če bi nas zanimala kompletna analiza signala, bi s spektralnim analizatorjem ali posebnim DMR-merilnikom merili tudi druge parametre po standardih ETSI [1 - 4], na primer: močnostni profil, frekvenčno napako, simbolno napako, napako modulacije, BER, konstelacijski diagram, kanal, barvno kodo in druge parametre. Za potrebe te analize se omejimo le na meritve jakosti sprejetega signala na izbrani trasi, hkrati pa beležimo še geografsko lokacijo s sprejemnikom globalnega sistema za pozicioniranje (ang. Global Positioning System - GPS). Meritve smo izvajali po trasi gorenjske avtoceste, med Radovljico in Hrušico. V merilno vozilo smo namestili zunanjo sprejemno anteno, anteno GPS in mobilno radijsko postajo, ki je služila kot merilni instrument. Na postajo smo priklopili prenosnik z merilno programsko opremo. Vozilo se je premikalo s hitrostjo 60 km/h, vzorčili smo na vsakih 10 sekund (približna razdalja med posameznima točkama je 166 metrov). Višina antene nad terenom (na strehi vozila) je bila približno dva metra. Na celotni trasi med Radovljico in Hrušico je bilo opravljenih 134 meritev. Za vsako točko je bil izmerjen podatek o geografski lokaciji in jakosti polja. Slika 3. Trasa testnih meritev Radovljica-Hrušica (n = 134) Slika 4. Rezultati testnih meritev (dBm) (zelena = -105 do -50, modra > -50) Na sliki 3 je z rdečo prikazana trasa meritev, na sliki 4 pa so podane izmerjene vrednosti jakosti polja na posameznih točkah. Iz slike 4 je razvidno, da je jakost signala na celotni trasi vedno boljša od -80 dBm, blizu oddajnika celo boljša od -50 dBm. 4 Analiza Analizo smo naredili z modulom programskega orodja TAP6. Vsi izračunani in izmerjeni podatki se lahko pretvorijo v format KML in so grafično berljivi v orodju TAP Mapper in aplikaciji Google Zemlja. 57 Izračun pokrivanja v našem primeru je bil narejen z modelom Longley-Rice, ki je imel nastavljene parametre kot je zapisano v poglavju 2.2. Primerjava izračunanih in izmerjenih vrednosti je prikazana na sliki 5 in v grafu 1. Korak v grafičnem prikazu izračunane vrednosti polja je 5 dB (slika 2), prav tako je razločljivost topografskih podatkov 50 metrov. Tako grob raster je bil vzet zaradi sprejemljivo dolgega časa računanja. Bolj fina raster (npr. izračun polja za točko 10 x 10 m in razločljivost topografske karte 10 m) bi bistveno podaljšal čas računanja polj. Primerjava izračunanih in izmerjenih vrednosti v grafu 1 kaže, da smo izbrali pravi model, vendar obstajajo manjša odstopanja, zaradi relativno velikega izbranega koraka v grafičnem prikazu. Slika 5. Odsek meritev (črtkana krivulja) in izračunov (svetlo in temno zelene konture) za primerjavo 80,0«) 20,000 10,000 -- 0,000 - Graf 1. Primerjava izmerjenih (polna črta) in izračunanih (prekinjena črta) vrednosti 5 Sklep V članku smo analizirali, kako se teoretično načrtovano omrežje obnaša v realnosti. Na izbrani trasi smo s testnim terminalom in ustrezno programsko opremo izmerili jakost sprejetega signala. Primerjava izračunane in izmerjene vrednosti (graf 1) kaže, da je za izbrani model (Longley-Rice) odstopanje med vrednostmi sprejemljivo. Za našo situacijo smo izbrali primeren model, v drugačnem okolju pa bi bil verjetno bolj primeren drug model (tabela 2). Podobno bi veljalo za drugo frekvenčno območje (tabela 1). Ko načrtujemo npr. pokrivanje kritičnih odsekov ali področij, kjer smo zaradi geografskih ali umetnih ovir negotovi o kakovosti pokrivanja našega oddajnika, je koristno, da izračunamo poljsko jakost za večje število točk, v grafičnem prikazu pa nastavimo manjši korak (največ 3 dB). Nadaljevanje te analize predvideva izbiro drugih modelov za izračunavanje razširjanja signala nad terenom in primerjavo med njimi. Slovenija je precej razgibana dežela, ki ima hribovito pokrajino, panonsko nižino, morje in srednje velika urbana naselja, kar pomeni, da so za različna območja primerni različni modeli. Sklepamo lahko, da bodo za druge pokrajine primernejši drugi modeli, podobno pa velja tudi za večja mesta. Zahvala Zahvaljujem se gospodu Jožetu Štufleku za nasvete in pomoč pri študiji programskega orodja TAP. Literatura [1] ETSI TS 102 361-1, Electromagnetic compatibility and Radio spectrum Matters (ERM); Digital Mobile Radio (DMR) Systems; Part 1: DMR Air Interface (AI) protocol; [2] Electromagnetic compatibility and Radio spectrum Matters (ERM); Digital Mobile Radio (DMR) Systems; Part 2: DMR voice and generic services and facilities; [3] Electromagnetic compatibility and Radio spectrum Matters (ERM); Digital Mobile Radio (DMR) Systems; Part 3: DMR data protocol; [4] Electromagnetic compatibility and Radio spectrum Matters (ERM); Digital Mobile Radio (DMR) Systems; Part 4: DMR trunking protocol; [5] ECC REPORT 102, Public protection and disaster relief spectrum requirements, Helsinki, 2007; [6] Report ITU-R M.2377-0, Radiocommunication objectives and requirements for Public Protection and Disaster Relief (PPDR), 07/2015; [7] TAP 6,Terrain Analysis Package, Softwirght LLC, USA, www.softwright.com [8] MOTOTRBO Site Survey, ver. 04.03, Motorola Solutions, USA; [9] P. L. Rice, A. G. Longley, K. A. Norton, and A. P. Barsis, "Transmission loss predictions for tropospheric communication circuits," U.S. Government Printing Office, Washington, DC, NBS Tech. Note 101, issued May 1965; revised May 1966 and Jan. 1967; 58 5G v ekstremnih razmerah Tomi Mlinar1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Katedra za informacijske in komunikacijske tehnologije, Laboratorij za sevanje in optiko, Tržaška cesta 25, 1000 Ljubljana tomi.mlinar@fe.uni-lj.si 5G in extreme situations Abstract. The fifth generation of electronic communications (5G) covers much more than high data rates and low delays for modern communications. The complementarity of the 5G-compatible technologies enables the automation, control and modernization of the technologies of various industries that operate in human unfriendly environments This article covers the use of 5G technology in extreme situations, such as unfavorable working conditions (e.g. drilling of tunnels, mine work ...) and in natural and other disasters. Important techniques that enable the operation of mission-critical applications in the 5G network are also described. This article describes some research and pilot projects that gives promising results and are ready for implementation. 1 Uvod Peta generacija elektronskih komunikacij (5G) zajema precej več kot omogočanje visokih mobilnih hitrosti prenosa in majhnih zakasnitev za sodobne komunikacije. Komplementarnost tehnologij, ki se združujejo pod kratico 5G, omogoča tudi avtomatizacijo, krmiljenje in posodobljenje tehnologij različnih gospodarskih panog, ki delujejo v človeku neprijaznih okoljih in razmerah. Ta članek zajema uporabo tehnologije 5G v omenjenih ekstremnih razmerah ter ob naravnih in drugih nesrečah. Povzete so pomembnejše tehnike, ki v omrežju 5G omogočajo delovanje zahtevnih aplikacij. V nadaljevanju so opisane nekatere raziskave in pilotski projekti, ki že dajejo prve rezultate. 2 Ekstremne razmere Ekstremne razmere lahko definiramo na več načinov, gotovo pa so to človeku in napravam neobičajne razmere, ki so lahko prisotne ves čas (npr. delo pod zemljo, pod vodo, v puščavi itd.) ali pa se pojavijo občasno kot posledica naravnih nesreč (kot so neurja, potresi, poplave ...). Po splošni definiciji iz [1] zahteva komunikacija v ekstremnih razmerah hitro vzpostavitev zvez, majhne zakasnitve, visoko razpoložljivost in zanesljivost delovanja, zmožnost nudenja storitev velikemu številu uporabnikov in naprav, visoko stopnjo varnosti in prednostno komunikacijo. 3 3GPP in komunikacije v ekstremnih razmerah Združenje 3GPP [2] je že pred sprejetjem različice 13 standarda 3GPP postavila temelje za komunikacije v ekstremnih razmerah, ko je standardizirala funkciji eMBMS (Enhanced Multimedia Broadcast/Multicast) in GCSE (Group Communication System Enablers), kmalu za tem pa tudi ProSe (Proximity Based Services) za direktno komunikacijo med končnima napravama. V različici 13 standarda 3GPP je bila standardizirana funkcija MCPTT (Mission Critical Push-to-Talk) in kasneje v različici 14 še MCData (podatkovne komunikacije v realnem času) in MCVideo (video komunikacije v realnem času). Splošne komunikacije v ekstremnih razmerah tako zajemajo tri skupine: govorne komunikacije "pritisni-in-govori" (MCPTT, Mission Critical Push-to-Talk), video komunikacije v realnem času (MCVideo) in prenos podatkov v realnem času (MCData). V juniju 2018 je bila zaključena prva faza standardov 5G (3GPP-različica 15), ki zajema naslednje funkcionalnosti za komunikacije v izrednih razmerah: - povezavo med vsemi že določenimi funkcijami v 3GPP za kritične komunikacije, - medsebojno povezljivost med LTE in obstoječimi sistemi javne varnosti, kot sta TETRA in P25, za govorne komunikacije in kratka sporočila, - zahteve za storitve izrednih razmerah, ki se uporabljajo v železniškem prometu, - zahteve za storitve izrednih razmerah, ki se uporabljajo v pomorskem prometu, - vmesnike za uporabo funkcije eMBMS v izrednih razmerah. 4 Pomembni elementi komunikacijskega omrežja v ekstremnih razmerah V ekstremnih razmerah, kjer je varnost ljudi (in infrastrukture) na prvem mestu, mora komunikacijsko omrežje delovati izjemno zanesljivo (brez izpadov) in hitro (majhne zakasnitve) [3]. Glavnina razvoja v omrežjih, ki delujejo tudi v ekstremnih razmerah, poteka na naslednjih segmentih [4]: - zanesljivost radijskega dostopa, - programsko nastavljiva zgradba omrežja, - neposredna komunikacija med napravami (D2D). Skoraj popolno zanesljivost na radijskem dostopovnem delu dosežemo z vpeljavo dodatnih poti istega signala, večkratno hkratno povezljivostjo, ERK'2018, Portorož, 59-62 59 omejevanjem motenj in izboljšanimi mehanizmi za ponovna oddajanja informacije. Z vpeljavo prilagodljive zgradbe radijskih okvirov pa dosežemo zakasnitve reda nekaj milisekund. 4.1 Radijski dostop Merilo za kakovostno zvezo oz. zanesljivost zveze je zadostno razmerje med koristnim signalom in motnjo s šumom (SINR, Signal-to-Interference and Noise Ratio). To razmerje povečamo tako, da povečamo moč signala ali pa znižamo motnje z eno od metod: - mikroskopska raznolikost - več anten omogoča boljše pokrivanje. Tehnika uporabe več anten pri oddaji in sprejemu (MIMO, Multiple Input Multiple Output) omogoča povečanje razmerja SINR. Pri 5G se uporabljala tehnika masovnega MIMO - uporaba matrike nekaj deset anten; - makroskopska raznolikost - lahko jo izvedemo na več načinov: (a) s kombinacijo radijskih dostopovnih tehnologij (npr. 4G in 5G) ali (b) s kombinirano zvezo (sprejem/oddaja) preko več hkratnih celic in baznih postaj. Pri slednji več baznih postaj oddaja iste podatke, ki jih sprejemnik ustrezno združi. Za uporabo v ekstremnih razmerah je še posebno pomembna uporaba načina makroskopske raznolikosti. Pri običajnih predajah zvez med celicami omrežja 4G lahko pride do zakasnitev velikosti 55 milisekund, kar je za kritične komunikacije nesprejemljivo. Motnje se lahko odpravljajo ali na omrežju ali na terminalu. Po pravilu čez palec velja, da če odpravimo motnje, ki jih povzročata dva najmočnejša sosednja motilnika (bazni postaji ali terminala), smo kolikor je mogoče izboljšali razmerje SINR. 4.2 Majhne zakasnitve Stroji (naprave) lahko sprejemajo, analizirajo in izvajajo naloge bistveno hitreje kot ljudje. To je razlog, da komunikacije med napravami zahtevajo zelo majhne zakasnitve (npr. povratne zanke v industrijski avtomatizaciji), ki so običajno manjše od ene milisekunde. Visoka zanesljivost delovanja (BER<10-9) pa je pomembna pri sinhronizaciji. Pri komunikaciji naj bi bila režija čim manjša, da bi se pri prenosu majhnih paketov ohranila spektralna učinkovitost [4]. Upravljanje prometa in premikanje opreme v proizvodnji imata tipične časovne cikle od ene do 10 milisekund. Največje zahteve imajo nekateri regulatorji in senzorji, ki zahtevajo krajši čas od ene milisekunde z odstopanjem manj kot mikrosekunda. 4.3 Daljinsko upravljanje s haptičnim odzivom Daljinsko upravljani roboti in druge naprave nam omogočajo, da varno delamo v okoljih ali s stvarmi, ki so lahko življenjsko nevarne ali drugače škodljive. Na primer bolnišnice lahko organizirajo daljinsko vodene operacije brez fizične prisotnosti enega ali več kirurgov, daljinsko vodena mehanizacija lahko vrta predore ali koplje rudo globoko pod zemljo, roboti opravljajo razminiranje ali gasijo požare. Takšen sistem mora biti izjemno zanesljiv (BER < 10-9), zakasnitev med končnima točkama pa manjša od milisekunde, da imamo pravi občutek - haptični odziv -pri delu z oddaljeno napravo. Danes so na trgu naprave z zasloni na dotik, ki dajejo uporabniku določen povratni odziv. Tudi ob delu na daljavo mora imeti uporabnik podoben občutek -čutiti dotik. Eden od primerov je pametni telefon, ki daje t.i. 3D-občutek pritiska. Na primer, kombinacija haptične interakcije in 360-stopinjskih kamer, ki prenašajo dogajanje v živo preko omrežja 5G v naprave, nameščene na glavi, bo dala izjemno uporabniško izkušnjo - kot je operacija na daljavo z aktivnim sodelovanjem. 4.4 Programsko nastavljiva omrežja Za zanesljivo omrežje z majhnimi zakasnitvami moramo imeti dovolj odporno omrežje z dinamičnim upravljanjem, ki bo pripeljalo vsebino blizu uporabnikom. Ključne izboljšave v zgradbi omrežja je mogoče doseči z deljenjem omrežja na rezine, kar omogoča namenska virtualna mobilna omrežja z določenim naborom omrežnih virov in hkrati zagotavlja dogovorjeno kakovost storitve. Deljenje na rezine je nujno za podporo vertikalnim industrijam. Včasih smo gradili omrežja za določeno rabo, npr. 2G za govorne komunikacije ali 4G za podatkovne komunikacije. Zasnova omrežja 5G pa je takšna, da se lahko prilagodi vsakemu primeru posebej. Znotraj omrežja je lahko več hkratnih navideznih omrežij, ki se med seboj ne motijo in služijo vsako svojemu namenu. Primer soobstoja dveh navideznih omrežij sta npr. eno navidezno omrežje, ki upravlja z avtonomnimi vozili (v omrežju so pomembne majhne zakasnitve) in drugo navidezno omrežje za video prenose kakovosti 4K ali boljše, ki pa zahteva zelo velike prenosne hitrosti. Od programsko nastavljivih omrežij pričakujemo, da se hitro prilagajajo različnim zahtevam. To pomeni, da pot paketov po omrežju ni vnaprej določena s fiksno arhitekturo omrežja in se jo sproti prilagaja, da dobimo ustrezne zakasnitve. Programsko opredeljena omrežja omogočajo v hrbteničnem delu omrežja, zbirnih točkah in zalednih povezavah optimizacijo prometa, pasovne širine in zagotavljanje potrebne procesorske moči na robu omrežja tako, da so zakasnitve najmanjše. Transportni agenti v samoorganiziranih omrežjih zbirajo podatke o zakasnitvah, izgubah, prepustnosti, dolžini čakalne vrste, aktivnih nosilnikih ali aktivnih napravah in te podatke ustrezno uporabijo za krmiljenje programirljivega omrežja. Razpoložljivost omrežnih elementov mora biti visoka. To dosežemo z združevanjem jedrnih elementov in uravnoteženjem obremenitev. S tem zagotovimo delovanje sistema brez prekinitev, tudi če eden ali več jedrnih elementov odpove. Podobno velja, če odpovejo nekatere zaledne povezave - storitve bodo v samostojnem načinu delovanja delovale skoraj neokrnjeno. 60 S pomikanjem prehodov in aplikacijskih strežnikov v bližino radijskega dela (v oblak na mobilnem robu) lahko dodatno zmanjšamo zakasnitve. Tako storitve niso več odvisne od točno določenih povezav med končnima točkama, pač pa se pot za povezljivost oblikuje glede na dejanske potrebe konkretne storitve. S takšnim modelom povezovanja 'vsakega z vsakim', kjer komunicirajo naprave neposredno preko lokalnih strežnikov na ravni radijskega dostopovnega dela, se izognemo prenašanju podatkov do centraliziranih prehodov - dosežemo najkrajše in najboljše poti za usmerjanje prometa. Zakasnitve so najmanjše možne in sistem stabilno deluje. 4.5 Neposredna komunikacija med napravami Pri neposredni komunikaciji med končnima napravama (D2D, Device-to-Device) za prenašanje podatkov (tudi govora) ne uporabljamo vmesne infrastrukture. Ta način komunikacije v omrežjih 5G omogoča veliko zanesljivost delovanja in zelo majhne zakasnitve. Ker za obdelavo podatkov nimamo vmesnih omrežnih elementov ali transportnega dela omrežja, so zakasnitve manjše, izboljša pa se tudi zanesljivost zvez - razširjena pokritost z omrežjem. Omrežje neposrednih povezav se lahko uporabi tudi kot rezervna ad-hoc rešitev v primeru okvar omrežne infrastrukture ali ko ta kako drugače ni na voljo. Dodeljevanje radijskih virov za neposredne komunikacije med napravami je lahko porazdeljeno ali centralizirano. V primeru porazdeljene rešitve lahko naprave prenašajo podatke takoj in za to ni potreben poseben postopek ali sodelovanje posebnih krmilnih kanalov. Če imamo centralizirano rešitev, se sicer učinkoviteje izogibamo trkom, vendar postane rešitev bolj kompleksna in povečajo se povprečne zakasnitve. Način upravljanja radijskih virov ponazorimo na primeru komunikacije med vozili v pametnem prometu. Vsa vozila občasno oddajajo informacije o svoji lokaciji, hitrosti, smeri gibanja itd. Ko se promet zgosti, se poveča tudi verjetnost trkov. Ena od možnosti dodeljevanja radijskih virov je izbira dostopa na osnovi geografske lokacije, ki jo pošilja vozilo. Cesta je po vsej dolžini razdeljena na odseke, tako da se vedno dodeli ustrezen radijski vir glede na informacijo o lokaciji vozila. Neposredno komunikacijo med napravami se lahko izkoristi tudi tako, da ima naprava hkrati dve zvezi -eno neposredno z drugo napravo in drugo preko omrežja. Vedno pa izbira optimalno zvezo za prvi ali ponovljeni prenos podatkov in kombinira sprejem signala preko različnih povezav. Neposredna zveza ima lahko korist tudi iz uporabe načina polne dvosmerne zveze (FD, Full Duplex) -sprejem in oddaja hkrati potekata na istem frekvenčnem pasu. Tako se izognemo potrebi po vnaprej nastavljenim smerem prenosa. Zato je potrebna zelo majhna kontrolna režija, kar seveda zniža zakasnitve. Način dela v polnem dvosmernem prenosu zahteva določene tehnične rešitve na anteni, da oddani signal ne moti lastnega sprejema. 5 Raziskovalni in pilotski projekti Industrija ima močne zahteve po hitrih komunikacijah med napravami (M2M) in izjemno zanesljivih povezavah. Morebitne sistemske napake pomenijo okvaro opreme, ustavitev proizvodnje ali v skrajnem primeru hude poškodbe ali celo smrtne žrtve. Za tovarne v prihodnosti bo ključna časovna optimizacija procesov. Tu pride do izraza potreba po izjemni zanesljivosti in skoraj ničelnih zakasnitvah -npr. stalna optimizacija proizvodnega procesa, ki temelji na senzorskem nadzoru vseh delov procesa v realnem času ali pa stalna povezanost med roboti nove generacije. 5.1 5G v rudarski industriji Primer združevanja tehnologij pete generacije več partnerjev in vodenja težke mehanizacije je projekt PIMM (Pilot for Industrial Mobile communications in Mining) [5], ki so ga zagnali leta 2015 na Švedskem. Cilj tega projekta je uporaba nove mobilne tehnologije (4G, 5G) v industriji zaradi izboljšanja produktivnosti in povečanja varnosti pri delu v rudnikih. V sklopu projekta preizkušajo napredne metode avtomatizacije in daljinskega nadzora opreme, ki je montirana na mehanizaciji v rudniku Boliden na Švedskem. Z uporabo komunikacijske, senzorske in druge tehnologije je mogoče na daljavo, iz udobne lokacije na površju, krmiliti mehanizacijo v rudniških rovih globoko pod zemljo. Preizkušajo štiri ključne segmente: industrijsko mobilno dostopovno omrežje, industrijsko mobilno jedrno omrežje, dostopovno točko za bližnje komunikacije in robustno komunikacijsko platformo za avtomatizacijo procesa. 5.2 5G pri iskanju in reševanju Za iskanje pogrešanih oseb in reševalne akcije iz zraka je korejski operater KT razvil platformo [6], imenovano Skyship, ki jo sestavljajo zrakoplov, droni, roboti in center vodenja na zemlji. Slednji daljinsko nadzira drone in robote, ki izvajajo iskanje in reševalne operacije. Reševalci na terenu so opremljeni z očali za obogateno resničnost in imajo neposredno komunikacijo z zdravniki v bližnji bolnišnici, kar omogoča takojšnjo asistenco. Slika 1. Platforma Skyship za iskalne in reševalne akcije (vir: ITU News) 61 Platforma je trenutno operativna v omrežju 4G LTE, prihodnje leto pa naj bi zaživela tudi na omrežju 5G. Platformo Skyship (slika 1) sestavljajo naslednje komponente: - s helijem napolnjen zrakoplov, ki pokriva večje območje do 100 kilometrov, - komandna, kontrolna in komunikacijska mobilna zemeljska postaja (C3), - droni v zraku in roboti na zemlji, ki opravljajo reševalne akcije v obsegu nekaj kilometrov. Zrakoplov je opremljen s sistemi za krmiljenje zrakoplova, kamerami, mrežnimi elementi in droni ter enoto, imenovano skyscan. Skyscan uporablja zelo majhno napravo LTE, ki zaznava signale pametnih terminalov pogrešancev v območju 50 metrov. Prejete signale primerja z bazo uporabnikov mobilnih operaterjev in tako identificira osebe. Droni nato odkrijejo točne lokacije iskanih oseb, roboti na zemlji pa jim odpeljejo osnovne stvari za prvo pomoč, dokler ne prispejo reševalci. Zrakoplov lahko leti do šest ur s hitrostjo do 80 km/h in nosi opremo v skupni teži do 5 kg. Zdaj je v uporabi druga različica platforme, ki uporablja omrežje 4G, naslednja različica (načrtovana za leto 2020) pa bo uporabljala omrežje 5G. Za komunikacijo bo uporabljen pas širine 100 MHz na frekvenčnem območju 3,5 GHz in 800 MHz na frekvenčnem območju 28 GHz, kar bo omogočalo prenos videa v realnem času v razločljivosti 4K UHD. Zelo majhne zakasnitve bodo reševalnim ekipam omogočale učinkovito delo. 5.3 5G v transportu Z namenom varnega vodenja samovozečih vozil preko omrežja 4G/5G podjetji Ericsson in Scania razvijata platformo za daljinsko vodenje avtobusov [7]. Za to je pomembna hitra in dovolj velika množica podatkov, ki so skoraj v trenutku na voljo operaterju. Podatki iz senzorjev, nameščenih po vsem avtobusu, se pretakajo v oddaljeni center vodenja preko radijskega dostopovnega omrežja 4G LTE in jedrnega omrežja 5G. V obratni smeri se komande za vožnjo avtobusa pošiljajo iz centra preko Scaninega komandnega sistema. Kot je prikazano na sliki 2, imajo določeni nizi podatkov prednost, da je zagotovljena določena kakovost storitve. To so podatki, ki prihajajo iz video kamer in komande, ki na daljavo krmilijo avtobus. Vsi ostali podatki, t.i. infotainment, imajo nižjo prioriteto. Za zagotovitev prednosti uporabljajo identifikatorje QCI (QoS Class Identifier), ki izhajajo iz standardov 3GPP. Tako so identifikatorji za video prenos in podatke iz senzorjev razreda 5 in 2, infotainment (nižja prioriteta) pa ima QCI razreda 9. Sistem deluje tako, da aplikacija v oblaku dinamično vzpostavlja povezave med vozili in paketnim jedrnim omrežjem 5G (EPC, Evolved Packet Core). Vsaka povezava ima nastavljene določene parametre kakovosti, kot sta največja dovoljena zakasnitev in najmanjša prepustnost. 6 Sklep Ta prispevek opisuje lastnosti omrežja 5G, ki so ključne za njegovo delovanje v ekstremnih razmerah, te pa se lahko dnevno pojavljajo v nekaterih industrijskih panogah ali pa jih povzročijo nenadne vremenske spremembe. Najpomembnejši lastnosti takšnega omrežja sta velika zanesljivost delovanja omrežja in zelo majhne zakasnitve v komunikacijah med dvema končnima napravama. Majhne zakasnitve in zanesljivost delovanja omrežja dosežemo z ustreznimi rešitvami v radijskem dostopovnem delu, izvedbi programsko nastavljivega omrežja in z vpeljavo neposredne komunikacije med napravami. V svetu že vsaj tri leta potekajo intenzivna testiranja določenih funkcionalnosti omrežij 5G za industrijske in varnostne namene. V polnosti bodo zaživela verjetno šele čez nekaj let. Nekatere funkcije, ki so že standardizirane za omrežja 4G in so uporabne v izrednih razmerah (množične nesreče), pa že danes uspešno delujejo. Literatura [1] 3GPP TS 22.280, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Mission Critical Services Common Requirements (MCCoRe); Stage 1, (Release 14); [2] Mission Critical Services in 3GPP, www.3gpp.org [3] T. Mlinar: 5G za kritične komunikacije, Zbornik referatov 32. delavnice o telekomunikacijah VITEL - Pametna omrežja informacijske družbe, 16. in 17. maja 2016, Brdo pri Kranju [4] 5G for Mission Critical Communication, Nokia White Paper, 2016; [5] https://www.sics.se/proiects/firstpimmproiect (PIMM -Pilot for Industrial Mobile communications in Mining); [6] https://news. itu. int/kt-skyship-search-rescue-platform/ (Skyship - serch-and-rescue airborn platform); [7] 5G Network Programmability, Ericsson Technology Review, January 26, 2018 Slika 2. Platforma Skyship za iskalne in reševalne akcije (vir: Ericsson Technology Review, 2018) 62 Predlog nove tehnike sledenja izvoru signala Peter Miklavcic1, Tomaž Javornik2, Boštjan Batagelj1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana 2Institut "Jožef Stefan", Jamova cesta 39, 1000 Ljubljana E-pošta: peter.miklavcic@fe.uni-lj.si A new signal source tracking technique proposal In this paper we present a novel approach in signal source tracking techniques which is theoretically applied to lobe switching and the monopulse principle. In the beginning, the main families of current signal source tracking techniques are shortly presented, namely step- and smarttrack, lobe switching (sequential lobing), conical scanning and coherent monopulse operation by using an antenna group or a multimode antenna. Receiver block diagrams are also presented, for known methods as well as for the proposed three-lobe monopulse operation. Lobe switching is explained as a discretized version of conical scanning and in the case of two-dimensional operation, based on the conical scanning nomenclature, the pyramid scanning term is proposed (triangular pyramid scanning in the case of proposed three-lobe technique). 1 Uvod Z različnimi tehnikami sledenja izvoru signala [1, 2, 3, 4, 5, 6] je iz prostorsko odvisne fizikalne velicine smernega diagrama možno izlušciti dvodimenzijsko informacijo odklona vpadnega signala od referencne smeri (ponavadi smeri glavnega snopa uporabljene antene oziroma antenske skupine). S pridobljeno informacijo je možno popravljati smer sprejema in s tem ohranjati zmogljivost zveze in/ali slediti smeri izvora (v radarski tehniki se uporablja izraz namerjanje tarce [1]). Sledenje izvoru signala se poleg radarske tehnike in satelitskih komunikacij uporablja tudi pri sistemih navigacije in pozicioniranja, kot npr. ILS (ang. Instrument Landing System), za vzdrževanje povezav med premikajocimi se vozlišci terenskih radijskih omrežij, za vzdrževanje (ali celo kot dodatno fi-zicno zašcito) komunikacijskega kanala z letalniki, ipd. 2 Tehnike sledenja izvoru Najpreprostejše tehnike sledenja izvoru so izvedene s fi-zicnim premikanjem celotne antene in tipanjem moci [1, 6, 7]. Pri antenah, namenjenih izkljucno sledenju, se splaca tipati izrazitejši minimum, kot pri lovu na lisico. Tak princip se uporablja npr. v radarski tehniki ali pri napravah za odkrivanje (ponavadi neželenih) oddajnih naprav. Ce pa je sistem namenjen prenosu informacij, se med delovanjem išce maksimum za optimalen sprejem. Pri satelitski televiziji se npr. uporabljata komercialna standarda DiSEqC in USALS, ki omogočata komunikacijo med sprejemnikom in aktivno anteno za ugotavljanje grobe lokacije na podlagi sprejemanih satelitov (za predvidevanje smeri želenega satelita) ter končno namerjanje s tipanjem moči sprejetega signala (ang. step-track), tudi v kombinaciji s predvidevanjem (ang. smart-track). Ta družina tehnik je danes vecinoma izvedena v programskem delu. Sam princip sledenja ne zahteva posebnih anten (kvečjemu motorizirane podstavke), s cimer je omo-goceno grobo, a poceni namerjanje velikega števila anten (npr. satelitska televizija, internet). Za hitrejše popravke in/ali natancnejše sledenje pa obstajajo tehnike sledenja, ki zahtevajo svojevrstne izvedbe anten in sprejemnih verig. Glavne so predstavljene v naslednjih poglavjih, medtem ko bolj eksoticnih, kot je npr. hibrid med stožcastim skaniranjem in monopulzno tehniko conoscan [8], clanek ne zajema. 0° III """ IV Slika 1: Pri stožcastem skaniranju antena z vrtecim se snopom skanira prostor okoli tarce, iz maksimuma sprejete moci signala pa sistem doloci njeno smer. ERK'2018, Portorož, 100-103 63 Slika 2: Blokovni načrt sprejemnika pri tehniki stožčastega skaniranja. Kadar je tarča namerjena (v osi stožca), je amplituda konstantna in signala razlike sta nič. fS je frekvenca skaniranja oziroma vrtenja snopa. 2.1 Stožcasto skaniranje Stožčasto skaniranje (ang. conical scanning) vrti od referenčne smeri odklonjen snop (kot je prikazano na sliki 1), ki v prostoru okoli tarče orisuje stožec [1, 4, 8]. Kadar je tarča v osi stožca (namerjena), je odčitana moč v celotni periodi konstantna, sičer pa doseže maksimum, ki določa smer tarče. Vrtenje snopa je lahko izvedeno električno ali mehansko. Blokovni načrt sprejemnika je na sliki 2. 2.2 Preklapljanje snopov Preklapljanje snopov (ang. lobe switching, tudi sequential lobing) je tehnika, ki primerja odčitke sprejete moči z od referenčne smeri odklonjenih snopov [1, 3, 4, 8]. Za dvodimenzijsko sledenje se uporabljajo štirje (kot je prikazano na sliki 3), z uporabo štirih anten, sevalnikov ali stanj antenske skupine [1,4]. Ko je tarča namerjena, so vsi odčitki enaki in razlik ni. Dvodimenzijsko preklapljanje snopov je diskretizirana različiča zveznega stož-častega skaniranja in se lahko analogno imenuje piramidno skaniranje. Blokovni načrt sprejemnika za namerja-nje v eni dimenziji je na sliki 4. 0° $ O e TARČA III IV + + + 90° 180° 270° Modulacija snopa Slika 3: Preklapljanje snopov diskretno skanira prostor okoli tarče, iz odčitkov sprejete moči signala in geometrije pa sistem določi smer tarče in potreben popravek. Z A -o Slika 4: Blokovni načrt sprejemnika pri preklapljanju snopov v eni dimenziji. Kadar je tarča namerjena (v ravnini točno med antenama), sta odčitka moči enaka. Za dvodimenzijsko delovanje sta potrebna dva taka sprejemnika (tehnika s štirimi snopi) ali trije sevalniki z enim sprejemnikom (predlagana tehnika s tremi snopi). 64 Modulacija snopa Hibridno vezje X X+Y Y X-Y X X+Y Y X-Y X X+Y Y X- Y Z Fazni detektor Ael X X+Y Y X-Y Aaz Slika 5: Blokovni načrt sprejemnika pri monopulzni tehniki s skupino štirih anten. 2.3 Monopulzni princip Vsem do sedaj opisanim tehnikam je skupno to, da za de-tekcijo oziroma potrebno obdelavo signalov potrebujejo določen čas, kar je omejitev pri najhitrejših tarčah in pri dosegljivi ločljivosti (npr. radarskega) sistema. Tudi hitra električna izvedba stožčastega skaniranja ali preklapljanja snopov še ni končna omejitev tehnik sledenja, pač pa obstaja še realnočasovni monopulzni prinčip, ki s koherentnim sprejemom in fazno interferometrijo med dvema ali več sevalniki oziroma antenami v trenutku določi smer izvora, vsa potrebna obdelava pa je analogno seštevanje in odštevanje, s čimer se oblikujejo ustrezne oblike snopov za signale vsote in razlike [1, 2, 3, 9, 8]. Izraz monopulzni prinčip prihaja iz področja radarske tehnike, saj omogoča detekčijo tarče v trenutku oziroma iz enega samega odboja radarskega impulza, s čimer se povečajo Modulacija snopa Slika 6: Blokovni načrt sprejemnika pri monopulzni tehniki z dvorodovno anteno s krožno polarizačijo. zmogljivosti radarskih sistemov [8]. Za doseganje raznolikosti smernih diagramov v istem časovnem trenutku imajo monopulzne antene več ločenih sevalnikov oziroma so sestavljene kot skupine (ponavadi) štirih anten [1, 3, 9]. Potrebna obdelava je prikazana na blokovnem načrtu na sliki 5. Skupaj s hibridnim vezjem za obdelavo signalov so take monopulzne antene nepraktične za počeni oziroma masovno izdelavo. Izvedene so lahko tudi kot večrodovna antena (ang. multimode antenna), pri kateri so neodvisno vzbujani rodovi s primernimi smernimi diagrami za monopulzno delovanje [1, 2, 8]. Take antene so že kompaktnejše, v primeru krožno polariziranih signalov pa je možna še dodatna poenostavitev, saj je informačija o smeri tarče že prostorsko-časovno modulirana v sprejetem kvadraturnem signalu razlike s signalom vsote kot referenčo [10, 5]. Take antene so lahko kompaktne, čenejše in primernejše za masovno izdelavo [5], kar je razvidno tudi iz enostavnejšega blokovnega načrta na sliki 6. 3 Predlog nove metode Tako pri obstoječih izvedbah metode preklapljanja snopov, kakor pri monopulzni tehniki z antensko skupino so za dvodimenzijsko sledenje v obstoječi literaturi uporabljene štiri antene (snopi) ali več. Ker gre matematično gledano za iskanje točke v ravnini, so za dvodimenzijsko ločiranje potrebne meritve samo v treh nekolinearnih točkah (triangulačija). To pomeni možnost poenostavitev tehnik preklapljanja snopov (sliki 8 in 4) in tudi monopulzne (slika 7) z uporabo le treh anten, sevalnikov, stanj antenske skupine oziroma v splošnem treh snopov. Ker je na konču za motoriziran popravek ponavadi potrebna in-formačija v kartezičenem sistemu, je potrebno upoštevati transformačijo točk oziroma uteži pri seštevanju vektorjev tako da so simetrični oziroma v vsoti enaki nič. Na sliki 8 je skiča namerjanja s tremi točkami in označeno kartezično informačijo posameznih točk. Z večanjem števila točk narašča ločljivost, a hitrost skaniranja upada. 65 Modulacija snopa Slika 7: Blokovni načrt sprejemnika pri predlagani monopulzni tehniki s skupino treh anten. Operacije seštevanja in odštevanja morajo biti ustrezno utežene za transformacijo v kartezični sistem. Klasične tehnike s štirimi snopi ostajajo zanimiv kompromis med ločljivostjo in hitrostjo, saj v primeru glede na tri kljub daljši meritvi odpade transformacija v kartezični sistem (enostavnejša obdelava). t O TARČA ■■r m IV 120° 240° Slika 8: Predlagana tehnika sledenja s triangulačijo točke v ravnini. Na sliki je označeno, informačijo katere kartezične smeri nosi posamezna točka trikotnika. 4 Zaključek Na podlagi obstoječih metod sledenja izvoru signala in preproste matematike ter geometrije v koherentni in ne-koherentni različiči predstavljena nova, ki za sledenje uporablja samo tri snope namesto obstoječih metod s štirimi, kar omogoča kompaktnejšo izdelavo na račun dodatne obdelave za potrebno transformacijo. V naslednjem koraku predlagamo prototipiranje in praktičen preizkus predlaganih sistemov - preklapljanja treh snopov oziroma monopulznega s tremi snopi. Zahvala Raziskovalni program št. P2-0246 je sofinancirala Javna agencija za raziskovalno dejavnost Republike Slovenije iz državnega proračuna. Zahvala gre tudi Univerzitetni ustanovi ing. Lenarčič Milana za raziskovalno štipendijo. Literatura [1] R. B. Dybdal: Antenna Tracking, Antenna Engineering Handbook, str. 42-12, 2007 [2] J. S. Cook in R. Lowell: The Autotrack System, The Bell System Technical Journal, št. 4, str. 1283-1307, 1963 [3] G. J. Hawkins, David J. Edwards in J. McGeehan: Tracking Systems for Satellite Communications, IEE Proceedings F -Radar and Signal Processing, št. 5, str. 393-407, 1988 [4] J. H. Cook Jr in W. K. Dishman: An Improved Scanning Automatic Tracking Antenna for Telemetry Applications, International Telemetering Conference Proceedings, 1989 [5] P. Miklavcic: Optimizacija preprostega monopulznega antenskega sevalnika za primarno gorišce globokega zrcala, 2017, http://repozitorij.uni-lj.si/IzpisGradiva.php?id=94823 [6] P. Miklavcic: Tehnike sledenja izvoru signala, Zbornik 23. seminarja radijske komunikacije, 31. januar-2. februar 2018 [7] W. Gawronski in E. M. Craparo: Antenna Scanning Techniques for Estimation of Spacecraft Position, Aerospace Conference Proceedings 2, str. 2-2, 2002 [8] S. M. Sherman in D. K. Barton: Monopulse Principles and Techniques, 2. izd., Norwood: Artech House, 2011 [9] E. Kornaros, S. Kabiri in F. De Flaviis: A Novel Model for Direction Finding and Phase Center With Practical Considerations, IEEE Transactions on Antennas and Propagation 65, št. 10, str. 5475-5491, 2017 [10] M. Vidmar: Sestavljanje krožne polarizacije, 1994, http: //lea.hamradio.si/~s53mv/archive/a167.pdf 66 Determining the locking state of a Fabry-Pérot laser Jakup Ratkoceri1'2 and Boštjan Batagelj1, Member, IEEE 1 Radiation and Optics Lab., Faculty of Electrical Engineering, University of Ljubljana, Slovenia 2IPKO Telecommunication, Pristina, Kosovo e-mail: Jakup.Ratkoceri@fe. uni-lj.si Abstract. In this paper we experimentally examine the phenomenon of optical injection locking and its stability using a Fabry-Perot (FP) semiconductor laser with a wavelength of 1550 nm, which is widely used for the transmission in optical access networks due to its simplicity and low cost. Injection locking makes it possible to overcome the fundamental limits of the multi-longitudinal-mode behavior of the FP laser. Under injection-locking conditions, the linewidth characteristics of the master laser are transferred to the slave laser, which leads to a drastic improvement in the performance of the slave laser. However, the system dynamics of injection locking is very complex, which makes it very difficult to determine the locking state of the laser. Therefore, we propose a method whereby observing the laser's spectral coherence using self-homodyne detection we are able to determine the stable locking condition of the laser. Keywords. Fabry-Perot laser diodes, injection locking, locking range, linewidth, self-homodyne 1 Introduction In today's telecommunications networks the fiber-optic access network is wieldy accepted among academia and industry as being a future-proof solution. [1] There are several fiber-optic access solutions that enable highdata-rate capacities, but not many of them come without economic implications. One of the solutions that could be acceptable from the technological and economic points of view is the injection-locking technique. Using this technique a multi-longitudinal-mode Fabry-Perot (FP) laser can operate in a single-longitudinal-mode regime, giving it greatly improved characteristics. [2] In a wavelength division multiplexing passive optical network (WDM-PON) the source laser in the optical network units is an optical injection-locked laser. [3] Injection locking greatly enhances the parameters of a laser such as a multimode FP laser. This defines most of the fundamental limits of the laser, such as the mode partition noise, relaxation oscillation frequency, nonlinear electron-photon coupling, relative intensity noise etc., to be improved. However, due to its rich dynamic behavior, determining the stable locking conditions is a particularly difficult task [4]. For the case of a multimode FP laser in the injection-locked state, the longitudinal modes that are not locked experience suppression. Usually, in the literature we find that for a side-mode suppression ratio (SMSR) between 30 and 35 dB the slave laser is considered to be in the injection-locking mode [4]. However, due to the complex behavior of a slave laser, the stability locking map is not only single-valued and correlated to the frequency detuning Am (between the master-laser and slave-laser frequencies) and r (ratio of the injected photon density Si from the master laser and the photon density of the injected locked mode of slave laser S), but the stability map is a multi-valued stability function. Under the conditions of optical injection locking, the master laser imposes its spectral distribution on the slave laser. Due to the fact that we have the complex behavior of the injection-locked slave laser, we will experimentally observe the process of transferring the linewidth of the master laser to the slave laser using self-homodyne detection, which to the best of our knowledge has not yet been done. This paper is organized as follows. A short description of the injection-locking phenomenon is followed by different experimental measurements. First, the linewidth of a single-longitudinal-mode laser and a multi-longitudinal-mode laser (FP laser) is measured using the self-homodyne technique. Then, we present the difference between the locking and the unlocking range of the FP laser in the injection-locking map. At the end of the experimental part we present the difference in the locked laser's linewidth on the negative and positive frequency detunings. In the conclusion we propose a novel, self-restorable, injection-locking feedback loop that can contribute to a self-organized optical access network based on a WDM-PON. 2 Injection-locking phenomenon Injection locking is a nonlinear phenomenon of synchronization that exists when coupling two or more self-sustained oscillators. The optical injection offers many dynamic regimes, such as locking, wave-mixing, relaxation and chaos. [4] In the injection-locking process the light of the master laser is injected into the cavity of the slave laser, where the injected light coherently combines with the slave laser's internal light. If the injection power is high enough and the frequency difference between the master laser and the slave laser is not large, the slave laser is "dragged" towards the master laser's frequency, locking both the frequency and the phase [3]. The injection locking is affected by the fact that the presence of the out-of-phase component will introduce a phase shift and by the fact that to maintain the steady state of the slave laser, the gain of the injection field is changed. ERK'2018, Portorož, 100-103 67 The slave laser's dynamics can be analyzed through a system of rate equations, with additional terms describing the locking phenomenon [4]. Two adjustable parameters through which we control the injection locking are the injected power ratio r (the ratio of the photon density S injected into the slave laser's cavity and the photon density S of the injection-locked mode of the laser) and the frequency detuning (Ato= to— wo), where toi is the master laser's frequency and too is the cavity resonance frequency of the slave laser. The locking bandwidth obtained from the rate equation is: Atomin= - (c/2ncL)^((Si/S)(1+a2)) < Ato < (c/2ncL)^(Si/S) (1) where nc is the refractive index, L is the laser-cavity length, c is the speed of light and a is the linewidth-enhancement factor. [5], [6] 3 Experimental measurements 3.1 Linewidth measurements The laser's linewidth represents the width of the optical spectrum, or more precisely, the width of the power spectral density of the emitted electrical field in terms of the frequency, wavelength or wavenumber. [7] The width of the laser can be seen as a consequence of the fluctuations in the phase of the optical field. The laser's linewidth broadening is attributed to the change of the phase and the intensity change due to the spontaneous-emission event. [8] To be able to analyze the interrelation between the linewidths of the master laser and the slave laser during the injection locking we need to measure the linewidth of both the lasers used in this experiment before engaging them in the injection locking. For the linewidth measurement we deployed a technique known as the delayed self-homodyne (Fig. 1). With this technique the optical light of the laser is divided into two branches, where in one branch of the Mach-Zehner interferometer a 20-km-long single-mode fiber is introduced to add around 100 microseconds of time delay. With this time delay we are able to measure the linewidth down to the range of 10 kHz. For the detection of the optical signal after the recombination of the two branches of the interferometer, a PIN-FET photodiode is used. From the photodiode the signal is sent to a radio-frequency spectrum analyzer for further analysis. Below is a schematic drawing of the delayed self-homodyne technique. We measured the linewidths of two laser sources. The single-longitudinal-mode laser is a HP 8153A tunable laser source (TLS). The measurement result for its linewidth is presented in Figure 2. When the optical output power was set to 6 dBm, the linewidth of 100 MHz is measured at -3 dB threshold. Figure 1. Delayed self-homodyne technique Figure 2. Linewidth measurements for a single-longitudinal-mode laser. The second laser is a multi-longitudinal-mode laser with attached external cavity. We measured the linewidth of a 240-micrometer-long InGaAsP (indium gallium arsenide phosphide) FP laser. The external cavity is made up of 1-m long single-mode optical fiber and physical contact (FC) optical connector of 0.5% reflectivity. This FP laser has a threshold current of 10 mA. When the FP laser is stabilized at 20 °C, with a bias current of I=3Ith, we find the dominant mode at 1546.244 nm. The free spectral range of external cavity is 100 MHz. For the linewidth of the FP laser with attached external cavity, due to its multi-longitudinal spectrum, in the RF spectra we have the corresponding mixing products of the optical longitudinal modes and the total linewidth is quite broad (Figure 3). Figure 3. Linewidth measurements for the multi-longitudinal-mode laser 3.2 Injection-Locking Measurement For the measurement of the injection-locked FP laser the reflection style set-up presented in Figure 4 is used [3]. For the master laser the single-longitudinal-mode laser is employed, while for the slave laser the multi-longitudinal-mode laser is employed. We used two optical spectrum analyzers: the OSA1 is used to control the power of the output signal from the master laser, and 68 the OSA2 is used to observe the injection-locking phenomenon. Figure 4. Experimental set-up for injection locking The mode chosen to be locked was the first mode on the right of the central mode with a wavelength of 1457.660 nm. The FP laser was forward biased with a current of 30 mA, and was stabilized at 20°C. For this experiment we considered the FP laser to be in the injection-locked state when we measured the SMSR to be higher than 30 dB. Above this value the FP laser is operating as a single-longitudinal-mode laser. The optical spectrum of the FP laser in the injection-locked state and the free-running state is presented in Figure 5 and the locking map of the FP laser achieved from our experiment is presented Figure 6. 1540 1545 1550 Wavelength [11m] Figure 5. Optical spectrum of the FP laser Figure 6. Injection locking map of the FP laser As expected, with a higher injected power we could achieve a higher frequency detuning and a broader locking region. 4 Difference with respect to the negative and positive frequency detunings It is well known that a FP laser under injection locking inherits most of the characteristics of the master laser. [4] The linewidth is one of the characteristics that is passed to the slave laser, and in our experiment we expected to observe a radical linewidth transformation, because we will transform the linewidth of a multi-longitudinal-mode laser such as a FP laser into a single-longitudinal-mode linewidth source. The set-up for this experiment is a combination of the two previously presented set-ups. We preserved the same set-up values as in the previous section for both lasers. With the combined set-up we were able to engage the laser in the injection-locking process and also observe the process of transforming the FP laser linewidth from its free-running mode into the injection-locked state linewidth. Figure 7. Experimental set-up for injection locking and linewidth observation using the delayed self-homodyne technique. The output power of the master laser is fixed for all the conducted experiments presented in this section. In first experiment we analyzed the transformation of the linewidth of the FP laser in three different stages, related to the SMSR, as shown in Figure 8. It is worth underlining that we performed this experiment for negative Am, which means that we had a lower masterlaser frequency in comparison to the slave-laser frequency. Figure 8. Experimental results for negative frequency detuning The blue line represents the spectrum of the FP laser in the free-running state when no optical injection is applied to the FP laser. As expected, we have a similar curve as in Figure 2. For the spectrum of the FP laser when fully injection locked we have the same linewidth as for the case when we measure the linewidth of the master laser. Therefore, we have a complete transformation of the FP laser. At this stage the SMRS was higher than 35 dB. We also measured an intermediate stage, where we see that we have an in-between curve. At this point the measured SMSR was around 15 dB. 69 The second part of our measurement was to analyze the spectrum of the FP laser during the process of injection locking for the positive Am. Figure 9. Experimental results for positive frequency detuning It is worth noting that for this set of measurements, even though for the intermediate stage II we had a SMSR higher than 35 dB, we can see that the transformation of the linewidth is not complete, which could pose a problem when using an injection-locked FP laser. For the free-running state and the injection-locked states, the optical spectra of the FP laser that correspond to the self-homodyne spectra presented in Figures 7 and 8 are clearly depicted in Figure 6, where the longitudinal free-running modes are presented with a dotted line and with a solid line we have the injection-locking spectra, where we see the injection-locked mode and the other suppressed modes. In addition to the explanation for the results in Figure 8, for the intermediate stage II in Figure 9 we present the corresponding optical spectrum, where we can clearly see that even though we have a SMSR higher than 30 dB, the line width transfer is not completed. Figure 9. Optical spectrum for the intermediate stage II. 5 Conclusion In this paper we determined the stable locking range for an injection-locked FP laser by observing the linewidth transformation of the injection-locked FP laser. By using a delayed self-homodyne technique we were able to measure the linewidths of the master laser and the FP laser in the free-running mode and then observe the transfer phenomenon of the linewidth during the injection-locking process. After performing the linewidth analysis, for the positive and negative frequency detunings, we came to the conclusion that for the stable injection locking of the FP laser the widely used condition of an SMSR higher than 30 dB is a necessary but not sufficient condition. As we have shown from the results for positive frequency detuning, even when we had a 30-dBm SMSR, the linewidth was not completely transferred for certain values of the frequency detuning. In this paper we show that the injection-locking condition can be observed from the radio-frequency spectrum using the delayed self-homodyne technique and FP laser with attached external cavity. Based on the achieved results we propose a self-restorable architecture for the stable injection-locking behavior, as presented in Figure 9. The proposed system makes it possible to observe the linewidth change of the injection-locked FP laser, and through the temperature changes, the feedback loop keeps the injection-locked laser in a stable operational state. Figure 9. Self-restorable architecture for stable injection locking of a FP laser References [1] B. Batagelj, V. Janyani, S. Tomazic, "Research challenges in optical communications toward 2020 and beyond," Informacije Midem, Vol. 44, No. 3, 177 - 184 [2] E. K. Lau, L. J. Wong, M.C. Wu, "Enhanced modulation characteristics of optical injection-locked lasers: A tutorial," IEEE J. Sel. Top. Quant. Electron. 15(3), 618-633(2009) [3] V. Eržen, B. Batagelj, "Rodovno vklenjen FP-LD za brezbarvni WDM-PON," ERK 2015, A:61-64 [4] M. M. Krstic, et al, "Multivalued stability map of an injection-locked semiconductor laser," IEEE J. Sel. Top. Quant. Electron. 19(4), 1501408-1501408 (2013) [5] X. Jin, S.-L. Chuang, "Bandwidth enhancement of Fabry-Perot quantum-well lasers by injection-locking," Solid State Electronics, Vol. 50, Iss. 6, 2006, Pages 1141-1149 [6] M. Bondiou, et al, "Linewidth of an optically injected semiconductor laser," Journal of Optics B: Quantum and Semiclassical Optics, Vol. 2, No. 1, 1999 [7] https://www.rp-photonics.com/linewidth.html?s=ak [8] C. Henry, "Theory of the linewidth of semiconductor lasers," in IEEE Journal of Quantum Electronics, vol. 18, no. 2, pp. 259-264, February 1982 70 A preliminary study on side mode suppression in optoelectronic oscillators using a two-mode optical fiber in the feedback loop Antonio Astorino1, Mehmet Alp Ilgaz2, Karsten Rottwitt1, Boštjan Batagelj2 1DTU Fotonik, 0rsteds Plads, Building 343, 2800 Kongens Lyngby, Denmark 2 University of Ljubljana, Faculty of Electrical Engineering, Tržaška cesta 25,1000 Ljubljana, Slovenia email: antonio.astorino.ing@gmail.com Abstract We discuss the use of a two-mode step-index fiber in the optical path of an optoelectronic oscillators as an alternative to a dual loop. The idea is to exploit the different group velocities of two LP fiber modes instead of using two single-mode fibers with different lengths. The basic theory of dual-loop oscillators can therefore be reused in this context. Nevertheless, due to a generally small group delay between two fiber modes, compared to the loop delay, the proposed idea needs a preliminary analysis. 1 Introduction An optoelectronic oscillator (OEO) is able to produce high spectral purity carriers in the millimeter-wave range [1-3]. The limit in the spectral purity is mainly due to the relative intensity noise of the laser, the excess noise added by the optical amplifier, and shot noise related to the photodetection. As demonstrated in [2], the phase noise can be reduced by increasing the loop-delay time. In addition, using two feedback loops with different delay times, i.e. two single-mode fibers with different lengths, allows to suppress unwanted resonant frequencies, otherwise difficult to suppress with standard radio-frequency band-pass filters. The idea proposed in this work is to replace the dual loop with a single one, maintaining the same working principle; instead of using two different fiber lengths, one fiber and two modes with different group velocities are considered. Multiple modes can be simultaneously and easily excited by means of radial offset launching [4,5] or mechanically induced long-period gratings [5,6], for example. Besides the use of one fiber only in the feedback loop, the main advantage of the proposed configuration, compared dual-loop OEOs, is the absence of the optical splitter and the optical or electrical combiner. The reader can refer to [7,8] for a comparison with the proposed schematic, depicted in Fig. 1. A laser source is modulated by a Mach-Zehnder modulator (MZM) and amplified by an erbium-doped fiber amplifier (EDFA). The output fiber of the EDFA is spliced to a two-mode fiber (TMF) using the offset splicing technique, in order to equally excite both propagating modes. Using the same technique, the other end of the TMF is then spliced to the single-mode input fiber of the photodetector (PD), whose radio-frequency (RF) output is then amplified and MZM EDFA TMF Laser RF out H W PD RF filter RF amplifier Figure 1: Simplified schematic of an optoelectronic oscillator adopting a two-mode fiber in the feedback loop filtered. The resulting signal is a high purity carrier, used as both system output (indicated with "RF out") and feedback signal, the latter modulating the laser source. Notice that the optical path does not involve optical filters. In fact, it is our intention to address the problem of filtering out spurious harmonics without involving such a filter. 2 Background The working principle of a dual-loop OEO is thoroughly described in [3]. Considering the case in which the modulus of the open-loop gain is larger than unity, the oscillation condition at frequency /osc is achieved if . _ mi _ m-2 Josc Ti T2 (1) where m1 and m2 are integers, and t1 and t2 denote, respectively, the loop delays of the two modes under consideration. Let ngj01 and ng11 > ngj01 be the group indices of the LP01 and LP11 modes, respectively, propagating in a TMF of length L. By definition of group index, the delays associated to the two modes are t1 = ngt01L/c0 and t2 = ngt11L/c0, c0 being the speed of light in vacuum. Equation (1) can therefore be written as /of mi Co m2Co ng,oiL në,iiL From (2), it immediately follows that ng,ii m-2 mi ng,oi (2) (3) ERK'2018, Portorož, 71-73 71 Table 1: Test parameters A/fwhm (kHz) S (Hz^) 32 4.707 344 x 10 -8 16 2.353 672 x 10 -8 8 1.176 836 x 10 -8 4 5.884180 x 10 -9 2 2.942 090 x 10 -9 1 1.471045 x 10 -9 Peak amplitude of the first spurious tone Frequency [A.U. For a two-mode step-index fiber with refractive indices 1.450 and 1.444 and core diameter of 12 |im, at the wavelength of 1550 nm, the ratio ngi11/ngi01 ~ 5219/5216. Therefore, m1 = 5216 and m2 = 5219 are the smallest integers satisfying (3). Consequently, according to (2), in order for fosc to be 10 GHz, a length L « 107.8 m is to be chosen. However, it has been demonstrated that full width at half maximum (FWHM) of the oscillator decreases quadratically with the loop-delay time, i.e. the fiber length [2]. Hence, a longer fiber may be selected in order to reduce the line width of the resulting carrier signal. This is always possible, provided that m1, m2, and L are multiplied by the same positive integer, so that the oscillation frequency remains constant [see (2)]. Moreover, as numerically demonstrated in the next section, a longer fiber results in a larger delay difference between the two propagating modes, hence achieving a better filtering of the undesired resonance frequencies in the oscillator. On the other hand, in a long fiber, undesired effects such as chirp and signal degradation due to intrinsic losses become significant. For this reason, an intuitively effective choice is to keep the value of L as low as possible. This work aims at analyzing how the value of L and the purity in the carrier signal are related to the filtering property of the proposed system. 3 Simulations For the sole purpose of calculating the noise-to-signal ratio S, defined below, we first consider a single-loop OEO with the desired output frequency /osc = 10 GHz, loop length L = 100 m, and the group index ng = 1.450 587. For sufficiently small values of loop-delay time, it is possible to express the proportionality constant S that relates the FWHM and the fiber length as [2]: S — 2nA/pwHM (nL) (4) Figure 2: Spectrum of a dual-loop OEO in a region close to the central frequency /osc. The frequencies of the first two higher harmonics are indicated with f and f2. -100 0.1078 1.8865 3.6652 5.4439 7.2226 Fiber length [km] 9.0013 10.7800 Figure 3: Peak amplitude of the spurious tone closest to the desired oscillation frequency as a function of the TMF length for selected values of the carrier FWHM. written as fosc — pmicp ng,oiLp pm2co ng,iiLP' p — 1, 2,..., 100. (5) where Lp = pLmin. The spectrum of the dual-loop OEO is calculated as the product between the two spectra produced by two independent single-loop OEOs, one in which only the LP01 mode propagates in the TMF and one where only the LP11 mode is present. The FWHM of all tones is calculated by solving (4) for A/FWhM, namely, S A/FWHM = 7T~ 2n (jlTY \ngLP J ng,oi,ng,ii. (6) We then consider, as an example, the set of values of A/FWhM reported in Table 1, along with the corresponding values of S, calculated by using (4). We now focus on the OEO depicted in Fig. 1, assuming /osc = 10 GHz, ng,01 « 1.450 713 and ngj11 = 1.451548. The value of L is varied from Lmin = 107.8 m to 10 780.0 m in steps of Lmin. This ensures that (1) can be always verified, for any length, by conveniently multiplying m1 and m2 by the same integer number p > 0. Here, p runs from 1 to 100. In other words, (1) can be The spectra of both tones are assumed to have aLorentzian amplitude distribution. [2] The effectiveness of the proposed approach as a filter for spurious tones is evaluated by measuring the simulated peak amplitude of the undesired harmonic closest to /osc (see Fig. 2) as a function of Lp. This is, in fact, assumed to be the predominant unwanted harmonic. The simulation result is plotted in Fig. 3. The figure shows that, as expected, spurious modes are better filtered when A/FWhM is low. Also, when the fiber length becomes larger than about 5 km, the improvement achieved by halving A/FWHM is constant and approximately equal to 12 dB, whereas and the curve slope is n g 72 around 3dBkm_1. Moreover, the impact on the system performance is much higher when the fiber length increases from its minimum up to around 5 km. This means that increasing the fiber length may not be a good strategy to attenuate undesired harmonics when Lp becomes larger than 5 km. In fact, as already mentioned, excessively long fibers may worsen the system performance due to attenuation and dispersion. 4 Conclusion In this work, a preliminary study on an optoelectronic oscillator involving a two-mode fiber in the feedback loop has been conducted. The system has been analyzed as a dual-loop oscillator in which the short loop is associated with the LP01 mode propagating in the fiber and the long loop is associated with the LP11 mode. The main goal has been analyzing the impact of the fiber length on the suppression of spurious modes. The simulated results show that, when the fiber length is close to its minimum, any small variation of its length largely affects the system filtering performance. When instead the fiber is sufficiently long, an increment in its length produces a reduction in the amplitude of the first harmonic of about 3 dB km~1. The obtained results are very promising; an attenuation of the first undesired harmonic of around 100 dB has been achieved with a fiber spool roughly 10 km long, despite the assumption of a large noise in the setup. Acknowledgment This work has received funding from the European Union's Horizon 2020 Research and Innovation Program 20142018 under the Marie Sklodowska-Curie grant agreement No. 642355. References [1] X. S. Yao and L. Maleki. High frequency optical subcarrier generator. Electronics Letters, 30(18):1525-1526, Sep 1994. [2] X. S. Yao and L. Maleki. Optoelectronic oscillator for photonic systems. IEEE Journal of Quantum Electronics, 32(7):1141-1149, Jul 1996. [3] X. S. Yao, L. Maleki, Yu Ji, G. Lutes, and Meirong Tu. Dual-loop opto-electronic oscillator. In Proceedings of the 1998 IEEE International Frequency Control Symposium (Cat. No.98CH36165), pages 545549, May 1998. [4] L. Raddatz, I. H. White, D. G. Cunningham, and M. C. Nowell. An experimental and theoretical study of the offset launch technique for the enhancement of the bandwidth of multimode fiber links. Journal of Lightwave Technology, 16(3):324-331, Mar 1998. [5] Keigo Iizuka. Elements of Photonics, Volume II For Fiber and Integrated Optics, chapter 11. John Wiley & Sons, Inc., 2002. [6] S. Savin, M. J. F. Digonnet, G. S. Kino, and H. J. Shaw. Tunable mechanically induced long-period fiber gratings. Opt. Lett., 25(10):710-712, May 2000. [7] J. H. Cho, H. Kim, and H. K. Sung. Reduction of spurious tones and phase noise in dual-loop oeo by loop-gain control. IEEE Photonics Technology Letters, 27(13):1391-1393, July 2015. [8] D. Eliyahu and L. Maleki. Low phase noise and spurious level in multi-loop opto-electronic oscillators. In IEEE International Frequency Control Symposium and PDA Exhibition Jointly with the 17th European Frequency and Time Forum, 2003. Proceedings of the 2003, pages 405-410, May 2003. 73 Examination of Power Penalty due to Chromatic Dispersion Effect on mm-Wave Optical-Communications Fiber-Link with Mach-Zehnder Modulator Mehmet Alp Ilgaz1, Antonio Astorino2, Guillermo J. Martínez T.1'3, Boštjan Batagelj1 1 University of Ljubljana, Faculty of Electrical Engineering, Radiation and Optics Laboratory Tržaška cesta 25, 1000 Ljubljana, Slovenia 2Technical University of Denmark, 0rsteds Plads, Building 343, 2800 Kongens Lyngby, Denmark 3Universitat Politécnica de Valencia, Escola Técnica Superior de Enginyers de Telecomunicació Camí Vera s/n, 46022, Valéncia, España tel: +386 1 4768 400, e-mail: mehmet.ilgaz@fe.uni-lj.si Abstract. Analog optical fiber link is one of the common configuration to transmit high frequency signals in the microwave (p-W) and millimeter wave (mm-W) ranges. In the mm-W signal range, only external modulation can be used, with the intention to overcome the limited bandwidth of a directly modulated laser. Such an external modulation can be implemented by using a Mach-Zehnder modulator (MZM). In mm-W optical fiber links, one of the main issues is the power penalty due to the chromatic dispersion of the optical fiber. This problem is thoroughly analyzed in this paper. 1 Introduction In today's communication technology, optical transmission is widely adopted due to the low losses and the high bandwidth characterizing optical fibers. To transfer mm-W signals over the optical domain, one of the possibilities is using analog optical fiber links (AFOL). This technique, makes use of several components such as laser diodes, opto-electronic modulators, optical fibers and photodetectors (Fig. 1). Laser Electro-optic source modulator Optical Fiber Photodiode ¥ \ f \ —V- ^_/ \ y RF input 't RF output Figure 1. AFOL configuration with external modulation. The optical loss of the fiber depends on the wavelength of the light source. For example, the G.652D optical fiber has a loss of only 0.2 dB/km at the wavelength of 1550 nm. Hence, the power penalty due to attenuation is low but additional power penalty occurs due to the fiber chromatic dispersion [1-3]. In addition, the chromatic dispersion is more dominant in the mm-W range compared to the ^-W range [4]. In the mm-W range, the light source needs to be modulated with an external modulator such as the MZM [5-6] or an electro-absorption modulator [7-8], as an alternative to the direct laser modulation which is affected by frequency chirp. For the purpose of effectively transmitting the mm-W signal through analog optical links, the external modulation and power penalty need to be analyzed. 2 Optical signal transmission from Laser diode to MZM In this section, the transmission of optical signals from a distributed feedback laser (DFB) to a MZM is investigated. We have shown how the input signal changes with a mm-W modulated signal, and we observe the optical signal behavior at the output of the MZM. These calculations are based on [3] and [9-14]. The optical field at the input of the MZM [Ein (t)] can be described as: Ein (t) = Eo cos(wot) (1) where E0 is the electric field amplitude and w0 is the angular frequency of the light produced by the laser. The output of the MZM can be written as EoutOO = Eo{{cos(pn)cos(ancos(wRFt)) - sin (p n) sin (a^ cos(^RFt))} cos^t) (2) where is the modulation angular frequency, ft is the normalized bias, and a is the normalized radio frequency (RF) amplitude driving the MZM. The normalized drive voltage can be defined [13] as: u un = u0 + UCOs(wRFt + 9m) (3) where is the half-wave voltage and U is the drive voltage, u0 is the normalized bias voltage, u is the normalized voltage amplitude, is the initial phase. Fig. 2 shows the transfer function of MZM versus applied bias voltage u. ERK'2018, Portorož, 100-103 74 Figure 3. Power of the transfer function versus the modulation frequency. In Fig. 3, blue lines show the amplitude of the maximum and minimum points and orange lines show the quadrature points. 3 Optical Signal transfer from MZM to Photodiode via optical fiber The optical field at the output of SMF can be written [14] as: (5) where p0 represents the phase delay and P'Am represents the group delay. The P0 is the phase change related to the chromatic dispersion where B" - — Po — ,„„ (6) and the photocurrent after photodetection can be written [14] as: ¿PD(0 — RpD + 2E2RF + 4E0ERFcos (—). cos[œRF(t — t)] + \4nc / 2ERF cos[2wfiF(t — t)]| (7) where E0 is the field amplitude, ERF is the radio frequency amplitude, RPD is the photodetector responsivity, L is the fiber length, c is the speed of light in vacuum, D is the fiber-dispersion coefficient at the wavelength of the optical carrier, t is the fix delay 2 is the optical carrier wavelength. With some approximations, (7) can be represented as (8) in electrical domain [1], [14] as: Figure 2. Transfer Function of MZM versus applied bias voltage where the half-wave voltage is 4 V. There are three major points of interest from the transfer function curve of the MZM when a bias is applied (Fig. 3). These are maximum (when transfer function is 1), quadrature (when transfer function is 0.5) and minimum (when transfer function is 0) points. The quadrature point is preferred for mm-W signal applications [14]. The Fast Fourier Transform (FFT) of the transfer function versus modulation frequency is shown in Fig. 3. (8) where f0 is the optical carrier frequency and fRF is the modulation frequency. Fig. 4 describes how the signal behavior changes during the transmission via optical fiber from laser diode to photodetector. Figure 4. Electrical and optical signal behavior during the transmission via AFOL. When 1550 nm wavelength is used for optical signal transfer from laser diode to photodetector, the chromatic dispersion is very dominant and has an approximate value of 17 ps/nm/km. Eqn. (8) describes the dispersion penalty [2], [15]. Recently, the 1550 nm wavelength window has become quite popular for optical application because of its low optical loss characteristics to other regions. In addition, below 20 GHz, chromatic dispersion poses a minimal problem to the transmission of optical signal. Coherent beating can help to generate ^-W and mm-W signal optically. In Fig. 5, we demonstrate how the chromatic dispersion affects the signal transfer on the first, third and fifth harmonics. The even harmonics cannot be obtained in the MZM if it is biased on quadrature point (linear region). Also shown in Fig. 5 is the dispersion effect with a 10 GHz modulating signal. 2 2 75 Figure 5. Power penalty of the 1st harmonics (blue) and 3rd (red) and 5th harmonics (orange). Fig. 5 shows how the chromatic dispersion affects the main mode and harmonics. We have already generated p-W and mm-W signal in this example. If we compare the p-W with mm-W signals, it is clearly seen that the chromatic dispesion is less dominant in the p-W range (especially below 10 GHz). This challenge is very crucial for signal distribution from central station to base stations in the 5G mobile and wireless networks [16]. The reason is that the mm-W signals are preferred to use for next generation mobile systems. In the next example, the optical fiber length is changed from 0 to 10 km and two frequencies are selected; 3-GHz and 39-GHz. The results are shown in Fig. 6. 0,-=!----L ■ I I i , a -10 -50-1-1-1-1-1-1-1-1-1- 01 23456789 10 Optical fiber length (km) Figure 6. Power penalty of the 3-GHz (blue) and 39 GHz (red). As can be seen from the graph, there is no power penalty in 3 GHz, and there are two deep points in 39 GHz due to the power penalty. That simulation supports the theory on the power penalty due to the chromatic dispersion. 4 Conclusion In this paper, we have explained the basics of AFOL. We described the operational regions of MZM and presented simulation studies, highlighting the quadrature bias region as the most useful area for mm-W signal applications. In addition, we have shown the equations for photocurrent after quadratic photodetection and described the electrical power penalty. Finally, we have performed simulations to demonstrate how the p-W signal and its harmonics in mm-W range are affected by chromatic dispersion and how power penalty affects p-W and mm-W signals. Acknowledgment The authors would like to express their gratitude to the company InLambda BDT d.o.o. for the research equipment and devices. The work presented in this article was created within ARRS Algorithms and optimization procedures in telecommunications program and FIWIN5G Innovative Training Network, which has received funding from the European Union's Horizon 2020 Research and Innovation Program 2014-2018 under the Marie Sklodowska-Curie grant agreement No.642355. References [1] M.A.Ilgaz, E. Udvary, and B.Batagelj: Influence of Fibre Chromatic Dispersion on the Performance of Analogue Optical Links for an Opto-electronic Oscillator within a 5G Network Structure in ERK 2016, 19.-21. September 2016, Portorož, Slovenia. [2] M.A.Ilgaz, and B.Batagelj: Opto-Electronic Oscillator in the mm-W range for 5G Wireless and Mobile Networks: Design Challenges and Possible Solutions in ONDM 2017, 15. -17. May 2017, Budapest, Hungary. [3] H. Schmuck: Comparison of optical millimeter-wave system concepts with regard to chromatic dispersion in Electron. Lett., vol. 31, no. 21, pp. 1848-1849, October 1995. [4] U. Gliese, S. Norskov, and T. N. Nielsen: Chromatic dispersion in fiber-optic microwave and millimeter-wave links in IEEE Trans. Microwave Theory Tech., vol. 44, pp. 1716-1724, October 1996. [5] A. Garcia, S. Fedderwitz, and A. Stohr: Optical generation of low-phase noise microwave signals using nonlinear MZM and ultra-long SOA in IMOC 2011, 29. October-1. November 2011, Natal, Brazil. [6] G. E. Betts, and F. J. O'Donnell: Optical Analog Link Using a Linearized Modulator, Lasers and Electro-Optics Society Annual Meeting in LEOS '94, 31. October-3 November 1994, Boston, USA. [7] M. Shin, P. S. Devgan, V. S. Grigoryan, and P. Kumar: Low Phase-Noise 40GHz Optical Pulses from a Self-Starting Electroabsorption-Modulator-Based Optoelectronic Oscillator in OFC, 5.-10. March 2006 Anaheim, USA. [8] G. W. Lee, and S.K. Han: Linearization of a narrowband analog optical link using integrated dual electroabsorption modulator in Microwave Photonics, vol. 1, pp. 21-24, November 1999. [9] H. Salgado: Dispersion in Optical Fibers, Dec. 2007, https://paginas.fe.up.pt/~hsalgado/co/docs/phase_group _vel_dispersion.pdf [10] B.Batagelj: Generiranje dveh enako polariziranih optičnih frekvenčnih komponent z Mach-Zehnderjevim modulatorjem in ERK 2003, 25.-26. September 2003 Portoroz, Slovenia. [11] A.F. Elrefaie, R.E. Wagner, D. A. Atlas and D.G. Daut: Chromatic Dispersion Limitations in Coherent Lightwave Transmission Systems in Journal of Lightwave Optics, vol. 6, no. 5, pp. 704-709 May 1988. [12] G. H. Smith, D. Novak and Z. Ahmed: Overcoming Chromatic Dispersion Effects in Fiber-Wireless Systems Incorporating External Modulator in IEEE Trans. on Mic. Theory and Techn., vol. 45, no. 8, pp.1410-1415, August 1997. [13] Shcherbakov Vladislav V., Solodkov Anatoly F., and Zadernovsky Anatoly A.: Transmission of Light Intensity Modulation signals in Analog Fiber-Optic Links in RENSIT, vol.8, no.1, pp. 9-24, June 2016. [14] A. Hilt: Microwave harmonic generation in fiber-optical links in Journal of Telecommunications and Information Technology, pp.22-28, January 2002. 76 [15] Bostjan Batagelj, et al., "Convergence of fixed and mobile networks by radio over fibre technology in Inform. MIDEM, vol. 41, no. 2, pp. 144-149, June 2011. [16] M. A. Ilgaz, and B. Batagelj: Preliminary idea for a converged fixed and mobile network infrastructure with 5G using Radio-over-Fiber technology and an OptoElectronic Oscillator in the millimeter-wave range in Proc. ICTON 2016, 10.-14. July 2016, Trento, Italy, paper Tu.P.5. 77 Second order performance of relay communication system with three sections in the presence of Nakagami-m and Rician fading Dragana Krstic1, Petar Nikolic2, Danijela Aleksic3, Dragan Vuckovic4, Mihajlo Stefanovic1 1 Faculty of Electronic Engineering, University of Niš, Niš, Serbia 2 TigarTyres, Pirot, Serbia 3 College of Applied Technical Sciences, Nis, Serbia 4 University Business academy, Faculty of Economics and Engineering Managment, Novi Sad, Serbia E-pošta: dragana. krstic@elfak. ni.ac. rs Abstract. In this paper, the product of arbitrary and independent random variables (RVs) is analyzed. Level crossing rate (LCR) of product of two Nakagami-m random variables and Rician random variable is calculated. This formula for LCR can be used for evaluation the average fade duration (AFD) of wireless relay communication radio system with three sections working over small scale fading channel with presence of Nakagami-m fading and Rician fading. The influence of Nakagami-m parameter, Rician factor, Nakagami-m fading power and Rician multipath fading power on the LCR is considered. 1 Introduction There are much discussions of statistical characteristics of the ratios and products of random variables (RVs) lately. The statistical characteristics of random processes can be of the first order and the second order. The first order statistical characteristics are: probability density function (PDF), cumulative distribution function (CDF), characteristic function, outage probability (OP), the amount of fading (AoF), bit error probability (BEP) and moments. Important moments are: the first moment or average value, the second moment or average square value, and the third mentent or cube value. are important characteristics of wireless systems. Statistical characteristics of the second order are: joint probability density function of signal envelope and the first derivative of the signal envelope, joint probability density function of signal envelope in two time instants, level crossing rate (LCR) and average fade duration (AFD). LCR can be calculated as average value of the first derivative of random process [1], AFD can be calculated as the ratio of outage probability (OP) and LCR, and OP can be calculated as probability that signal envelope falls below the determined threshold [2]. The formula for LCR obtained here can be used for calculation LCR of product of three Rayleigh random variables, or product of Nakagami-m random variable and two Rayleigh random variables, and of product of Nakagami-m random variable, Rayleigh random variable and Rician random variable. LCR of product of three Rayleigh random variables can be used for calculation of AFD of wireless relay communication system with three sections working over multipath fading channel in the presence of Rayleigh fading. There are many works considering performance of the second order of wireless communication radio system in the presence of short term fading. In [3], LCR of product of N Rayleigh random processes is derived and this result is used for calculation AFD of wireless relay communication systems operating over Rayleigh multipath fading channels. In [4], LCR of product of two Nakagami-m random processes is obtained and used for evaluation the AFD of wireless relay communication radio system with two sections operating over Nakagami-m short term fading channel. The PDF, CDF, and moments for distribution of N*Nakagami fading are derived by Meijer's G-function in [5], and the first order performance are derived for a few modulation schemes which work in channels under presence of N*Nakagami fading. This derivation is useful for cascaded channels in the presence of Nakagami-m fading. In the literature, the ratio of product of two random processes and random process and statistics of the ratio of random process and product of two random processes are considered. LCR of the ratio of product of two random processes and product of other two random processes is also analyzed in the literature. Later, newer, general distributions like a-^ are taken into considerations. So, the product of three arbitrary and independent a-^ random variates is processed in [6]. The closed-form expressions for PDF, CDF, and moments are derived. It is shown the calculation process of AoF and OP in cascaded channels. In this paper, LCR of product of two Nakagami-m random processes and Rician random process is calculated. Obtained expression can be then used for calculation of the AFD of wireless relay communication system with three sections where in the first and second sections Nakagami-m fading is present, and in the third one, Rician fading is present. To the best authors' knowledge, LCR of product of two Nakagami-m random variables and Rician random variable is not observed in available technical literature. The results from this paper could be useful in performance analysis of wireless relay communication systems. The paper is organized through four sections. The first, introduction, describes previous works in the field of research. In the second one section, the statistics of defined product of three RVs is presented and LCR is derived. Then, obtained formula in closed form is confirmed by some graphs and parameters' influence is analyzed. The conclusion is final part of the paper. ERK'2018, Portorož, 100-103 78 2 Derivation of level crossing rate of product of two Nakagami-m random variables and Rician random variable 2.1 Distribution of random variables Random variables xh and x2 have Nakagami-m distribution [7]: M xi ) = ( m. r( m,) Qj - mi x2 q2 m-1 e Q , x > 0 (1) After substituting, the expression for variance becomes: ^2 „2 f2 =n Jm f 2 2 Q x2 Q2 x2 Q3 ^ x x2_- H---— H---3 x2 x3 + 2 + 2 V y _ 2 /-2 2 2 Q1 = ^ JmX2 X3 m. 1 + m x2 m2 x3 K + 1 x2 1 Q2 m x2 1 Q m n fm x2 x3 Qj ^ x2 Q m x2 Q m, 1 + r — —- + - 3 1 ^ x^ xl m2 q1 x2 x^ k +1 q1 (12) Px2 (x2 ) = ( \m2 m r( m2) vq y x2m-1e q2 , x ^ 0 (2) Random variable x3 has Rician distribution [8]: X ( 3) Q3 X 1 Q3 J (i!)2 , x ^ 0 . (3) Here Qi, Q2 and Q3 are powers of random variables xh, x2 and x3 respectively, mh and m2 are fading severity parameters of Nakagami-m RVs x1 and x2, and k is Rician factor of RV x3. 2.2 Product of three RVs Random variable x is the product of xh x2 and x3 and is given by: The first derivative of x is: The mean value of x is: since [9] The variance of x is: where: 2 222 222 222 CT2 = x2 x3CTx + + x1x2CTx 2 2 /-2 Q1 = n Jm - m. ^2 _2 /-2 Q2 ^ = n Jm - 2 mm Q, 2 2 ,-2 q3 ^ =U Jm -7 K +1 (4) (5) (6) (7) (8) (9) (10) (11) and fm is maximal Doppler frequency. The joint probability density function of x, X , x2 and x3 is: Pxxxx, x, (XXX2 X ) = Px (X1 XX2 X ) • ■Px (x / x2 x3 ) Pxz (x2 ) Px3 ( x3) The joint PDF of x and x is: Pxx ( xx) = J dx2 J dx3 Pxxxz x3 ( xxx2 x3 ) = (13) 0 0 w w = J dx2 J dx3 Px, xxx (x / xx2 x3 ) Px (x / x2 x3 ) p^ ( X2 ) p^ ( X3 ) 0 0 where is: Px (x / x2 x3 ) = dxj I x I dx P*1 V x2 x3 y dx 1 (14) (15) After substituting, the expression for p^ (xX) becomes: Pxx (xx) = J dx2 J dx3 Px (x / xx2 x3 ) ■ 1 0 0 x PxA - I Px2 (x2 ) Px3 (x3 ) . (16) 2.3 LCR of product of three RVs Level crossing rate of x is [10]: to NX = { dXXPXX (XX) = = J dx2 Jdx, I JdxxPx (x / xx2x3) 0 0 V 0 ( x ^ Px, ( x2 ) Px, (x3 ) = J dx2 J dx3 -i= ax-^7Px1 I -x- I Px2 (x2 ) Px3 (x3 ) = 0 0 x2x3 V x2x3 y m 22 0 79 1 "1/2 1 /• "1 _.2m,-1 f 2m-i 2 ("LI"1 2 ( m^m x 'r(miJ r("2)l"2 S/( x2, x3 ) 2" x 2m2 Sx, "i x3 X32 "2 (23) 2 (k + 1)» (K(K + 1)Y 1 ~ à [ "3 J (iff » » •J dx2 J dx -2^ +1-1+2 m -1 -2^ +1+21+1-1 1 xQ S/( x2 ' x3 ) Sx, 2m x "1 x2 xl 2 (k + 1) Q, (24) The x20 and x30 are the solutions for the last two equations to be equal to zero. - mj I -mx2 -K+1 x2 ^ "1 I x2x3 J g Q2 2 g Q3 3 ^ i 2 2 V/2 x m x m 1 + 42 -2- + 2 4 -3-- x2 x3 x2 x3 K + 1 "j "1 : ,j2^%/m ---1/2 x m -12 ( m m 2 ( m. r(m) V"i J r(m)lvo2 A1' 2(k + 1) » (K(K + 1) ■3 ,=0 V "3 J 1 (i!)2 • J dx2 J dx3. m1 x m2 2 k+1 2 2 2 x2 x3 -2m+2m -1^.-2m+2''+^ "1 xx "2 "3 e f 2 2 V/2 x " m x m 1 +42 -2— + 2 4 -3-- x2 x3 " x2 x3 K + 1 "j (17) » » J dx2 J dxg ( x, x ) eV ( ^ > = 1_1Îx201x3lL „V( x20, ) ^ (B (x20' x30 )) where x20 and x30 are solutions of: Sx 20 Sx 30 and: B ( x20 , x30 ) = S / (x20 , x30 ) S / (x20 , x30 ) Sx; 20 Sx20Sx30 S / (x20 , x30 ) S /(x20 , x30 ) Sx20Sx30 Sx 30 For our case, it is: g ( x2 ' x3 ) = -2 m +2m -1 -2m +21+1 - v* 1 2 V 1 x i 2 2 V/2 x " m x m, 1 +--;—T- — — + - 3 1 x2 x3 " 1 m 2 x2 x3 " 1 W3 / ( x2 , x3 ) 3 Presentation of numerical results In this paper, LCR of product of two Nakagami-m random variables and Rician random variable is evaluated and presented in the next three figures. The impact of Nakagami-m parameters m1 and m2, Rician factor k, Nakagami- m fading powers Qi and Q2, and Rician multipath fading power Q3, on the LCR is analyzed. In Fig. 1, LCR normalized by fm is shown versus signal envelope x for some values of parameters m1, Q1 and Q3. It is evident from this figure that LCR reaches maximum for very small x, and start to decrease for higher values of signal envelope. Therefore, the influence of signal envelope on the LCR is bigger for low values of signal envelope. For bigger Nakagami-m fading parameter m1, LCR is smaller. It is also visible that LCR grows up with an increase of Nakagami-m fading power Qi and Rician multipath fading power Q3. Last integral can be solved using Laplace approximation theorem for solution two-fold integral [11]: m1=Û.7tni=1,m2=1,ÎÏ2=1tk=1,fi3=1 m1 =1 pilfl=1 ^n2=1 ,SÎ2=1 ,k=1 ,ÎÎ3=1 m1 =1,3,S11=1 ,m2=1, ii2=1 Jt=1 ,îî3=1 m^l ,Q^-2,mz=1 ,i~>2=1 ,k=1 ,i"î3=3 m^t ,iî1=3lm:2=1 ,i">2=1 ,k=1 ,i>3=3 m,=1 ,.Q =4,m =1 ,0=1 ,k=1 ,i"!„=3 (18) cjf (x20, x30 ) _ q S/' (x20 , x30 ) ^^ Figure 1. LCR normalized by fm versus signal envelope for various values of parameters m1, Q1 and Q3 (20) 11^=07,^=1 ,iri2=0.7,fi2=1 ,k=1 tii3=1 m1=07,il1 =1 ,m2=1 ,i"»2=1 ,k=1 ,S"»3=1 11^=07,^=1 ,m2=1 ,3,ÎÎ2=1 ,k=1 ,ïi3=1 11^=07,^=1 ,m2=1 ,fi2=1 ,k=1,03=3 11^=07,^=1 ,m2=1 ,fî2=2,k=1 ,Û3=3 in =07,iî =1 ,iri =1 ,fi =3,k=1 ,S1 =3 (21) m1 x m2 2 k+1 2 or xx2 ~m x2- 07 x3 (22) Figure 2. Normalized LCR for various m2, 02 and D3 2 3 m 80 Figure 3. LCR normalized by fm depending on signal envelope x for different values of parameters k, Q1 and Q3 LCR versus signal envelope x for several values of Nakagami-m parameter m2, and fading powers Q2 and D3 is presented in Fig. 2. From Fig. 2, one can see that LCR decreases as Nakagami-m parameter m2 increases. The influence of signal envelope on the LCR is greater for smaller values of Nakagami-m parameter. When power Qi increases, the LCR wanes, and when Q3 enlarges, LCR enlarges too. Normalized LCR depending on the signal envelope x, for different values of Rician factor k, Nakagami- m fading power Q1, and Rician fading power Q3, is given in Fig. 3. Can be noticed from the last figure that LCR decreases as Rician factor increases. The impact of signal envelope on the LCR is smaller for higher values of Nakagami-m parameter and higher values of Rician factor. The influence of Rician factor on the LCR is biger for greater values of Nakagami-m fading parameter. LCR decreases as Rician factor increases. 4 Conclusion The product of two RVs has application in double and composite fading channels for characterizing shadowed fading in device-to-device channels. The product of N RVs is suitable for cascaded fading channel with N sections. In this work, we decide to examine triple fading channel and derived LCR for such scenario. As an application, this formula for LCR in closed form is used as the multihop wireless relaying system performance. The obtained closed form expression is verified for some values of fading powers and parameters. The outcomes of the paper are expected to be useful for researchers studying fading models for multiple scattering radio propagation scenarios which, among other things, appear in forests and urban microcells via diffracting street corners. It would be interesting to measure exact channel parameters which can verify the suitability of the proposed distribution of the product of double Nakagami and Rician processes and verify modeling of realistic wireless fading channels, which are theoretically analzyed here. Acknowledgment This paper is partially supported by the Ministry of Education, Science and Technological Development of Republic of Serbia within the projects TR-33035 and III-44006. References [1] G. L. Stuber: Mobile communication, 2nd ed. Dordrecht: Kluwer Academic Publisher, 2003. [2] P. Mohana Shankar: Fading and shadowing in wireless systems, Springer, New York Dordrecht Heidelberg London, 2012, DOI 10.1007/978-1-4614-0367-8 [3] Z. Hadzi-Velkov, N. Zlatanov, and G. K. Karagiannidis: Level crossing rate and average fade duration of the multihop Rayleigh fading channel, IEEE International Conference on Communications, 19-23. May 2008, Beijing, China, DOI: 10.1109/ICC.2008.835 [4] N. Zlatanov, Z. Hadzi-Velkov, and G. K. Karagiannidis, "Level crossing rate and average fade duration of the double Nakagami-m random process and application in MIMO keyhole fading channels", IEEE Communications Letters, vol. 12, no. 11, pp. 822 - 824, Nov. 2008, DOI: 10.1109/LC0MM.2008.081058 [5] G. Karagiannidis, S. Nikos, and M. Takis: N*Nakagami: a novel stochastic model for cascaded fading channels, IEEE Transactions on Communications, Vol. 55, No. 8, 2007, pp. 1453-1458. [6] E. J. Leonardo and M. D. Yacoub:, Statistics of the product of arbitrary a-^ variates with applications, 2014 IEEE 25th International Symposium on Personal, Indoor and Mobile Radio Communications, 2-5 Sept. 2014, Washington, DC, USA, pp. 73-76, DOI: 10.1109/PIMRC.2014.7136135 [7] M. Nakagami: The m-distribution: A general formula of intensity distribution of rapid fading, in W. C. Hoffman (ed.), Statistical Methods in Radio Wave Propagation: Proceedings of a Symposium held June 18-20, 1958. Pergamon Press, New York, pp. 3-36, 1960. [8] Rice, S. O., Mathematical Analysis of Random Noise. Bell System Technical Journal 24 (1945), pp. 46-156. [9] A. Papoulis, Probability, Random Variables, and Stochastic Processes, 3rd. ed., New York, McGraw-Hill, 1991. [10] S. Panic, M. Stefanovic, J. Anastasov, P. Spalevic: Fading and interference mitigation in wireless communications, USA: CRC Press, 2013. [11] Jose L. Lopez and Pedro J. Pagola: A simplification of the laplace method for double integrals. application to the second appell function, Electronic Transactions on Numerical Analysis, ISSN 1068-9613, Vol. 30, 2008. 81 Multimedija Multimedia Pilotna rešitev za prikazovanje komplementarnih vsebin s pomočjo nadgrajene resničnosti Matej Koplan, Klemen Pečnik, Matevž Pogačnik Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: matkoplan @gmail.com A pilot augmented reality solution for displaying complementary content Abstract. This paper presents an implementation of a pilot augmented reality solution which allows users to view complementary content as holograms using a Microsoft HoloLens headset. The main advantage of the solution is being able to display complementary content without modifying the original, thus preserving the experience for the users without the headset. In this way we have also solved the ergonomic problems that come hand-in-hand with second-screen solutions such as the gorilla arm syndrome. There are many potential use cases for this type of a solution, such as complementary information about/for: tourist attractions, museums, guided tours, education, cinema, and television channels Although the application of this solution was developed for television channels, it can be applied to any of the listed options. As a pilot project we have made an additional video stream for the deaf and hard of hearing. If applied by internet service providers, this solution would remove the need for duplicate video channels for the deaf, since the only difference is the sign language interpreter, effectively halving the bandwidth needed for each such channel. The solution consists of a web application, containing a video player for the main content, a Microsoft HoloLens application, displaying complementary content and a NodeJS server, synchronising the two. 1 Uvod 1.1 Cilj projekta Cilj tega projekta je bil izdelava aplikacije za prikaz dodatnih vsebin, ki nima slabosti trenutnih rešitev, in sicer s pomočjo nove tehnologije - z Microsoft HoloLens očali za mešano resničnost, ki prikazujejo holograme, s katerimi obogatimo prostor, v katerem se nahajamo. Želeli smo rešiti več težav, ki se pojavljajo pri uporabi trenutnih rešitev za dodatno vsebino. Tovrstni pristopi k prikazovanju dodatnih vsebin so uporabni za številne scenarije, kot so uporaba v muzejih, galerijah in v turizmu, prikazovanje dodatnih vsebin v športu ali za izobraževalne namene, ne glede na področje uporabe pa tudi za nadomeščanje zvočnih informacij za gluhe in naglušne uporabnike. Prva težava teh rešitev je 'ločenost' komplementarnih vsebin od glavne vsebine zaradi fizične razdalje med njimi. Druga težava so ergonomske težave, ki pridejo z roko v roki skupaj z rešitvami tipa "second-screen", saj je velikokrat treba napravo držati v roki dalj časa neprekinjeno, kar predstavlja ergonomski problem. Pod to točko spadajo tudi vse ostale ergonomske težave, do katerih pride pri uporabi fizičnih rešitev. Tretja s tem povezana težava je žrtvovanje glavne izkušnje za namene prikaza dodatnih informacij. Vse znane rešitve imajo vsaj eno izmed naštetih težav, naš cilj pa je bil razvoj aplikacije, s katero bi se jim ognili. 1.2 Obstoječe rešitve Nekaj rešitev z dodatnimi vsebinami že obstaja, a menimo, da ima vsaka vsaj kakšen problem, ki ga ne moremo prezreti, če hočemo uporabniku ponuditi kvalitetno izkušnjo. Te težave so večinoma ergonomske narave ali pa žrtvujejo kvaliteto izkušnje za uporabnike, ki dodatne vsebine ne potrebujejo. Identificirali smo tri glavne obstoječe rešitve: Prva rešitev so kanali [1], kjer je video v načinu slika v sliki (ang. picture in picture video). To je način, ki se trenutno uporablja v televizijskih programih. Ta rešitev prekrije del zaslona z osnovno vsebino, hkrati pa ga še zmanjša. Tako lahko gledalec izgubi pomembne informacije, ki bi jih na navadnem kanalu videl. Tako ta rešitev poslabša izkušnjo za vse gledalce, tudi za tiste, ki dodatno vsebino potrebujejo. Tovrstna rešitev velikokrat zahteva prenos dveh televizijskih kanalov, enega za navadne gledalce in enega za slušno prizadete. S tem operaterjem efektivno podvoji zahtevano pasovno širino za prenos televizijskega kanala. Slika 1. Rešitev slika v sliki. [1] Druga rešitev je rešitev tipa drugi zaslon (ang. second-screen) [2]. Takšna rešitev večinoma uporablja telefonske in tablične aplikacije na drugi fizični napravi. Le-te prikazujejo dodatne informacije, kot je statistika o ERK'2018, Portorož, 100-103 85 trenutni igri športa, dodatne informacije o artiklu, ki ga reklama predstavlja ipd. Največja težava tega tipa rešitve je razmik med televizijo in dodatno napravo, kar oteži hkraten ogled obeh vsebin. To lahko rešimo s tem, da napravo držimo pred seboj, vendar je to za uporabnika precej utrujajoč položaj, ki ne more biti dolgo vzdrževan in lahko povzroči sindrom goriline roke (ang. gorilla arm syndrome [8]). Slika 2. Rešitev tipa drugi zaslon podjetja 2Immerse. [3] Tretja rešitev [3], ki jo je naredil laboratorij IRT, pa temelji na Microsoft Hololens očalih. Pojavila se je šele v končnih fazah izdelave naše rešitve in smo jo vzeli kot potrditev, da gremo v pravo smer. Ta rešitev prikazuje hologram kretalca znakovnega jezika poleg televizijskega zaslona. Osebi, ki še ni uporabljala HoloLens očal, lahko izgleda ta rešitev ustrezna, čeprav ima skrit problem. To je omejen kot vida. Takšna rešitev zahteva, da mora uporabnik gledati televizijo od daleč ali pa mora imeti glavo usmerjeno v hologram kretalca znakovnega jezika. Če uporabnik tega ne naredi, bo hologram ob robu odrezan ali pa sploh ne bo viden. Zaradi implementacije rešitve je okno kretalca tudi nemogoče zožiti. Iz teh razlogov je ta rešitev precej neudobna za dolgotrajno uporabo, hkrati pa se je težko osredotočati na obe vsebini hkrati, saj je med njima veliko prostora. Slika 3. Rešitev laboratorija IRT. [3] 1.3 Zasnova naše rešitve V projektu smo se osredotočili na nudenje dodatne vsebine za video gluhim in naglušnim. Ugotovili smo, da potrebujemo dva holograma. Enega za video kretalca, drugega pa za podnapise. Vsakemu smo določili kontrole za povečavo, premikanje in izbris. Odločili smo se, da bomo gledalcu omogočili prilagoditev velikosti in lokacije teh dveh hologramov, saj niso vse televizije enako velike. Poleg tega smo tudi omogočili, da uporabnik posamezen hologram izklopi, če ga ne potrebuje. I Slika 4. Prva zasnova naše rešitve. Slika 4 predstavlja naš začetni koncept izgleda aplikacije. Na sredini je televizor z glavno vsebino, zraven pa holograma z dodatno vsebino. Razporeditev je podobna sedanjim izkušnjam, ki jih imajo uporabniki -podnapisi na dnu slike so sedaj spodaj, dodatna vsebina, ki je bila prej v desnem predelu slike, pa je sedaj na desni strani zaslona. Med zasnovo smo pazili na omejeno območje prikaza hologramov in na lahkost interakcije, saj lahko natančno klikanje majhnih elementov zelo hitro postane utrujajoče. Pri kliku je namreč potrebno element centrirati z obratom glave, ki pa se vedno nekoliko premika. 2 Izdelava rešitve Izdelava je potekala v več fazah. Pri vsaki smo se soočili z različnimi izzivi. 2.1 Uporabljene tehnologije Pri razvoju smo uporabili naslednjo opremo in tehnologije: - Unity3D razvojno orodje za izdelavo video igrer, ki je hkrati uradno razvojno orodje za Microsoft Hololens aplikacije. - Microsoft HoloLens SDK (ang. software development kit), ki v kombinaciji z Unity3D omogoči izgradnjo (ang. build) aplikacije in prenos le-te na očala. - Visual Studio 2017 in Windows 10, saj sta zahtevana za razvoj Hololens aplikacij [6]. - NodeJS strežnik s procesnim upravljalnikom PM2. - Spletne tehnologije za implementacijo video predvajalnika (HTML, CSS, JavaScript). - HoloLens emulator in fizično napravo. 2.2 Interakcija z napravo in omejitve naprave Med razvojem smo se spopadali z dvema glavnima omejitvama. 86 Prva omejitev je bila novost Microsoft HoloLens. To je pomenilo, da še ni bilo na razpolago veliko programskih knjižnic, ki bi pomagale pri razvoju takšnih aplikacij, tiste, ki pa so že bile, pa so bile še vedno v povojih. Poleg tega je bilo pri razvoju treba upoštevati, da HoloLens SDK ne podpira vseh funkcionalnosti razvojnega orodja Unity3D. Posledično smo morali veliko stvari implementirati sami. Druga težava je bila omejen vidni kot, ki ga očala omogočajo. To pomeni, da elementi niso smeli biti preveliki, saj ne želimo prekriti glavne vsebine. 2.3 Implementacija uporabniškega vmesnika in HoloLens različica Najprej smo naredili osnovo uporabniškega vmesnika v Unity3D brez HoloLens SDK in implementirali interakcijo, potem pa smo jo prenesli na očala. Slika 5. Hologram podnapisov in video predvajalnika. Med prenosom aplikacije na očala HoloLens smo opazili, da navadne 'onClick' (koda, ki se izvede ob kliku elementa) funkcije, ki jih Unity3D ponuja, ne delujejo na njej, čeprav se je v Unity3D emulatorju vse obnašalo po pričakovanjih. Za rešitev te težave smo implementirali "poslušalca" (ang. "listener", programerski izraz za element v kodi, ki čaka na določen dogodek in ko pride do njega, aktivira drugo programsko kodo). S tem smo dosegli, da so se gumbi obnašali po pričakovanjih tudi na napravi. V tej fazi smo še vedno reševali problem ozkega vidnega kota, ki ga naprava omogoča. Holograme smo postavili fiksno v prostor z možnostjo, da jih uporabnik po želji prilagodi. Pri takšni implementaciji se efektiven prostor za holograme še dodatno zmanjša, saj je treba preprečiti, da se hologrami odrežejo, ko uporabnik nekoliko premakne glavo. To pomeni, da morajo biti hologrami postavljeni z nekaj rezervnega prostora, saj uporabniki vedno vsaj malo premikajo glavo. Primerna razdalja od roba vidnega polja je odvisna od uporabnika in jo je možno tudi prilagoditi s povečavo ali premikanjem elementov. 2.4 Predvajanje video posnetka in podnapisov ter sinhronizacija V tej fazi smo implementirali prenos podnapisov in videa. Prenos podnapisov smo naredili s preprostim HTTP zahtevkom. Prikazujemo jih z uporabo interpreterja, ki smo ga implementirali sami. Zaradi razširjenosti smo uporabili format WebVTT [7]. Vsebino polja za podnapise nadzira sinhronizacijska koda, ki prejema informacije od kontrolnega strežnika. Video zaradi performačnih razlogov, ki izvirajo iz prenosa videa, ne sme biti prevelik.. Ker Unity3D v kombinaciji z Microsoft Hololens nativno ne podpira pretočnega videa (ang. video streaming), ga je potrebno prenesti vnaprej. Za tovrsten prenos potrebujemo nekaj sekund, preden je video pripravljen, kar je še v okviru sprejemljivih mej. Upamo, da bo Unity kmalu v svoji programski knjižnici dodal podporo za pretočni video. 2.5 Glavni predvajalnik, strežnik in sinhronizacija V končni fazi smo implementirali še sinhronizacijo med video predvajalnikom in očali. V spletni aplikaciji smo uporabili HTML5 video predvajalnik. Napisali smo preprosto JavaScript kodo, s katero je možno ugotoviti status videa in predvajani delež ter posredovati te informacije strežniku. S to kodo informacije pošljemo strežniku do desetkrat na sekundo, a le v primeru sprememb (preskok v videu ali njegova zaustavitev). Strežnik si zapomni zadnje informacije o statusu in jih ob zahtevi Hololens aplikacije posreduje naprej. Hololens aplikacija s pomočjo sinhronizacijske kode ugotovi delež preteklega videa in status videa (to je pavza ali predvajanje). To naredi tako, da upošteva čas, ko je bila informacija poslana s spletne aplikacije, delež pregledanega posnetka ob času pošiljanja in status predvajanja. Da dosežemo želeno natančnost, je pomembno, da je podan čas naveden v milisekundah. Čas, ko je bila informacija poslana, se primerja s časom HoloLens očal in s časom videa. S pomočjo tega lahko ugotovimo, kakšen mora biti čas videa na naši strani, in sicer s preprosto formulo (čas HoloLens -poslan čas + čas videa = trenutni čas videa). Izračunan čas se uporabi za sinhronizacijo podnapisov in videa. S tem pristopom trajanje zakasnitve prenosa informacij iz predvajalnika do strežnika in naprej do HoloLens naprave nima vpliva na natančnost sinhronizacije. Zanašamo se le na natančnost ur v predvajalniku glavne vsebine (TV-program) in HoloLens napravi. Ugotovili smo, da je dovolj, če se sinhronizacija izvede le nekajkrat na sekundo. 2.6 Stopnja sinhronizacije Pri razvoju smo testirali več različnih stopenj sinhronizacije. Pri visokih stopnjah (60 Hz ali višje) smo opazili performančne probleme, pri nizkih (1 Hz ali manjše), pa je bilo skakanje pri zaustavljanju videa preveč opazno. Na osnovi poskusov smo izbrali 10 Hz, kot dovolj dobro stopnjo brez performančnih problemov. Ker naša sinhronizacija temelji na urah naprav, je možno, da avtomatski popravki ure, ki se na današnjih napravah dogajajo precej pogosto, povzročijo napake. Za rešitev tega problema smo predpostavili, da je popravek ure skoraj vedno majhen (manjši od 100 ms) in razlike v času, ki so manjše od tega, preprosto ignorirali. To je 87 bistveno izboljšalo gladkost dodatnega videa in podnapisov. Na specifični rešitvi, ki smo jo razvili, smo ugotovili, da je potrebno upoštevati gibanje kretalca. Za razliko od podnapisov, ki jih lahko beremo tudi med pavzo, ali pa govora, kjer lahko tudi z delom besede ugotovimo, kaj je bilo izrečeno, se pri kretanju ob pavziranju izgubi veliko več pomena. To smo rešili tako, da Hololens, kljub temu da že prejme informacijo o pavzi, dodatno video vsebino nadaljuje še 1.5 sekunde, kar je dovolj, da kretalec konča začeto gesto. Pri nadaljnjem predvajanju se ta del predvaja še enkrat. 2.7 Območje vida Kot projeciranja hologramov na očala Hololens je zelo omejen in znaša 45 stopinj [5]. Približek vidnega polja po širini si lahko najlažje predstavljamo, če iztegnemo roki predse, razširimo prste in se z enim palcem dotaknemo drugega. Če upoštevamo, da hoče uporabnik imeti v centru vida še kaj drugega, se zavemo, da pravzaprav ni veliko prostora in se moramo omejiti na manjše število elementov, ki jih porazdelimo po vidnem polju tako, da ne zavzamejo preveč prostora. 3 Možne izboljšave V sklopu tega projekta smo naleteli na problem prenosa videa, saj Unity3D ne podpira prenosa videa v živo. To bi se dalo potencialno rešiti na več načinov in bi bilo tudi potrebno v primeru končne rešitve, saj bi lahko čakanje na prenos dolgega videa trajalo predolgo za dobro uporabniško izkušnjo. Identificirali smo tri možne rešitve, ki bi najbolje in najbolj izvedljivo rešile omenjeno težavo. Vsaka ima svoje prednosti in slabosti. Prva rešitev je prireditev videa, kot da bi prihajal iz spletne kamere. Jasna slabost je to, da tovrstne kamere niso temu namenjene in bi implementacija zahtevala veliko prilagoditev, saj bi bilo prejete informacije med tekom programa potrebno pretvoriti v teksture, ki bi jih potem 'prilepili' na element v Unity3D, ki predstavlja video predvajalnik, kar pa je zelo zahtevno. Druga rešitev je uporaba Microsoft Azure pretočnega videa, edinega načina, ki ga HoloLens nativno podpira. Ta je od vseh najbolj preprosta, poleg tega pa se je v zadnjem času tudi bistveno pocenila. V času pisanja tega članka je mesečna cena storitve, ki premore pasovno širino 600 Mb/s, kar zadostuje za do 200 uporabnikov hkrati, 54 € [4], kar predstavlja za veliko ustanov še sprejemljive stroške. V primeru, da plačevanje za storitev ni možno, pa obstaja tudi tretja možnost, ki je implementacija lastnega protokola za psevdo-pretočni video. Druge izboljšave zahtevajo izboljšavo vidnega polja naprave. 4 Sklep Menimo, da je projekt uspešen, saj smo uspeli narediti rešitev, ki: - je vsebinsko primerljiva obstoječimi rešitvami, saj podobno kot rešitev "slika v sliki" uporabi podnapise in kretalca znakovnega jezika. S tem zajame vse prednosti omenjene rešitve in lahko postane njena nadgradnja, - odpravi probleme dvojnega prenosa vsebin in s tem povezanega sočasnega oddajanja dveh programov. Oddaja se le še originalen program, dodatno vsebino pa se lahko prenese tudi drugače, - ne zniža kvalitete izkušnje gledalcu brez očal, saj osnovna vsebina ostane enaka, - omogoča, da gledalec zlahka sledi hkrati glavni in dodatni vsebini v udobnem položaju, ker se ne zanaša na naprave, ki jih je treba držati v rokah, - dobro izkoristi območje za izris hologramov in je uporabna za številne scenarije, ne glede na domeno. Rešitev bi bilo v prihodnosti, ko se bo vidni kot izboljšal, možno uporabiti tudi v kinu, kjer do sedaj ni bilo cenovno smiselno narediti posebnega predvajanja filma za gluhe in naglušne uporabnike. Z našo rešitvijo, pa to ni več potrebno. 5 Zahvale Zahvaljujemo se podjetju SportRadar, ki je laboratoriju za multimedijo (LMMFE) na Fakulteti za elektrotehniko Univerze v Ljubljani posodilo očala za razvoj aplikacij, in laboratoriju, ki je omogočil razvoj te rešitve. Poleg tega se zahvaljujemo vsem, ki so pomagali pri razvoju te rešitve z nasveti in mnenji. Literatura [1] Spletna TV, S kampanjo Zvoke v roke o pomembnosti znakovne govorice, https://www.youtube.com/watch?v=FsSuWsxmzSU [2] Rešitev 2Immerse, https://2immerse. eu/ [3] Rešitev laboratorija IRT, https://lab.irt.de/synchronised-holograms/ [4]Cenik Microsoft Azure storitev za pretočni video, https://azure.microsoft.com/en-us/pricing/details/media-services/ [5] Specifikacije Microsoft HoloLens očal, https://docs.microsoft.com/en-us/windows/mixed-reality/Hololens-hardware-details [6] Zahteve za razvoj Microsoft HoloLens aplikacij https://docs.microsoft.com/en-us/windows/mixed-reality/install-the-tools [7] WebVTT format podnapisov, https://developer.mozilla.org/en-US/docs/Web/API/WebVTT API [8] Gorilla arm syndrome, https://www.deccanchronicle.com/lifestyle/health-and-wellbeing/230617/beware-of-gorilla-arm-syndrome.html 88 Tehnologije navidezne resničnosti za prikaz športnih dogodkov Nejc Povšič, Matevž Pogačnik Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: np2758@student.uni-lj.si Use of virtual reality technology to display sports statistics Abstract. This paper addresses a mobile application which uses virtual reality technology to display sports matches and statistics. It was designed for the Android mobile operating system with the use of the Unity 3D tool, a graphics engine that allows for very fast and efficient development of graphically intensive games and simulations. The application is created for the ever-present sports market using technology that has taken the field by storm. The application displays a football game in a virtual world in conjunction with some statistics information about both teams and a complete timeline of the event. Interaction is performed with the user's gaze, which controls a cursor that can trigger various actions, such as playing or pausing a video, setting the video player to full screen, selecting a timeline event, etc. This paper explains how the application was created and which methods and technologies were used in its development. It also touches upon the possible future development in the case of a successful productivisation. 1 Uvod Z uporabo navidezne resničnosti smo ustvarili mobilno aplikacijo za gledanje nogometa v virtualnem svetu. Uporabnik je postavljen v umetno ustvarjeno okolje, kjer ima pred seboj zaslon, ki predvaja nogometno tekmo, poleg zaslona pa so postavljeni seznami s podatki o sestavi ekipe in seznami s časovnico tekme, ki vsebuje vse omembe vredne dogodke. Športne statistike za aplikacijo so bile pridobljene od podjetja Sportradar, ki se ukvarja z agregacijo in analizo športnih podatkov. Aplikacija je narejena za operacijski sistem Android z uporabo orodja Unity, igralnega pogona, ki doda vmesni nivo abstrakcije, saj sam poskrbi za računanje v prostoru, izrisovanje in grajenje za določeno platformo, tako da se lahko razvijalec posveti stvarem, ki se vsebinsko tičejo njegovega projekta. Prav tako ima zelo dobro spisano dokumentacijo in podporo uporabniške skupnosti, zanj pa je ustvarjenih ogromno vtičnikov, ki razvijalcem olajšujejo delo. 2 Uporabljene tehnologije za izvedbo rešitve 2.1 Navidezna resničnost Virtualna ali navidezna resničnost (ang. »Virtual Reality - VR«) je definirana kot računalniška simulacija, pri kateri ima uporabnik občutek, da se nahaja v umetnem okolju [1]. Kot okno v to okolje uporabimo VR vizir, ki ma vgrajeni dve leči, vsako posebej usmerjeno proti določenemu očesu, naši možgani pa nato iz obeh pogledov sestavijo enotno sliko, ki ustvarja videz, da smo v drugem svetu. Vizir ima lahko zaslona za vsako oko že vgrajena ali pa je narejen tako, da vlogo zaslona prevzamejo zunanje naprave kot so mobilni telefoni, ki jih moramo vstaviti v sam vizir. Prikaz navidezne resničnosti se od klasičnega prikaza, ki smo ga vajeni, precej razlikuje, kot vidimo na spodnjih slikah 1 in 2. Za razliko od slednjega imamo pri navidezni resničnosti namesto ene kamere, skozi katero opazujemo sceno, sedaj dve. To pomeni, da mora grafična procesna enota celotno sceno izrisati dvakrat in to z večjim vidnim kotom, dvakrat izločiti elemente, ki niso vidni, preslikati tridimenzionalno sceno na dvodimenzionalni zaslon za vsako kamero, na vsaki kameri dodati distorzijo, ki pomaga pri prikazu skozi leče, vse to pa pomeni veliko več dela, ki ga mora računalnik opraviti [2]. Slika 1: Prikaz scene v navidezni resničnosti Slika 2: Prikaz scene na klasičen način Da človek zares dobi občutek, da je v navideznem svetu, mora prikaz navidezne resničnosti slediti premikom glave in, če je potrebno, tudi premikom celotnega telesa. Pri tem je zelo pomembna latenca ali zakasnitev, torej čas med sprožitvijo akcije in prejemom odgovora nanjo. Poskrbeti moramo, da je ta čim manjša, da uporabnika ne zmoti in mu ne uniči predstave, saj lahko v skrajnem primeru vodi tudi do simulacijske bolezni (slabost, izguba orientacije) [3], Da ohranjamo občutek navidezne resničnosti, je zelo pomembna tudi ločljivost zaslona, ki ga opazujemo. Obraz imamo namreč zelo blizu ekrana, zato se lahko ERK'2018, Portorož, 100-103 89 zgodi, da vidimo posamezne slikovne elemente (piksle), kar je pri virtualni resničnosti skrajno nezaželeno. Računalnik opravi vse potrebne izračune in izriše sceno na zaslon, a za prikaz potrebujemo neko napravo, da dve različni sliki, ki sta na zaslonu, prikažemo tako, da ju naši možgani lahko zlijejo. Tu pride v poštev že omenjeni VR vizir. Zelo pomembna komponenta VR viziijev so leče. Te imajo dve glavni nalogi: dovolj povečati prikaz zaslona, tako da ne vidimo robov, in ustvariti gorišče v neskončnosti [4]. Objekti na zaslonu, ki je za lečo, tako izgledajo oddaljeni dlje, kot dejansko so. Leče tudi popačijo sliko, ki jo dobijo od zaslona, zato ji je treba na zaslonu dodati inverzno popačitev, da jo naše oči vidijo čim bolj resnično [4]. 2.2 Unity Unity je platforma za razvoj iger, v katerem lahko na preprost način ustvarjamo tri- ali dvodimenzionalne računalniške igre s pomočjo najsodobnejših tehnik in tehnologij, ki so na voljo. Ideja Unity-ja je bila, po besedah ustvarjalcev, »demokratizacija razvijanja iger«, kjer bi lahko vsakdo, ne glede na poklic in izobrazbo, ustvarjal računalniške igre [5]. Uporablja ga ogromno število razvijalcev, saj je enostaven za uporabo, ima zelo dobro dokumentacijo, veliko skupnost, je zelo zmogljiv, dobro podprt in razširljiv. Zanj je ustvarjenih mnogo vtičnikov, ki uporabnikom še dodatno olajšajo delo, čeprav jih je večina plačljivih. Z Unity-jem lahko zgradimo igro za 27 različnih platform, med katerimi je tudi Android. Unity podpira dva programska jezika, v katerih lahko programiramo, C#, ki je uraden programski jezik orodja in jezik, v katerem je logika aplikacije spisana, in Javascript, ki pa ga počasi umikajo. Vse skripte za delovanje v Unity-ju so sestavljene iz dveh glavnih delov, iz funkcije Start, ki se zažene takoj, ko je skripta dodana v sceno, in iz funkcije Update, ki se požene pri vsakem izrisu nove sličice. Velika prednost Unity-ja je razširljivost, saj omogoča, da v projekt dodajamo razne vtičnike. Za želeno delovanje aplikacije smo jih morali nekaj dodati. Med njimi so bili GoogleVR, ki ga je ustvaril Google za potrebe platform Daydream in Cardboard ter je dodal nek nivo abstrakcije, saj je v ozadju poskrbel za prikaz virtualne resničnosti in pomagal pri gradnji za Android operacijski sistem, vtičnik za predvajanje posnetkov Easy Movie Texture, ki omogoča predvajanje videov v prostoru na poljubnem objektu, in vtičnik za interpretiranje oblike JSON v programskem jeziku C#. 2.3 Android Android je mobilni operacijski sistem za pametne telefone, ki je zgrajen na Linuxovem jedru. Prva različica je bila izdana leta 2008 in je bila na voljo le za peščico mobilnih naprav, ker pa je Android odprtokodni sistem, ga je kmalu začelo uporabljati vse več proizvajalcev mobilnih naprav. Tako je počasi pridobival na popularnosti in je do danes postal najbolj razširjen mobilni operacijski sistem. 2.4 Strojna oprema Za prikaz aplikacije smo potrebovali Android telefon in VR vizir, v katerega smo lahko mobilno napravo vstavili. Uporabljen je bil telefon LG G6, ki vsebuje vse potrebne senzorje in je dovolj zmogljiv, da aplikacijo poganja učinkovito in brez zatikanja. Prikazan je na sliki 3. V " Slika 3: Mobilni telefon LG G6 Da virtualna resničnost lahko deluje, mora telefon nekako zaznati svoj položaj in orientacijo v prostoru. Moderne naprave to dosegajo s pospeškomerom in žiroskopom. Pospeškomer (ang. »accelerometer«) je, kot ime nakazuje, zmožen meriti veličino in smer pospeška ter s tem tudi sile, ki vplivajo nanj. Te so lahko dinamične, kot so recimo sile pri premikanju naprave, ali statične, kot je Zemljina gravitacija. Zmožen je zaznati tudi blage spremembe rotacije naprave, ampak je pri tem zelo nenatančen, potrebuje pa tudi pomoč vgrajenega kompasa [6]. Android zna iz pospeškomera pridobiti veličino pospeška v vseh treh oseh (prišteto skupaj z gravitacijo ali samo linearni pospešek brez gravitacije). Žiroskop (ang. »gyroscope«) je naprava za merjenje kotne hitrosti naprave, ki je predstavljena v stopinjah ali radianih na neko časovno enoto. S tem omogoča zaznavanje hitrosti rotacije naprave v vseh treh oseh, s čimer lahko zelo točno določimo orientacijo telefona v prostoru. Za VR vizir smo izbrali preprost VR BOX, ki ima prostor v katerega vstavimo telefon in dve leči, ki jih lahko premikamo naprej, nazaj, levo in desno, da si pravilno nastavimo razdaljo do očes in med očesoma. Če imamo razdaljo pravilno nastavljene, lahko naši možgani brez problemov sliki združijo v prostorsko celoto. Vizir ne vsebuje nobenih senzorjev, saj vse delo opravi telefon s svojimi senzorji. Viden je na sliki 4. 90 Slika 4: VR BOX vizir 3 Športni podatki Športne podatke, uporabljene v aplikaciji, smo pridobili od podjetja Sportradar, ki se ukvarja z urejanjem in analizo športnih podatkov za večino obstoječih športov v okviru katerih potekajo tekmovanja. Za najpopularnejše, kot je npr. nogomet, imajo na voljo več vrst podatkov, kot so celotni urnik turnirjev, statistika ekip, statistika posameznih igralcev, primerjava dveh ekip, statistika tekem, itd. Največji del aplikacije in njen namen je seveda prenos nogometne tekme. Za potrebe demonstracije naše rešitve je bil izbran posnetek tekme med Mariborom in Olimpijo, ki se je odvijala 8. avgusta 2016. 3.1 Športni trg Šport je gonilo za ogromno novih tehnologij, predvsem na področju multimedije. V prenosih športnih dogodkov se že nekaj časa uporablja obogatena resničnost (npr. namišljena pot žoge pri nogometu), vedno bolj pa se veča zanimanje tudi za navidezno resničnost. Pojavili so se že 360 stopinjski posnetki iz tekem za navidezno resničnost, ki gledalca postavijo na sam štadion (tudi za svetovno prvenstvo v nogometu 2018 so za določene tekme na voljo prenosi, namenjeni naglavnim zaslonom). Nekateri so virtualno resničnost uporabili kot orodje za analizo preteklih tekem ali za učenje novih spretnosti [7]. Možnosti za implementacijo navidezne resničnosti je na športnem trgu ogromno in naša rešitev je le ena izmed mnogih, ki so na voljo. 4 Rešitev virtualnega prikaza tekem in statistik 4.1 Funkcionalnosti aplikacije Aplikacija vsebuje samo dve sceni, med katerima lahko menjamo. Po končani inicializaciji in začetnem zaslonu se odpre prva scena, v kateri je v prostoru dodan samo gumb za odpiranje druge scene. V osnovi aplikacija omogoča ogled športne tekme s prikazom statistik tekme, ekip igralcev in seveda rezultat. Za uporabo aplikacije potrebujemo VR vizir, čeprav deluje tudi brez njega. Trenutno je omogočeno samo rotacijsko sledenje glavi, kar pomeni, da se ne moremo premikati po navideznem prostoru, ampak sceno opazujemo le iz ene točke. Ker je aplikacija narejena za VR naglavni sistem brez dodatnih gumbov, je krmiljenje zelo omejeno, saj imamo na voljo le pogled. Edini način interakcije z okoljem je usmerjanje pogleda na interaktivne objekte, ki akcijo sprožijo instantno ali z nekim časovnim zamikom. Ko s kazalcem pristanemo na predmetu, ki ima nase vezano neko akcijo, se, če je bilo določeno, pokaže odštevalnik časa. Če takrat, ko se odštevanje konča, še vedno opazujemo isti objekt, se akcija izvede. Ta sistem je za navidezno resničnost brez dodatnih krmilnikov najbolj ustrezen. Ko aktiviramo gumb v prvi sceni, se odpre druga, ki vsebuje prikaz tekme in podatkov. Postavljeni smo v nek prostor, kjer imamo postavljena 4 platna. Na sredini je zgoraj predvajalnik video posnetka, spodaj časovnica, levo in desno pa je prikaz postavitve obeh ekip, kot je prikazano na sliki 5. Slika 5: Druga scena aplikacije Tudi tukaj ima zelo veliko vlogo kazalec, saj zoper ga zopet potrebujemo za interakcijo z objekti v okolju. Vsak interaktivni objekt, ki ga pogledamo, povzroči, da se kazalec poveča, kar nakazuje, da je z njim povezana neka akcija. Na sezname so dodane puščice, ki ob pogledu premikajo seznam navzgor ali navzdol, saj je podatkov preveč, da bi jih prikazali naenkrat. 4.2 Arhitektura Za potrebe aplikacije smo postavili centralen strežnik, kjer so športni podatki zapisani v mongoDB podatkovni bazi. Da smo podatke lahko posredovali do aplikacije, smo ustvarili REST API končne točke, na katere smo potem izvajali klice s protokolom http (ang. »Hypertext Transfer Protocol«). Aplikacija posnetek pridobiva iz strežnika z uporabo protokola HLS (ang. »Http Live Streaming«) Kot omenjeno, sta v aplikaciji na voljo dve sceni. Prva ima vlogo začetnega menija, kjer lahko trenutno samo zaženemo drugo sceno, a se gumbi lahko prosto dodajajo. Njena hierarhija je zato zelo preprosta, saj vsebuje le pred nastavljen objekt za kamero, globalno luč, prazen objekt, na katerega vežemo skripte in pred nastavljen objekt, ki vsebuje interaktivne gumbe. Pred nastavljeni objekti oz. prefabi, so v Unity-ju zelo koristni, saj nam dovolijo, da vstavimo identičen objekt v več scen, ali pa ga vstavimo večkrat v sklopu posamezne funkcije. Na objekt kamere je seveda vezan tudi kazalec, ki se skupaj s njo transformira, tako da vedno stoji točno na sredini pogleda. Deluje na principu sledenja žarku (ang. 91 »Ray tracing«), ki je način preverjanja kolizij med žarkom in objekti. Predstavljajmo si ga, kot da iz našega pogleda v smeri kazalca sije žarek, ki seka vse predmete na njegovi poti. Da vpliva na nek predmet, moramo temu dodati komponento za detekcijo trkov in poslušalec dogodkov, ki zajame dogodek, ko se ta sproži. Zraven kazalca smo dodali tudi objekt za časovno zamaknjeno akcijo. Pri nekaterih objektih nismo želeli, da se akcija izvede takoj, ker lahko uporabnik nenamerno pogled usmeri v objekt. Da bi si olajšali delo, smo dodajanje števca hoteli narediti čim bolj enostavno, saj ga je bilo potrebno dodati na kar nekaj objektov. Ko se druga scena zažene, se takoj na začetku izvede klic na strežnik za podatke, v skripto, ki skrbi za nalaganje posnetka, pa se nastavi URL naslov video posnetka. Klic na strežnik se izvede v posebni funkciji, ki jo omogoča Unity, imenovani Coroutine. Ta poskrbi, da izvajanje ni vezano na posodobitev okvirjev v Update funkciji, ampak teče vzporedno in je pri vsaki posodobitvi zmožna nadaljevati od tam, kjer je končala izvajanje. Ker je pridobivanje podatkov iz strežnika asinhrona operacija in nočemo, da nam prekine delovanje aplikacije dokler traja, je uporaba tega tipa funkcije nujna. Ko športni podatki pridejo do odjemalca, se seznami napolnijo z njimi. Za vsak element se v sceno doda nov pred nastavljen objekt, ki vsebuje skripto za nadzor vseh komponent za prikaz besedila, ki se v Unity-ju imenuje Text. Glede na tip podatka (časovnica ali postavitev) smo ustvarili dva pred-nastavljena objekta, ki imata seveda drugačno postavitev. Video posnetek se med tem prav tako naloži preko spleta na izbrano platno z uporabo Easy Movie Texture vtičnika. Uporaba je zelo preprosta; sam vtičnik nam da dostop do poslušalcev, ki opazujejo ali se je posnetek naložil, ali je prišlo do napake, itd. Javno dostopne so tudi funkcije, ki skrbijo za ustavljanje ali predvajanje posnetka, za premikanje po posnetku in ugotavljanje časa trajanja ter koliko časa je že preteklo pri predvajanju. 4.3 Problemi pri razvoju Pri razvoju rešitve smo naleteli na nešteto težav, ki smo jih morali rešiti. Ena izmed največjih, vsaj v sklopu virtualne resničnosti, je bila učinkovitost aplikacije. Narejena je za mobilne naprave, ki so zelo omejene v procesorski in grafični moči. S tem, ko smo zmanjšali podrobnosti, izključili sence, zmanjšali ločljivost tekstur in uporabili materiale, ki niso odbijali svetlobe, smo občutljivo izboljšali delovanje aplikacije in zmanjšali porabo baterije. Glavni del aplikacije, prikazovanje tekme na nekem samostojnem zaslonu v okolju, bi bilo na Android napravi zelo težko implementirati, saj Unity privzeto podpira samo prikazovanje video posnetka čez celoten zaslon. Rešitev smo našli v vtičniku Easy Movie Texture. Z njim je bil prikaz tekme zelo nezahteven proces, saj podpira tudi strujanje preko http protokola. 5 Zaključek V članku je opisana izdelava delujočega prototipa mobilne aplikacije, ki je osnovana na virtualni resničnosti. Namenjena je športnim navdušencem, ki bi radi tekme spremljali na nov način z uporabo najnovejših tehnologij računalniške grafike. Seveda aplikacija še ni končna. Trenutno je rešitev implementirana samo za točno določeno tekmo, dalo pa bi se jo razširiti, da bi podpirala več tekem in turnirjev. Dodati bi se morale nove končne točke na strežniku in omrežni klici iz naprave, ki bi do teh točk dostopale. Podatki bi se tudi morali sami posodabljati. Sam grafični vmesnik je dokaj preprost in vsebuje samo komponente, ki so nujne za delovanje, ker je aplikacija omejena s strojno opremo telefonov, zato je tudi izgled sveta zelo generičen in dokaj pust. Z razvojem mobilnih naprav se bo izboljševala tudi strojna oprema, kar pomeni več procesorske in grafične moči ter posledično več prostih rok pri ustvarjanju virtualnega sveta. Literatura [1] Navidezna resničnost. Dosegljivo: https://sl.wikipedia.org/wiki/Navidezna_resni%C4%8D nost [Dostopano: 3.4.2018] [2] Stereoscopic Rendering in WebVR. Dosegljivo: https://hacks.mozilla.org/2015/09/stereoscopic-rendering-in-webvr/ [Dostopano 6.5.2018] [3] The Technical Challenges of Virtual Reality. Doseglj ivo: https://iq. intel. com/the -technical-challenges-of-virtual-reality/ [Dostopano 6.5.2018] [4] VR Lens Basics: Present And Future. Dosegljivo: https://www.tomshardware.com/news/virtual-reality-lens-basics-vr,36182.html [Dostopano: 18. 6. 2018] [5] Unity (game engine). Dosegljivo: https://en.wikipedia.org/wiki/Unity_(game_engine) [Dostopano: 23.5.2018] [6] D. Avguštin, Analiza tresljajev s senzorji v mobilnih napravah. Dosegljivo: http://eprints.fri.uni-lj.si/2269/1/Avgu%C5%A1tin_D%2D1 .pdf [Dostopano: 28.5.2018] [7] How virtual reality is transforming the sports industry. Dosegljivo: https://techcrunch.com/2016/09/15/how-virtual-reality-is-transforming-the-sports-industry/ [Dostopano: 18. 6. 2018] 92 Urban gamification with Augmented Reality and Geo-Referencing: An Innovative and Engaging Cultural Heritage App Klemen Babuder Faculty of Electrical Engineering University of Ljubljana Ljubljana, Slovenia klemen.babuder@ltfe.org Jure Idzig Faculty of Electrical Engineering University of Ljubljana Ljubljana, Slovenia jure.idzig@gmail.com Abstract—Creating an application, focused on the promotion and demonstration of local cultural heritage can prove to be a task of ample difficulty. It is paramount to recognize that the aforementioned solution is designed to tackle a problem with which the target audience doesn't concern themselves habitually. Thus, the approach towards publicizing a smartphone solution for such a problem should be comprehensive, continual, inclusive and resourceful. The fact that we now live both in the age of mobile-first software development and oversaturation of application markets, only further emphasizes the importance of studying the state of the art. Furthermore, this should not only be done in the field of mobile solutions promoting cultural heritage, but also in those similar to it - be it in the way that they both strive to engage their audience with urban exploration or presentation and discovery of specific content. In addition to that, studying the advances in modern mobile technology may yield other use cases that can be used in such an application, perhaps in ways similar solutions are yet to implement. The authors of this article have aimed to include the overview of all above-mentioned fields herein, with the goal of making kulTura, their application for the promotion of cultural heritage in the city of Jastrebarsko and the municipality of Crnomelj, as alluring and modern as possible. Keywords—Cultural heritage, AR, urban gamification, UX, content discovery, geo referencing I. Introduction The United Nations Educational, Scientific and Cultural Organization (UNESCO) defines Cultural heritage as the legacy of physical artifacts and intangible attributes of a group or society that are inherited from past generations, maintained in the present and bestowed for the benefit of future generations.[1] The institution does not specify in which way the artifacts of the past should be entrusted to the descendants of their creators, but to benefit from their cultural significance, the latter generation need to, above all else -comprehend their value. It is no mystery that the current generation's lives heavily depend on the usage of mobile devices. In 2018, 52.2% of all Vid Stropnik Faculty of Electrical Engineering University of Ljubljana Velenje, Slovenia vid. stropnik@ltfe.org Emilija Stojemnova Duh Faculty of Electrical Engineering University of Ljubljana Ljubljana, Slovenia emilija.stojmenova@fe.uni-lj.si worldwide online traffic was generated through smart phones,[2] with the 79% of internet users in the European Union using their smart phones to surf the web in 2016.[3] Furthermore, in 2017 the world's largest video streaming service - YouTube, announced that over 1 billion hours of content is being broadcasted every single day[4], with 70% of it being done on mobile platforms. [5] These numbers alone speak volumes about the fact that the generation of today can be approached through the mobile world in an impactful way. It is here that we receive information and expect to be communicated with, with 75% of all US digital ad spend going towards native mobile advertisements.[6] Hence, mobile applications are a suitable means for our comprehension of - and consequential benefit from cultural heritage, now more than ever. The authors of this article aim to create such an application in the following years. As part of the kulTura project funded by The European Union through the Interreg Slovenia-Croatia programme and the Slovenian Research Agency, it will seek to inform its users about the tradition and legacy of over 50 time-honored smaller towns along the Slovenian-Croatian border, starting with the cross-border pair of the Municipality of Črnomelj in Slovenia and the city of Jastrebarsko in Croatia. However, said mobile solution is to be fashioned in such a way, that the possibility of it realizing its intent - bestowing the cultural heritage of these locations upon younger generations, will be as high as possible. Therfore, we decided to preface our work with a thorough review, resulting in this article. As the explosive growth of the mobile application market has made it a significant challenge for the users to find interesting applications in crowded App Stores[7], we concluded that a study of the state of the art is one of the methods required to accomplish this task. Furthermore, this should not only be done in the field of mobile solutions promoting cultural heritage, but also in those like it - be it in the way that they both strive to engage their audience with urban exploration or the presentation and discovery of specific content. In addition to that, studying the advances in modern mobile technology may yield other use cases that can be used in such an application, perhaps in ways similar solutions are yet to implement. The ERK'2018, Portorož, 93-99 93 overview of our study of these fields can be found within the following sections. II. State of the art When conducting the study of the newest ideas and features, as well as the highest level of general development in a specific field, it is important to adequately define it. In our case, this field does not only envelop all other solutions, oriented towards the propagation of cultural heritage, but also all of those that strive to either inform their users of points of interest in their surroundings, or educate them about a certain topic. Furthermore, any successful app features that attempt to diversify a user's - be it a tourist's, urban explorer's or local's interaction with the world around them, either through gamification or enhancing the world through the inclusion of multimedia content or AR technology, are worth considering as well. Many of this section's subsidiaries will refer to an application aspect's effect on User experience (UX). UX refers to a person's emotions and attitudes about using a particular product, system or service. Factors influencing UX have been classified into three main categories: user's state and previous experience, system properties and the usage context. [8] While aesthetic and functional design of a service or product, respectively make it visually appealing and optimally operative, user experience design makes sure these aspects of the product work in the context of the rest of it. [9] During the process of our study, we examined 16 applications [10] - [25] from a broad scope of categories: from those very similar to our cause, to those that only incorporate certain features of interest to us. In addition to those, we also researched several city-focused or regional applications and those that focus on pathfinding. All applications were reviewed in July of 2018 on the Android operating system running Android version 8.0.0. The remainder of this section will describe, explain and highlight good practices of the most cutting-edge aspects found in the analyzed applications, as well as emphasize any other related conclusions about said features we made while researching them. A. Inclusion of and redirection to third-party services Several local or heritage focused applications can benefit a lot from third-party services. This may include, but is not limited to weather and traffic information, ticket reservations and purchases, pathfinding, etc. By integrating already polished, more focused solutions into their app, developers can dedicate more time and resources towards disruptive innovation, rather than work towards something that already exists. Some companies, like Google with its Maps Platform[26], even build their business model around third-party applications integrating their services in the form of application programming interfaces (API). With the fact that each of a services' functions needs to be evaluated in the context of its entirety in mind, developers should be wary of including any features that redirect to The research presented in this paper was funded by The European Union through the Interreg Slovenia-Croatia programme and the Slovenian Research Agency. external sources in their applications without proper optimization. This is largely on account of these third-party services having different user interfaces - with the desired contexts of components vastly different from those of the original app. The aforementioned importance of caution is emphasized when competing with solutions from companies spearheading modern UX design - for example the American travel and restaurant website company TripAdvisor, that doesn't only include third-party services, but makes them a cornerstone of its functionality. While certain reviewed applications only use hardcoded information and simple hyperlinks that lead to sites offering lodging or navigation these features are all integrated into the TripAdvisor application in the form of a browser extension - ticket purchases and reservations can all be done entirely inside the app and in most if not all cases require no redirection, while still offering great detail in communicating all relevant information for the specific use-case. Furthermore, the design complements the content in such a way, that nothing feels out of place. While redirection towards services that have their native smartphone applications already pre-installed on the operating system may work just as well, we recognized the described approach as the best practice for including external services. B. Gamification Gamification refers to the use of game design elements within non-game contexts.[27] This method employs the use of 'building blocks' of games and implements them into real world-settings, often with the goal of motivating specific behaviors within the gamified situation. [28] As the practice has proven to be a success in achieving several different goals, notably the improvement of user engagement[29][30] and learning[31], it is a concept worth exploring in any field, not just application design. Furthermore, it is expected that gamification can also foster the initiation or continuation of goal-directed behavior - i.e. motivation. [32] Some of the applications we reviewed during the process of our study focus on gamifying the acts of walking, sightseeing and exploration. This is the case with Nexto and Six to Start's The Walk: Fitness tracker game. On the other hand, some others, like Pokemon Go and Ingress, are branded as games, but heavily incorporate the aforementioned acts into their core mechanics. We found several good executions of sightseeing gamification in Nexto. Throughout a guided tour Legends of Piran, the user is met with a plethora of simple game-like mechanics, ranging from quizzes to AR-powered puzzles. Two of the aspects of these minigames stood out as good practices: Their simplicity and diversity. The term 'sustained attention' is often used in reference to a putatively unitary capacity to remain engaged in tasks that are lengthy or characterized by long intervals between relevant events.[33] The gamification aspects of the application not being repetitive is a worthwhile aim of trying to retain both sustained attention and audience engagement, while them (as a service's component) being 94 simple corresponds with the Nielsen Norman Group's definition of an exemplary user experience. [34] The application also utilizes fully voiced storytelling, which is a popular game component on its own, with Time magazine's 2014 Game of the Year creative director Jon Ingold calling video games 'the most fascinating medium for storytelling available right now.'[35] In addition of interactive storytelling being a trending game design element,[36] building parts of a business around a story is also a global trend in the experience industry, revealing new insights into conceptualizing tourism via story-telling tourist guides. [37] Another popular form of gamification is the implementation of a visible representations of a player's achievements in the form of collectibles or badges,[38] items such as virtual souvenirs, star tokens or achievement trophies, amassed by performing application related tasks like completing tours or correctly answering quizzes. They confirm the players' achievements, symbolize their merits[39] and serve to numerically represent a player's progress. [40] Additionally, badge-owners can also exert social influence on players and co-players, particularly if they are rare or hard to earn.[41] Niantic's Pokemon GO itself is focused around the amassing of collectible virtual creatures, while also highlighting another interesting form of gamification - a mechanic in which a reward is presented to the user upon completing a certain number of steps. C. Augmented Reality (AR) Augmented Reality (AR) is an interactive experience of a real-world environment whereby the objects that reside in the real-world are "augmented" by computer-generated perceptual information. This is sometimes done across multiple sensory modalities, including visual, auditory, haptic, somatosensory, and olfactory. [42] The usability of this technology resides in the ability to manifest experiences that would otherwise be unreasonably expensive or simply impossible to produce. As our analysis of the reviewed applications will show, when implemented correctly, AR can be used to simulate the inclusion of virtual 3D objects into a real environment in real time - cutting costs and expended time in comparison with manufacturing such objects, while also making them accessible to a wider audience through the inclusion of AR on a user's mobile platform. The technology's appeal can also be credited to the fact that the emulation of reality and the act of overlaying computergenerated imagery or other synthetic content over physical objects have been some of the more common science-fiction tropes since the late 20th century, prominently featuring in works and franchises like Star Trek[43], Ender's Game[44] and Iron man[45]. However, the capabilities of AR have not yet caught up with the imagination of sci-fi creators and currently still face difficulty displaying objects on non-flat surfaces whilst taking in account camera movements effectively making sure that the projected object abides by the laws of gravity. In spite of its technical limitations, AR offers a very useful tool for creating an engaging user experience, as proven by the reviewed applications below. The content used most widely in cultural heritage apps relating to AR regularly involves projecting images onto a specific surface. Google Arts & Culture, for example, enables the user to project famous paintings on empty walls, simulating the experience of visiting it in an actual museum. The Nexto app goes even a dimension further by allowing the user to view the 3D Model of a famous composer's violin in the real world. In other instances, the application augments elements of one's surroundings in the pursuit to showcase the state of an object or room in times past - a very useful use-case for an application, showcasing cultural heritage. However, the UX of applications that include this feature is heavily reliant on the capabilities of the user's terminal. For reference, roughly 77% of mobile devices are running android[46], out of which only around 43% support ARCore -Google's AR software development kit (SDK)[47][48]. On the other hand, Apple's AR SDK - ARKit is supported on 81% of all mobile devices running iOS.[49][50] This represents almost 19% of the mobile OS market share.[51] Consequentially, only close to 50 % of all smartphones can run either ARKit or ARCore. This is mostly due to holographic processing being a computationally-demanding task, as illustrated by leading AR-dedicated devices, like the Microsoft HoloLens headset, including separate processing units, solely devoted to hologram-related tasks. [52] However, several other mobile AR SDKs are available for both Android and iOS. One of them -Vuforia is the kit used in Nexto. These third-party solutions enable the use of AR content for the vast majority of smartphones.[53] In order to support such a large range of less-capable devices, Vuforia uses image recognition technology to target specific real-world objects (targets)[54] in order to correctly project holograms onto actual surfaces. Hence only by using targets can an AR experience reach the majority of end users. The problem with target, as mentioned before, is they have to be present at a given location for the AR content to work. More importantly, the target must remain in sight of the camera or just barely outside of it. D. Personalization Personalization is defined as the act of designing or tailoring to meet an individual's specifications, needs, or preferences.[56] With personalization, apps can sift through large arrays of their content and present only that, which is relevant to the preferences of the user. Perhaps the biggest indicator of the value of personalization is the fact that some of the largest companies in the world massively invest in perfecting personalization algorithms.[57] Google, for example, use these algorithms for both delivering relevant ads or further improving their services,[58] some of which were also part of the described study. They are not alone in this -with other examined applications also including features for curating the content they display to an individual user. Thorough studies have already been conducted in the field of recommender systems and collaborative filtering. The former can be separated into content-based, collaborative and hybrid systems. Content-based approaches recommend content 95 similar to that a user has liked in the past. [59] As such, the user has to rate a certain number of items for the system's understanding of their preferences - hindering the experience for new users of the platform. In contrast, collaborative filtering systems try to predict the utility of items for a particular user based on the items previously rated by other users, often taking into account the user's similarity to specific user groups by gender, age, area code, education, employment information etc. Additionally, modern iterations of these systems use advanced technologies such as machine learning, clustering and artificial neural networks to determine additional similarities between users. While a pure collaborative recommender improves upon the content-based system's shortcomings, it too has shortcomings - notably with recommending newly added or less exposed items, with a sparse amount of ratings. [60] Due to the drawbacks of both kinds of systems, hybrid approaches have emerged, combining both methods.[61] Considering the level of complexity of recommender system studies, further expanded upon in the sources referenced in the last paragraph, it would not be very cost and time efficient for developers of a dedicated heritage focused application to work towards a bleeding edge solution in this field. However, some of the reviewed applications have incorporated more basic means of recommending content. Culture trip's approach for instance, gives its users the ability to "like" certain content and later modifies the section displayed on the default Explore page - a content-based approach, augmented with some collaborative elements, mostly utilizing the user's location. Google trips on the other hand, applies Google's own technology by reserving a dedicated 'For you' section, specifically for content that the app deemed the user might enjoy, taking in account the content that the user expressed a liking for, as well as he user's location and search history. E. Geo-location specific features Culture and heritage-oriented apps can be separated into two categories. Some, for example Google arts and Culture, aim to bring attractions to the user, no matter where the user is currently located. These types of solutions often offer several features for discovery of new artworks, artists and mediums, as well as include content like written articles, to be enjoyed at the user's leisure. In contrast, other applications (Slovenia's top 100, Nexto, Google trips, Visit London) focus on orienting the user towards the attraction and augmenting the experience of enjoying them in the real world. Admittedly, many of the reviewed applications strive to achieve both, but do prioritize one aspect of use over the other, upon closer examination. Most of the applications in the latter of the two categories provide several features, relating to the geographic location of the user. Among others, features like visualizing the real world in map form, routing the user from their current location to different points of interest and the discovery of relevant nearby locations are of note here. While some of these features can be done via redirection to third-party services (as is done in Culture Trip and Visit London), advanced use like map customization requires a dedicated in-app solution. With 99% coverage of the world and 1 billion monthly active users, the Google maps platform is the biggest actor in the geo-location related industry.[62] By using its API or an API of one of its competitors,[63] developers can showcase relevant content on interactive maps, with several added features at their disposal. Nexto, for example, highlights already visited locations in a guided tour differently than those, which the user is yet to visit, also showcasing the virtual souvenirs acquired at a certain location, right on the map. Use cases like this can improve user experience, and with it -engagement, as they allow for further design in the context of the remainder of the application. Similarly, a lot of applications include a dedicated 'near me' feature, highlighting the points of interest, that are closest to the user, sometimes even combining geo-specific features with their personalization and recommendation systems, as seen in Culture trip. F. Offline usage Internet access is seeing better coverage and lower access costs, with 4G covering an average of 91% of EU's population. [64] However, offline features still have a place in mobile applications. In our use case, we can highlight Croatia having the second-lowest DESI connectivity score in the EU[65] as one of the reasons for their importance, but others might include personal preference, privacy, or battery-saving, as the technology behind connecting the 4G LTE network and end-devices is very battery consuming. [66] While some apps with a thinner range of multimedia content opt to provide most of their services offline by default (Slovenia's Top 100), this isn't a valid solution in applications that strive to continuously upkeep and update their content. In addition, an offline-only application may also consume an amount of storage users aren't willing to dedicate to it. Most state of the art apps therefore include options to download the most basic type of content e.g. an article (Visit London, Culture Trip, Beyondarts), allowing the users to handpick the content they would like to consume offline. Nexto and Google Trips on the other hand, allow the user to download and locally store large bundles of multimedia content (several times the size of the app itself), relevant to a larger area, containing numerous interest points. By doing this, these applications avoid the negative user experience of downloading data to consume offline, only to find out they want to consume more shortly after. Furthermore, this approach also enables the presentation of the same, wholly experience they offer to connected users, offline. G. User generated content Several of the examined applications welcomed some sort of personal input by their users. In most cases, for example in Foursquare or Tripadvisor, this user-generated content (UGC) appeared in the form of user reviews and scores. We recognized that these elements mostly benefited the user in situations, where they would be choosing between competing services: e.g. restaurants or lodging. One study finds that the valence of traveler reviews has a significant impact on the online sales of hotel rooms, as these reviews may serve to 96 reduce the cognitive load of potential travelers, and thus increase their awareness.[67] This same reduction of the cognitive load may also influence the simplicity of the user experience of a potential application, which may in turn, as mentioned before, improve engagement. In addition to collecting valuable feedback, a comprehensive rating and review system may also aid the users lacking the time or desire to experience all of the landmarks a given location has to offer. It is important to note that this may actually hinder the experience, however, if the goal of our application is to present the cultural heritage of a certain area in its entirety - as the better reviewed portion of points of interest would receive more exposure than its lesser counterpart. Only one of the reviewed applications - Nexto, featured a different type of UGC. However, we still recognized it carries particular importance and usefulness considering the developmental circumstances of our solution. Most of the reviewed cultural heritage applications incorporate content created either by in-house experts or by an outside team of content creators. In this way, the solution's content is guaranteed to be tailored to its desired standards and - at the same time, is exclusive to it. Google Arts & Culture's Home tab, for example, boasts a plethora of expertly written editorial features, written by experts in their field, hand picked by the application team to ensure diversity and quality. This sort of content creation can, however, prove costly and time consuming when contemplating the scaling of an application -thus an alternative might be considered. This is where Nexto tries to incorporate UGC. The application provides users with a web-based tool, enabling the production of specific multimedia experiences for certain cultural hotspots. While the tool utilizes a very well designed and intuitive UI, with no coding required, Nexto Inc.'s team of heritage interpreters, designers and 3D artists is also available to design said experiences by commission. While relying solely on UGC isn't a sensible move in designing such an application due to the variability in the content's quality, we recognized several positives in incorporating it - such as the utilization of user engagement to target long-term interactions, loyalty and advocacy through word-of-mouth. III. Conclusion and future work Throughout the process of our study and the writing of this article, we attempted to feature aspects of applications that stood out as good practices in their specific use cases. It is worth noting, however, that our intent was not to imply that all of the described features should be incorporated in a successful heritage-focused application. When designing an application, one of the key steps is to define its target audience. The application user's demographic, interests and goals should be heavily considered when deciding on which of the above features to incorporate, and to what degree. Audience groups vary heavily between analyzed applications: from tourists to locals, from those who seek to experience the cultural heritage digitally, from afar or those who seek to engage with it in person. Furthermore, the authors of this article would argue that including all of the described functionalities could even result in a hindered UX. Instead of implementing all of them, features inspired by those described in sections A through G should only be implemented upon deciding that they will indeed benefit the application's userbase. Otherwise, the oversaturation of features can contradict the application's simplicity - already established as one of the core principles of UX beforehand. Furthermore, an application is never only a sum of its features. Creating a successful and engaging solution may be aided by several techniques not described herein, such as creating a comprehensive marketing plan, following platform-specific UI design guidelines, or the employment of design thinking during the course of development. References [1] Tangible Cultural Heritage (n. d.). Retrieved from http://www.unesco.org/new/en/cairo/culture/tangible-cultural-heritage/ [2] Percentage of all global web pages served to mobile phones from 2009 to 2018 (2018, January). Retrieved from https ://www. statista. com/ statistics/241462/global-mobile-phone-website-traffic-share/ [3] Statistical Office of the European Communities (2016, December 20). Almost 8 out of 10 internet users in the EU surfed via a mobile or .smart phone in 2016... Retrieved from http ://ec.europa. eu/eurostat/ documents/2995521/7771139/9-20122016-BP-EN.pdf/f023d81a-dce2-4959-93e3-8cc7082b6edd [4] Goodrow, C. (2017, February 27). You know what's cool? A billion hours. Retrieved from https://youtube.googleblog.com/2017/02/you-know-whats-cool-billion-hours.html [5] Lella, A. (2017, February 23) Unlocking Mobile Measurement for YouTube in the U.S. Retrieved from https://www.comscore.com/ Insights/Data-Mine/Unlocking-Mobile-Measurement-for-YouTube-in-the-US/ [6] Koetsier, J. (2018, February 23) Mobile Advertising Will Drive 75% Of All Digital Ad Spend In 2018: Here's What's Changing. Retrieved from: https://www.forbes.com/sites/johnkoetsier/2018/02/23/mobile-advertising-will-drive-75-of-all-digital-ad-spend-in-2018-heres-whats-changing/#5e516c39758b [7] Yan, B., & Chen, G. (2011, June). AppJoy: personalized mobile application discovery. In Proceedings of the 9th international conference on Mobile systems, applications, and services (pp. 113-126). ACM. [8] Hassenzahl, M. & Tractinsky, N. (2006). User Experience - a Research Agenda. In Behaviour and Information Technology, Vol. 25, No. 2, March-April 2006 (pp. 91-97). Archived 2014, October 20 at the Wayback Machine. [9] Garrett, J. J. (2010). Elements of user experience, the: user-centered design for the web and beyond. Pearson Education. [10] Dspot (2018). iKranj (1.3.10) [Mobile application or software]. Retrieved from: https://play.google.com/store/apps/details? id=si. dspot. ikranj [11] London & Partners Ltd (2017). Visit London Official City Guide (2.20.8.190) [Mobile application or software]. Retrieved from: 97 https ://play. goo gle.com/store/apps/details ?id=com. londonandpartners. londonguide [12] Slovenian Tourist Board (2015). Slovenia's Top 100 (1.0) [Mobile application or software]. Retrieved from https://play. google.com/ store/apps/details ?id=info. s lovenia.top100. app [13] TripBucket (2015). World Heritage Sites (4.4) [Mobile application or software]. Retrieved from: https://play.google.com/store/apps/ details?id=com.tripbucket.unesco [14] Culture Trip (2015) Culture Trip: Explore & Travel (2.1.2) [Mobile application or software]. Retrieved from https ://play. goo gle.com/store/apps/details ?id=culturetrip. com [15] TripAdvisor (2010) TripAdvisor Hotels Flights Restaurants Attractions (27.2) [Mobile application or software]. Retrieved from https://play.google.com/store/apps/details?id=com.tripadvisor. tripadvisor [16] Google LLC (2015). Google Arts & Culture (6.3.12) [Mobile application or software]. Retrieved from https://play.google.com/store/apps/details?id=com. google.android.apps. cultural [17] Nexto inc. (2016). Nexto (1.7.6) [Mobile application or software]. Retrieved from https://play.google.com/store/apps/details?id=io.nexto [18] Niantic, Inc. (2012). Ingress (1.132.2) [Mobile application or software]. Retrieved from https://play. google.com/store/apps/details? id=com.nianticproject.ingress [19] Niantic, Inc. (2016) Pokemon GO (0.111.3) [Mobile application or software]. Retrieved from https://play.google.com/store/apps/details? id=com.nianticlabs.pokemongo [20] beyondarts (2014). Beyondarts Art & Culture Guide (2.0) [Mobile application or software]. Retrieved from https://play.google.com/store/ apps/details?id=com.beyondarts.app [21] Touch Screen Travels (2016). Bologna + Modena Art & Culture Travel Guide [Mobile application or software]. Retrieved from https://play.google.com/store/apps/details?id=com.facarospauls.bologna [22] Google LLC (2016). Google Trips - Travel Planner (1.10.0.205086730) [Mobile application or software]. Retrieved from https ://play. goo gle.com/store/apps/details ?id=com. goo gle.android. apps .t ravel.onthego [23] Foursquare (2018). Foursquare City Guide (11.9.1) [Mobile application or software]. Retrieved from https://play.google.com/store/apps/details?id=com.joelapenna.foursquar ed [24] Six to Start (2017). The Walk: Fitness Tracker Game (FREE) (2.1.1) [Mobile application or software]. Retrieved from: https://play.google.com/store/apps/details?id=com.sixtostart.thewalk2 [25] Niantic, Inc. (2012) Field Trip (2.0.9) [Mobile application or software]. Retrieved from: https://play.google.com/store/apps/details?id=com.nianticproject.scout [26] Welcome to Google Maps Platform (n.d.). Retrieved from https ://cloud. goo gle.com/ maps-platform/ [27] Deterding, S., Dixon, D., Khaled, R., & Nacke, L. (2011). From Game Design Elements to Gamefulness: Defining "Gamification", presented at the 15th International Academic MindTrek Conference, Tampere, 2011. New York, NY: ACM. [28] Sailer, M., Hense, J. U., Mayr, S. K. & Mandl, H. (2017). How gamification motivates: An experimental study of the effects of specific game design elements on psychological need satisfaction. In Computers in Human Behavior, Volume 69, April 2017 (pp. 371-380). [29] Hamari, J. (2017). Do badges increase user activity? A field experiment on the effects of gamification. In Computers in Human Behavior, Volume 71, June 2017 (pp. 469-478) [30] Ruhi, U. (2015). Level Up Your Strategy: Towards a Descriptive Framework for Meaningful Enterprise Gamification. In Technology Innovation Management Review, Volume 5, Issue 8, August 2015. [31] Hamari, J., Shernoff, D. J., Rowe, E., Coller. B., Asbell-Clarke, J., & Edwards, T. (2016). Challenging games help students learn: An empirical study on engagement, flow and immersion in game-based [32 [33 [34 [35 [36 [37 [38 [39 [40 [41 [42 [43 [44 [45 [46 [47 [48 [49 [50 [51 [52 [53 [54 [55 learning. In Computers in Human Behavior, Volume 54, January 2016 (pp. 133-134) Schunk, D. H., Pintrich, P. R. & Meece, J. L. (2010). Motivation in education: Theory, research, and applications (3 rd ed.), Pearson, Upper Saddle River Grahn, J. A., Manly, T. (2012). Common Neural Recruitment across Diverse Sustained Attention Tasks. Retrieved from https://doi.org/10.1371/journal.pone.0049556 Norman, D., Nielsen, J. (n.d.). The Definition of User Experience (UX). Retrieved from https://www.nngroup.com/articles/definition-user-experience/ Burks, R. (2015, September 14). How Video Games Have Become The Perfect Storytelling Medium. Retrieved from https://www.techtimes.com/articles/84016/20150914/how-video-games- have-become-the-perfect-storytelling-medium.htm Blacker, A. (2018, March 05). Interactive Story Games Are Trending. Retrieved from http://blog.apptopia.com/interactive-story-games-tap- into-our-love -for-storytelling Mossberg, L. (2008). Extraordinary Experiences through Storytelling. In Scandinavion Journal of Hospitality and Tourism, Volume 8, Issue 3: Strategy in Hospitality Manegement, 2008. (pp. 195 - 210) Werbach, K., Hunter, D. (2012). For the Win: How game thinking can revolutionize your business. Philadelphia: Wharton Digital Press. Anderson, A., Huttenlocher, D., Kleinberg, J., & Leskovec, J. (2013). Steering user behavior with badges, presented at the 22nd international conference on World Wide Web, Rio de Janeiro. Werbach, K., Hunter D. (2015). The gamification toolkit - dynamics, mechanics, and components for the win. Philadelphia: Wharton Digital Press. Hamari, J. (2013). Transforming homo economicus into homo ludens: A field experiment on gamification in a utilitarian peer-to-peer trading service. In Electronic commerce research and applications, Volume 12, Issue 4, July-August 2013(pp. 236-245). Schueffel, P. (2017). The Concise Fintech Compendium. School of Management Fribourg/Switzerland. Roddenberry, G. (Producer), & Butler, R. (Director), (1988). The Cage (Star Trel: The Original Series). United States: Culver Studio. Card, O. S. (1991). Ender's Game. 1985. Author's Definitive Edition." NY: Tor. Favreau, J., Arad, A., & Feige, K. (2008). Iron Man.[Motion picture]. USA: Paramount Pictures. Percentage of all mobile devices running android (2018, June). Retrieved from: http://gs.statcounter.com/os-market- share/mobile/worldwide Percentage of android devices supporting ARCore SDK (2018, July) Retrieved from: https ://developer. android. com/about/dashboards/ Devices supporting ARCore SDK (2018, July). Retrieved from: https://developers.google.com/ar/discover/supported-devices Precentage of devices running iOS supporting ARKit (2018, May). Retrieved from: https ://developer. apple.com/support/app-store/ Documentation of ARKit SDK (n.d.). Retrieved from: https://developer.apple.com/documentation/arkit Percentage of all mobile devices running iOS (2018, June). Retrieved from: http://gs.statcounter.com/os-market-share/mobile/worldwide Hardware details of the Microsoft Hololens headset (2018, March). Retrieved from: https://docs.microsoft.com/en-us/windows/mixed-reality/holo le ns-hardware -details Mobile devices supporting Vuforia SDK (n.d.). Retrieved from: https://vuforia.com/devices.html How image targets work (n.d.). Retrieved from: https://library.vuforia.com/content/vuforia- library/en/articles/Training/Image-Target-Guide.html Documentation on extended tracking (n.d.). Retrieved from: https://hbrary.vuforia.com/articles/Traimng/Extended-Tracking 98 [56] Defenition of personalization (n.d.). Retrieved from: https ://www. dictionary. com/browse/personalization?s =t [57] Amount of money spent on Netflix search engine per year (2018, June). Retrieved from: https://www.businessinsider.com/netflix-recommendation-engine-worth-1-billion-per-year-2016-6 [58] How google uses gathered data for improving their services. (n.d.) Retrieved from: https://policies.google.com/technologies/partner-sites [59] Mooney, R. J., & Roy, L. (2000, June). Content-based book recommending using learning for text categorization. In Proceedings of the fifth ACM conference on Digital libraries (pp. 195-204). ACM. [60] Adomavicius, G., & Tuzhilin, A. (2005). Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. IEEE Transactions on Knowledge & Data Engineering, (6), 734-749. [61] Lewis, D. D., & Catlett, J. (1994). Heterogeneous uncertainty sampling for supervised learning. In Machine Learning Proceedings 1994 (pp. 148-156). [62] Data on Google Maps Platform (n.d.). Retrieved from: https ://cloud. goo gle.com/ maps-platform/ [63] Website of google maps competitor skobbler (n.d.). Retrieved from: https ://www. skobbler. com/apps [64] Broadband connectivity in Europe (2018). Retrieved from: https://ec.europa.eu/digital-single-market/en/connectivity [65] DESI report on connectivity in the EU (2018). Retrieved from: http://ec.europa.eu/information_society/newsroom/image/document/201 8-20/1_desi_report_connectivity_DFB52691-EF07-642E-28344441CE0FCBD1_52245.pdf [66] Effect of LTE on battery life (2015, April). Retrieved from: https://www.extremetech.com/mobile/110711-what-is-lte/2 [67] Ye, Q., Law, R., Gu, B., & Chen, W. (2011). The influence of usergenerated content on traveler behavior: An empirical investigation on the effects of e-word-of-mouth to hotel online bookings. Computers in Human behavior, 27(2), 634-639. 99 Mobilna aplikacija za predstavitev produkta s pomočjo obogatene resničnosti Luka Bezovšek, Matevž Pogačnik, Jože Guna Univerza v Ljubljani, Fakulteta za elektrotehniko E-pošta: luka. bezovsek@gmail.com Mobile Application for Product Presentation with Augmented Reality Abstract. Presentation of any physical product is most effective when the product is presented directly at the location in a tangible way. Since it is difficult or impossible for some products to be carried around due to large dimensions, some other alternative solutions are necessary. Augmented reality enhanced applications can be used to tackle these issues. In this paper, we introduce the augmented reality technologies and apply them to enhance a presentation of an autonomous robot. Based on Vuforia and Unity software development kits, interactive mobile application is developed and evaluated in a basic user study. 1 Uvod Kadar predstavljamo fizični produkt, želimo karseda natančno prikazati vse poglavitne lastnosti le-tega. Tovrstna predstavitev največji učinek doseže takrat, ko poslušalcem pokažemo pravi, oprijemljivi izdelek. Na tem mestu se zlasti pri objektih velikih dimenzij pojavi problem njihove prenosljivosti. Skupaj z razvojem sodobnih tehnologij v zadnjem času, se je pojavila tudi tehnologija obogatene resničnosti, ki klasične predstavitve lahko dvigne na povsem nov nivo. Namen tega članka je predstavitev mobilne aplikacije za predstavitev produkta z uporabo tehnologije obogatene resničnosti, ki smo jo razvili s pomočjo razvojnih okolij Vuforia in Unity. Glavno vprašanje na katerega želimo odgovoriti v članku je, ali je tehnologija obogatene resničnosti primerna za predstavitev fizičnih objektov v navidezni obliki oz. ali si uporabnik na podlagi interaktivnih virtualnih objektov ustvari dovolj dobro predstavo o dejanskem fizičnem produktu. Na to in še nekaj drugih vprašanj bomo poskušali odgovoriti s pomočjo testiranja aplikacije na dejanskih uporabnikih. V prvem delu članka predstavimo nekaj osnovne teorije o tehnologiji obogatene resničnosti. Teorijo v nadaljevanju dopolnimo s predstavitvijo okolja za implementacijo aplikacij navidezne resničnosti Vuforia. Članek nadaljujemo z opisom implementacije in delovanja aplikacije ter ga zaključimo s predstavitvijo rezultatov testiranja aplikacije, podajanjem ocene opravljenega dela in predstavitvijo možnosti za nadaljevanje. 2 Obogatena resničnost Obogatena resničnost (ang. Augmented Reality, AR) je tehnologija prikaza informacij na zaslonu, pri čemer so informacije iz resničnega sveta dopolnjene z navideznimi objekti, ki so ustvarjeni s pomočjo računalniške grafike [3,7]. Obogatena resničnost, označujemo jo tudi z izrazom dopolnjena resničnost, ima štiri poglavitne lastnosti [1,2]: • Združuje resnični in navidezni svet • Prikazuje informacije v realnem času • Omogoča interakcijo z objekti • Prikazuje informacije v treh dimenzijah Tridimenzionalni navidezni objekti, ki dopolnjujejo resničnost, so ustvarjeni na podlagi senzorskih podatkov iz okolja, na zaslonu pa so izrisani kot del slike, ki predstavlja resničnost. Tehnologija obogatene resničnosti se uporablja na številnih področjih, na primer v [1]: zdravstvu, arhitekturi, izobraževanju, inženiringu, filmski in zabavni industriji. Zaradi velikega napredka računalniških tehnologij v zadnjem času, na tem mestu moramo omeniti predvsem področji računalniškega vida in interaktivne računalniške grafike [5], se je zelo hitro lahko razvila tudi tehnologija obogatene resničnosti [3]. Z naraščanjem zmogljivosti in razširjenosti uporabe mobilnih naprav, se je navidezna resničnost najbolj uveljavila na področju prenosnih terminalov [4]. Ti namreč združujejo vse potrebne komponente za delovanje aplikacije navidezne resničnosti. Vhodne senzorske naprave (kamera, GPS, žiroskop) omogočajo pridobivanje informacij iz resničnega okolja [4], ki se nato s pomočjo zmogljivih centralno-procesnih enot dopolnijo z navideznimi objekti, vse skupaj pa se na koncu izriše na zaslonu. Za obogateno resničnost na prenosnih napravah uporabljamo izraz mobilna obogatena resničnost (ang. Mobile Augmented Reality, MAR) [1,4]. Ena izmed poglavitnih funkcionalnosti aplikacij obogatene resničnosti je prepoznavanje resničnega sveta v okolici, ki se v osnovi deli na dva principa [4]. Prvi je prepoznavanje okolja s pomočjo strojnega učenja, kjer algoritmi na dvodimenzionalni sliki lahko prepoznajo posamezne objekte (npr. človek, drevo, avtomobil) in jih medsebojno združijo po ustreznih kategorijah. Tovrstni princip se uporablja predvsem za prikazovanje splošnih informacij o okolici, saj ta ni natančno določena skozi čas. Drugi princip delovanja pa sloni na prepoznavanju točno določenih vzorcev z lastnimi atributi, ki so predhodno določeni kot tarče za prepoznavanje v resničnem svetu. Takšen princip se uporablja v primeru, ko mora biti okolica natančno prepoznana in obogatena s točno določenimi objekti. Večina aplikacij obogatene resničnosti deluje na principu prepoznavanja slikovnih informacij. S tega vidika ločimo dve metodi [4]: 1. Metoda na podlagi značilnosti statičnih slik 2. Metoda na podlagi značilnosti specifičnih vzorcev Poznamo tudi t.i. metode brez značilnosti (ang. Markerless Augmented Reality) [2], ki okolice ne prepoznavajo na podlagi slikovnih informacij, temveč se osredotočajo na podatke drugih vhodnih naprav (npr. zaznavanje koordinat v prostoru na podlagi GPS sprejemnika). ERK'2018, Portorož, 100-103 100 3 Vuforia Vuforia je okolje za implementacijo aplikacij navidezne resničnosti na mobilnih terminalih [1]. Podprtost v operacijskih sistemih iOS in Android ter kompatibilnost z okoljem za razvoj interaktivnih aplikacij Unity, sta njeni glavni prednosti, ki omogočata razvijalcem izdelavo aplikacije za širok spekter mobilnih naprav. Osnovni namen okolja Vuforia je zaznavanje in interpretacija vizualnih informacij iz okolice. Poleg prepoznavanja vzorcev iz dvodimenzionalnih slik, lahko s pomočjo Vuforie zaznavamo kompleksnejše slikovne podobe v treh dimenzijah [1]. Zaznavanje slikovnih informacij v realnem času omogoča tudi sledenje spremembam v okolici, na podlagi česar se nato lahko spreminjajo tudi navidezni objekti na zaslonu. Zaslon Resničnost Slika 1: Osnovna arhitektura sistema obogatene resničnosti na mobilni napravi Prepoznavanje slikovnih informacij v aplikaciji deluje povsem neodvisno od izrisovanja navideznih objektov [1], ki se vrši v sklopu ločenega okolja za interpretacijo interaktivne računalniške grafike (npr. Unity). S tovrstnim okoljem je Vuforia povezana preko integriranih programskih knjižnic. Funkcionalno torej aplikacijo obogatene resničnosti lahko razdelimo na dva dela: • prepoznava in sledenje slikovnim informacijam v resničnem okolju (Vuforia) • izris in interakcija med ustreznimi 3D objekti na podlagi prejetih informacij o resničnem okolju Informacije, ki so potrebne za pravilno razpoznavo slikovnih vzorcev, Vuforia pridobi iz podatkovne baze, ki je lahko bodisi lokalna (v napravi) ali oddaljena (v oblaku) [1]. Prva za delovanje aplikacije ne potrebuje internetne povezave in deluje hitreje od podatkovne baze v oblaku, ki pa na drugi strani omogoča shranjevanje večjega števila slik in metapodatkov za prepoznavo. Na sliki 1 je prikazana osnovna arhitektura sistema obogatene resničnosti na mobilni napravi, ki je implementirana s pomočjo okolij Vuforia in Unity. Proces razvoja aplikacije s pomočjo okolja Vuforia lahko razdelimo v štiri poglavitne faze [1]: • Izdelava podatkovne baze s slikami za prepoznavo • Definicija konfiguracije posamezne slike v podatkovni bazi • Uvoz podatkovne baze v okolje za razvoj aplikacije • Prepoznava slik in prikaz 3D modelov v aplikaciji Podatkovno bazo v okolju Vuforia preko spletnega vmesnika lahko ustvarimo zelo enostavno. Vsaka slika, ki jo naložimo v podatkovno bazo, se oceni s parametri, ki definirajo, kako kvalitetna je slika za prepoznavo s pomočjo tehnologije strojnega vida. V odvisnosti od kontrastnosti in števila ostrih robov na sliki [2], se določijo značilne točke na sliki (označene s simbolom križca), na podlagi katerih se ustvarijo in shranijo metapodatki o posamezni sliki. 11* TAFR ROBOTICS Slika 2: Primer slabo prepoznavne [8] (levo) in dobro prepoznavne slike (desno) Metapodatki o slikah v podatkovni bazi se med delovanjem aplikacije primerjajo z metapodatki slike, ki jo okolje Vuforia zazna preko kamere. V primeru ustrezne stopnje ujemanja metapodatkov, se v aplikaciji izvrši ustrezna logika za izris ustreznih navideznih objektov. 4 Implementacija aplikacije Aplikacija, ki smo jo izdelali za operacijski sistem Android, v osnovi sestoji iz dveh delov (Unity aktivnosti): osnovnega menija, preko katerega vstopimo v glavno aktivnost, v kateri je implementirana tehnologija obogatene resničnosti. Za potrebe prepoznavanja slik smo izdelali podatkovno bazo, ki smo jo v razvojno okolje Unity uvozili v obliki programskega paketa, ob namestitvi aplikacije pa se ta zapiše v lokalno shrambo naprave. V podatkovno bazo smo naložili eno sliko, ki je bila ocenjena kot dobro prepoznavna slika. 3D model robota, ki se prikaže ob prepoznavi slike, smo opremili z informativnimi točkami, katere označujejo posamezne sestavne dele robota. Vse točke so odzivne na dotik, ob pritisku na posamezno točko, pa se na zaslonu prikaže povečan model ustreznega sestavnega dela in z njim povezane informacije. Na zaslon smo umestili tudi gumb, s katerim uporabnik lahko preklaplja med zaprtostjo/odprtostjo pokrova, ki pokriva jedrni del robota in pod katerim se skrivajo dodatne informativne točke. Modalnost interakcije, ki smo jo uporabili pri implementaciji uporabniškega vmesnika, je zaznavanje pritiskov na zaslonu občutljivem na dotik. Poleg že omenjenih gumbov in informativnih točk na zaslonu, lahko uporabnik s pomočjo potegov prstov preko interaktivnih elementov, te vrti okoli svoje osi za 360 stopinj. Sprva smo zaznavo dogodkov za vrtenje 3D modelov nameravali uresničiti s pomočjo uporabe že predpripravljene programske knjižnice, vendar smo zaradi nekaterih njenih omejitev, ki bi spremenila interakcijo na nekoliko manj naraven in za uporabnika bolj zahteven način, dogodke za interakcijo z objekti raje napisali sami. Vrtenje objektov, smo namesto z dvema prstoma omogočili zgolj z enim prstom. Poleg standardnih elementov grafičnega uporabniškega vmesnika, smo vanj umestili tudi nekaj komponent za pomoč in namige uporabniku (npr. simbol za vrtenje pod 3D modelom). Pri implementaciji zaznavanja slike smo uporabili t.i. način razširjenega sledenja (ang. extended tracking), kjer 3D model ostane izrisan na zaslonu tudi takrat, ko pogled kamere umaknemo stran od prepoznane slike. Slika 3 prikazuje nekaj zaslonskih posnetkov aplikacije. 101 Slika 3: Zaslonski posnetki izdelane aplikacije 5 Testiranje in rezultati Aplikacijo smo testirali na mobilni napravi s sledečimi karakteristikami: Tabela 1: Karakteristike testne naprave Ime naprave Samsung Galaxy S8, SM-G950F Operacijski sistem Android 8.0.0 Oreo Delovni pomnilnik 4 GB Procesor 8-jedrni (2.3GHz Quad + 1.7GHz Quad), 64 bit Kamera 12,5 MP Zaslon 5,8" (2960 * 1440) Aplikacijo smo testirali s pomočjo 15 oseb. Vsak uporabnik je imel na voljo nekaj časa, da se spozna z aplikacijo in preizkusi njeno delovanje, nato pa je izpolnil kratek vprašalnik [6]. Na podlagi vprašalnika smo predvsem želeli preveriti ali obogatena resničnost kot način za predstavitev informacij ustreza našemu primeru, hkrati pa smo želeli preveriti tudi, ali je aplikacija uporabniku prijazna, uporabniški vmesnik pa jasen in intuitiven. Vprašalnik, čigar rezultati so prikazani v spodnjih grafih, je bil sestavljen iz petih vprašanj, odgovor na vsakega pa je bilo potrebno podati v obliki številske ocene od 1 (najmanj) do 5 (največ). 2 Aplikacija se mi zdi uporabna n=15 i Slika 4: Rezultati vprašanja o uporabnosti aplikacije Slika 4 prikazuje rezultate odgovorov na vprašanje o uporabnosti aplikacije (ang. usefulness). Vidimo lahko, da je 9 uporabnikov na to vprašanje odgovorilo z oceno 5, preostalih 6 pa z oceno 4, kar v povprečju prinaša oceno 4.6, na podlagi katere lahko trdimo, da so vsi uporabniki ocenili aplikacijo kot uporabno. Poleg ocen o uporabnosti aplikacije, so za nas veliko bolj pomembne ocene o uporabljivosti aplikacije (ang. usability), ki s subjektivnega stališča definirajo stopnjo prijaznosti rešitve do uporabnika. Pri sestavljanju ankete smo bili v dilemi glede razlikovanja med zgornjim in spodnjim vprašanjem s strani uporabnikov. Spraševali smo se namreč, ali le-ti dejansko poznajo razliko med pojmoma uporabnost in uporabljivost. S tem namenom smo vprašanji sestavili v relativno razumljivih oblikah, ki že sami po sebi namigujeta na bistveno razliko. 1 Aplikacija se mi zdi enostavna za uporabo n=15 * 2 6 Slika 5: Rezultati vprašanja o enostavnosti uporabe aplikacije Na sliki 5 so prikazani rezultati odgovorov na vprašanje o enostavnosti uporabe same aplikacije. Zopet je večina uporabnikov (11) podala najvišjo oceno, medtem ko so trije uporabniki izbrali oceno 4, eden pa oceno tri. Povprečna ocena enostavnosti uporabe tako znaša 4,7. Tudi tukaj lahko na podlagi visokega povprečja označimo aplikacijo kot enostavno za uporabo. Uporabniški vmesnik aplikacije je razumljiv n=15 ..... 2 • 3 Slika 6: Rezultati vprašanja o razumljivosti uporabniškega vmesnika Podoba grafičnega uporabniškega vmesnika aplikacije predstavlja velik faktor na področju interakcije aplikacijskih rešitev s končnimi uporabniki. 7 uporabnikov je razumljivosti uporabniškega vmesnika namenila oceno 5, 6 uporabnikov oceno 4 in 2 uporabnika oceno 3. Tukaj lahko opazimo nekoliko nižje skupno povprečje (4.3) in večji standardni odklon kot pri ostalih vprašanjih. Med testiranjem smo opazili, da nekaj uporabnikov ni takoj opazilo interaktivnih točk na robotu, saj so le te precej majhnih dimenzij, kontrast med njimi in 3D modelom pa morda nekoliko premajhen. Ker smo se pri razvoju aplikacije bolj osredotočili na samo implementacijo tehnologije navidezne resničnosti, smo načrtovanju uporabniškega vmesnika namenili nekoliko manj časa, kar se kaže tudi v odgovorih na zgornje vprašanje. Aplika zija deluje b rez opaznil težav n=15 - o Slika 7: Rezultati vprašanja o performančnosti aplikacije 102 Tudi tekoče delovanje rešitve vpliva na uporabnikovo subjektivno mnenje o aplikaciji. 11 oseb med uporabo aplikacije ni opazilo nobenih težav, 3 osebe skoraj nič, ena oseba pa je zaznala nekoliko več težav, zato je na vprašanje odgovorila z oceno 2. Morda se razlog za to skriva v nekoliko manj intuitivnem uporabniškem vmesniku, kar smo izpostavili že v prejšnjem odstavku. Način prikaza informacij je primeren namenu aplikacije mm Slika 8: Rezultati vprašanja o primernosti načina prikaza informacij V zadnjem vprašanju smo uporabnike povprašali o primernosti načina prikaza informacij glede na namen aplikacije. Želeli smo preveriti, ali je tehnologija obogatene resničnosti ustrezna za predstavitev oprijemljivih produktov v navidezni obliki. Na podlagi povprečne ocene 4.5 lahko trdimo, da so si uporabniki s pomočjo aplikacije uspeli ustvariti dobro predstavo o izdelku. Iz zgornjih grafov lahko razberemo, da princip obogatene resničnosti ustreza osnovnemu namenu naše aplikacije -predstavitev fizičnega produkta v navidezni obliki. S tem smo dosegli cilje, ki smo si jih zadali v prvi fazi načrtovanja aplikacije. 5 stališča delovanja aplikacije večjih težav sami nismo opazili. Razpoznava vzorca iz slike se je v različnih svetlobnih pogojih (sončna svetloba, umetna luč, senca) izvršila podobno hitro -praktično skoraj takoj, ko smo kamero usmerili proti sliki. 3D objekt se je na zaslonu izrisal brez opaznih zamud in morebitnih popačitev in nepravilnosti. Ob premikanju naprave po prostoru, je izrisovanje objekta v realnem času tekoče sledilo trenutni poziciji naprave (približevanje/oddaljevanje, kroženje okoli navideznega objekta, premikanje podlage), kar predstavlja velik doprinos k zmanjševanju razlik med resničnim in navideznim svetom. Edina slabost, ki smo jo opazili med uporabo aplikacije, je fizično segrevanje mobilne naprave, saj je frekvenca izrisovanja objektov v realnem času precej visoka, posledica tega pa je visoka poraba strojnih zmogljivosti naprave. 6 Sklep Kot smo lahko videli, smo z našim delom izpolnili cilje, ki smo si jih zadali na začetku. Kljub uspešnim rezultatom testiranja in tekočemu delovanju aplikacije, bi le-to lahko še izboljšali. V prvi vrsti je tu zagotovo optimizacija porabe strojne opreme, ki bi jo lahko zmanjšali z drugačnim načinom izrisovanja 3D objekta na zaslonu. Sedaj se v grafičnem cevovodu, ki skrbi za pravilno prikazovanje objekta, procesirajo vse njegove komponente, tudi tiste, ki trenutno niso vidne na zaslonu. Če bi izrisovanje omejili zgolj na vidne komponente v ospredju, bi zagotovo nekoliko razbremenili obremenitev centralno procesnih enot v napravi. Tudi z vidika tehnologije obogatene resničnosti, bi aplikacijo lahko še nadgradili. V prvi fazi bi lahko implementirali hkratno prepoznavanje več slik, nadaljevali pa bi s prepoznavanjem tridimenzionalnih objektov v okolici. Nekaj izboljšav bi lahko naredili tudi na intuitivnosti uporabniškega vmesnika aplikacije. Literatura [1] C. Xiao, Z. Lifeng, »Implementation of Mobile Augmented Reality Based on Vuforia and Rawajali,« http://ieeexplore.ieee.org/stamp/stampjsp?tp=&arnumber=69 33713&isnumber=6933501 [2] D. Adrianto, M. Hidajat, V. Yesmaya, »Augmented Reality Using Vuforia for Marketing Residence,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=80 52642&isnumber=8052634 [3] D.H.Marjury, B. C. Karen, M. M. Diana in L. F. Gabriel, »Offline Mobile Application for Places Identification with Augmented Reality,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=79 62546&isnumber=7962495 [4] F. Peng, J. Zhai, »A Mobile Augumented Reality System for Exhibition Hall Based on Vuforia,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=79 84714&isnumber=7984442 [5] M. Di Capua, G. Costagliola, M. De Rosa in V. Fuccella, »Rapid prototyping of mobile applications for augumented reality interactions,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=60 70416&isnumber=6070364 [6] G. Sato, G. Hirakawa in Y. Shibata, »Push Typed Tourist Information System Based on Beacon and Augumented Reality Technologies,« http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=79 20923&isnumber=7920866 [7] Kaj je obogatena resničnost in kaj nam prinaša, DNE, http://dne.enaa.com/Inovacije/kaj-je-obogatena-resnicnost-in-kaj -nam-prinasa.html [8] »Natural Features and Image Ratings,« vuforia, [Online], Dostopno: https://library.vuforia.com/articles/Solution/Optimizing-Target-Detection-and-Tracking-Stability.htm 103 Primerjava načrtovalskih vzorcev programske kode v mobilnih aplikacijah Vid Ribic, MatevZ Pogačnik Univerza v Ljubljani, Fakulteta za elektrotehniko E-posta: ribvid@gmail.com Comparison of design patterns used in the development of mobile applications Abstract. In this paper, we examine some of the more common design patterns used in the development of mobile applications for the iOS. With their help, the application is divided into multiple components, which has certain key advantages. It is easier to reuse user interface (UI) elements and we thus follow the don't repeat yourself (DRY) concept, making the code optimized, more understandable and easier to test. The use of a suitable design pattern quickens development and simplifies bug fixing. We also describe the model-view-controller (MVC) architecture, which seems an excellent starting point for most applications. In recent years, however, certain qualms have arisen regarding its suitability for more demanding programs as the use of MVC requires caution in order to avoid the problem of massive view controller. With the MVP concept, the controller is moved to a part of the view, while man-in-the-middle becomes a new element - the presenter. Also described is the MVVM pattern, where the view owns the view model, as well as VIPER, which divides individual tasks of the application into five minor components. 1 Uvod Pri programiranju že od nekdaj pomembno vlogo igrajo načrtovalski vzorci (angl. design patterns). Z njihovo pomočjo razbijemo programsko kodo na več različnih komponent, vsako s svojo zadolžitvijo. To prinaša nekaj pomembnih prednosti. Modularno napisano kodo je lazje ponovno uporabiti in tako slediti konceptu DRY (angl. don't repeat yourself), s čimer zmanjšamo količino napisane kode in posledično verjetnost napak v njenem delovanju. Pomembna prednost je enostavnejše testiranje, ker ga lahko izvajamo nad vsako komponento posebej. Pri monolitno napisani kodi, ki opravlja več nalog hkrati, je testiranje veliko večji, če sploh rešljiv, izziv. Moznost enostavnega testiranja olajšuje spreminjanje obstoječih delov kode in dodajanje novih funkčionalnosti, prav tako kot boljša preglednost, organiziranost in jasnost, ki jo dosezemo z razbitjem kode na več smiselnih enot. Uporaba arhitekturnih vzorčev rezultira v hitrejšem razvoju, predvsem pa v manj hroščati in bolje optimizirani kodi. Nič drugače ni pri razvoju programske opreme za mobilne naprave. Sprva so bile mobilne aplikacije enostavne in primitivne, zato so se večinoma uporabljali samo najosnovnejši arhitekturni koncepti, kot je model-pogled-kontroler oziroma MVC (angl. model-view-controller). S kompleksnejšimi in zahtevnejšimi programi so se pojavile tezave tega pristopa in začelo se je razmišljati o vpeljavi novih arhitekturnih zasnov. V razvijalskih krogih se zadnja leta čedalje pogosteje zastavlja vprašanje, ali je MVC danes še vedno najprimernejši načrtovalski vzorec ali pa je za sodobno mobilno aplikačijo preveč enostaven, zato bomo v tem članku na kratko predstavili nekaj arhitekturnih idej, primernih za razvoj mobilnih aplikačij za platformo iOS. 2 MVC Najpreprostejši, najpogostejši in tudi eden izmed najstarejših načrtovalskih vzorčev je model-pogled-kontroler ali MVC. Kratičo je leta 1979 prvič uporabil Trygve Reen-skaug za programe napisane v Smalltalku [1]. Applova različšiča, ki jo predstavljamo v nadaljevanju, je prilagojena posebnostim mobilnih aplikačij. Slika 1: Pri idejni zasnovi MVC je most med pogledom in modelom kontroler. Arhitektura je trodelna. Na eni strani je model, ki je abstrakten opis vsebine naše aplikačije. Model je popolnoma neodvisen od aplikačijskega ogrodja (angl. framework) [1]. Na drugi strani imamo pogled (angl. view), ki predstavlja vidni del aplikačije, uporabniški vmesnik. Pogled in model nista nikoli v neposredni povezavi, s čimer preprečujemo njuno soodvisnost. To je pomembno, saj lahko le tako poglede ponovno uporabimo tudi z drugimi modeli, kar je pri razvoju mobilnih aplikačij dokaj pogosto. Most ERK'2018, Portorož, 100-103 104 med modelom in pogledom je kontroler (angl. controller). Ta dobi informacijo o spremembi modela in ustrezno posodobi pogled. Ter obratno: ko uporabnik interaktira z aplikacijo in izvede določeno akcijo, kot je pritisk na gumb, lahko kontroler posodobi model, ce je to seveda potrebno [2]. Po drugi strani pa to pomeni, da ima kontroler veliko zadolžitev in prav to je kljucna teZava ter kritika te arhitekturne zasnove. Pri kompleksnih aplikacijah se namrec hitro zgodi, da postane kontroler zelo obsezen, cemur se, kot zapisano v uvodu, skušamo izogniti. Pogled v dokumentacijo razkrije, kakšne zadolzitve lahko dodelimo kontrolerju (izpeljemo ga iz razreda UIViewController) [3]. Med njimi so skrb za pravilen prikaz pogleda, nadzor nad njegovim zivljenskim ciklom, spremljanje morebitnih rotacij zaslona, zaznava in ustrezna obdelava uporabnikovih akcij, lahko se povezuje s streznikom in obdeluje odgovore, ki mu jih ta vrne, posluša obvestila (angl. notifications) in tako dalje. Seveda vseh funkcij ni potrebno implementirati, ce niso potrebne, kljub temu pa se moramo zavedati, da se lahko hitro ujamemo v past preobsezne kode. Tisti, ki trdijo, da gre za prezivet koncept, prav zaradi preobseznosti kontrolerja MVC ironicno pojasnujejo kot "massive view controller". Delno rešitev te tezave predstavlja koncept kontrolerjev otrokov (angl. child controllers), na katere lahko prenesemo kakšno izmed nalog in jih nato po potrebi vkljucujemo v druge kontrolerje. Primer take uporabe bi bila locena kontrolerja za obravnavo nalaganja vsebine in prikaz napake, kiju nato lahko vkljucimo v vse tiste kontrolerje, ki obdelujejo strezniške odgovore [4]. Z uporabo kontrolerjev otrokov se lahko izognemo nevarnosti masivnega kontrolerja, obenem pa jih lahko uporabimo na vec razlicnih mestih in s tem sledimo ideji DRY. Druga tezava kontrolerja, ki je povezan s pogledom in modelom, je otezšeno testiranje poslovne logike (angl. business logic). Testiranje sicer je mogocše, vendar zahteva nekaj vecš dela in truda. Kljub temu MVC še vedno ostaja pogosta arhitekturna izbira. Prvi razlog je njegova enostavnost - MVC-ja se je najlazje in najhitreje nauciti, hkrati pa v aplikacijo ne vnasša preveliko nepotrebne kode (angl. overheada). MVC je arhitektura, ki jo priporoca in v svojih aplikacijah uporablja Apple. Marsikdo, ki zagovarja uporabo MVC-ja, je prav zaradi tega preprican, daje aplikacijsko ogrodje napisano z mislijo na to zasnovo (ali vsaj njene neposredne izpeljanke) in so vsi elementi, potrebni za razvoj, ze del obstojecših knjizšnic. (Četudi se nam zdijo drugi nacrtovalski vzorci primernejši od MVC-ja, pa ta velja za osnovo vecini ostalih idej. Marsikakšna izmed njih se pravzaprav zdi zelo podobna MVC-ju, zaradi cesar se nemalokdo sprašuje, ali ne gre le za drugacen nacin implementacije istega vzorca in drugacšno ime (MV-karkoli, angl. MV-whatever). Masiven kontroler za zagovornike MVC-ja ni odraz slabosti tega nacšrtovalskega vzorca, pacš pa programerja, ki ga ne zna pravilno implementirati [5]. 3 MVP Eden izmed vzorcev, izpeljan iz MVC-ja, je model-pogled-prikazovalnik ali MVP (angl. model-view-presenter). Leta 1996 gaje zasnoval Mike Potel [6]. Ker vsevedni kontroler vodi v obsezno kodo in tezavno testiranje, se pri tej zasnovi pomakne v del pogleda; gledano z vidika razredov lahko recemo, daje poleg razreda UIView sedaj del pogleda tudi UIViewController. Ta sicer še vedno skrbi za UIView, vendar nima vec neposredne povezave z modelom, s cimer se izognemo številnim tezavam. Prikazovalnik zasede vlogo mozša v sredini med modelom in pogledom. Pogled delegira uporabnikove interakcije prikazovalniku, ki vsebuje logiko za njihovo obravnavo. Hkrati je tudi tisti, ki prevzame komunikacijo z modelom, podatke, ki jih od njega prejema, ustrezno pripravi in nato pošlje naprej UIViewControllerju. Prikazovalnik je prav tako kot model neodvisen od aplikacijskega ogrodja UIKit [7]. UIViewController na ta nacin razbremenimo številnih nalog, hkrati pa tako kot UIView postane nevedni cšlen arhitekture. S tem ne dosezemo le manj obsezne kode, temvec tudi olajsšujemo testiranje, saj lahko sedaj poslovno logiko aplikacije stestiramo neodvisno od UIViewControllerja. Po drugi strani pa MVP prinese nekaj dodatnega dela, saj je potrebno vpeljati nov element, torej prikazovalnik, in ga povezati z ostalimi cleni arhitekture. Slika 2: Pri MVP se kontroler pomakne v del pogleda, moz v sredini pa postane prikazovalnik. 4 MVVM Pri nacšrtovalski zasnovi MVP ima pogled referenco na prikazovalnik in obratno. Cš e zšelimo prikazovalnik razbremeniti povezave s pogledom, lahko uporabimo vzorec model-pogled-pogled model ali MVVM (angl. modelview-view model). Izvorno gaje predstavil Microsoft leta 2005, da bi poenostavil dogodkovno usmerjeno programiranje (angl. event-driven programming) [2]. Se vedno ostaja ideja, da pogled predstavlja vidni del aplikacije in nima moznosti neposredne komunikacije z modelom. Kljucna razlika pa je sledeca: pogled si lasti nov nivo, poimenovan pogled model, ta pa si lasti model. Pogled model je zadolzšen za hrambo podatkov za pogled, ki si ga lasti. Za primer vzemimo aplikacijo za predvajanje glasbe. Pogled bo narisal seznam skladb, pogled model pa bo hranil informacije o njih (naslov, izvajalca, zanr, dolzšino, ...). 105 Slika 3: Med pogledom in pogledom model vzpostavimo pove zavo (angl. binding). Ker iOS nima nativnega pristopa k temu. se veliko razvijalcev odloČi za vpeljavo reaktivnosti. Tok aplikacije je pri MVVM nekoliko drugačen. Postavi se vprašanje, kateri nivo je zadolžen za pridobitev podatkov s strežnika ali baze? Povedano skozi gledišče zgornjega primera: kateri člen arhitekture bo s streznika pridobil seznam skladb? Pri MVC in MVP sta za to za-dolzena kontroler oziroma prikazovalnik, ki nato uporabita model in posodobita pogled. Pri MVVM pa za povezavo s streznikom oziroma bazo skrbi pogled. Ta pridobi podatke in jih posreduje nivoju pogled model, ki jih sprocesira in pripravi v ustrezni obliki za uporabniški vmesnik ter vrne nazaj pogledu, s katerim je povezan (angl. binding). Tezava je, da pri iOS ni pravega in nativnega pristopa za tovrstno povezovanje. Obstajajo sicer mehanizmi, kot so KVO (key-value observing), delegati ali notifikacije, vendar niso tako ucinkoviti kot povezovalni mehanizmi pri drugih programskih jezikih. Osnovno aplikacijsko ogrodje ni bilo napisano z mislijo na to nacrtovalsko zasnovo. Razvijalci se zato koncepta MVVM najpogosteje lotevajo z reaktivnim pristopom, ceprav ta seveda ni nujen. MVVM sše vedno skrbi za razdelitev nalog med razlicšne nivoje, reaktivnost pa za povezovanje (binding). Ceprav sta pogled in pogled model med seboj tesno povezana, pa je pogled še vedno locen od modela, s cimer se ohranja osnovna ideja MVC-ja. Hkrati je pri MVVM poslovna logika locšena od kontrolerja in s tem ostaja enostavnost testiranja, ki smo jo vpeljali z MVP-jem. Po drugi strani pa z uvajanjem MVVM-ja prihaja do novih izzivov. Prvo vprasšanje, ki bega razvijalce, je razdelitev nalog. Kar nekoliko nenavadno se zdi, daje pogled tisti, ki je zadolzen za povezavo s streznikom ali bazo, vendar tako narekuje izvorna ideja MVVM-ja. Morda bi bila ta naloga primernejša za pogled model? Primer uporabne vrednosti tega, daje pogled zadolzen za pridobivanje podatkov, je to, da sam ve, kdaj so podatki uspesšno preneseni in kdaj je prišlo do napake. Ce bi to nalogo preselili na nivo pogled model, bi to pomenilo, da moramo dodati sše en nivo abstrakcije, za primer, ko podatkov ni in pogled model vracša pogledu napako. Druga tezava MVVM-ja pri iOS-u je manjko nativ-nega pristopa k povezovanju. Reaktivnost se slisši kot dobra resšitev, vendar je kompleksna, zahteva vecš ucšenja in posledicšno bolj nagiba nasšo kodo k mozšnosti napak. Zavedajoc se prednosti in slabosti tega koncepta, lahko sklenemo, da je MVVM zanimiva in premisleka vredna i /K User 1 action Update Presenter y_ Data X source _ Send _v events 7 Router I * Ask Notify 4, I Interactor Notify- -Manage—^ Entity Slika 4: Viper razdeli aplikacijo na pet delov. Ceprav v teoriji dobro razdeli zadolzitve in olajša testiranje, se v praksi izkaze, da je tovrstna abstrakcija nemalokrat prevelika. Pogled ostane zadolzen za prikaz uporabniškega vmesnika, uporabnikove akcije pa pošlje prikazovalniku. Ta je odgovoren za njihovo obdelavo in je popolnoma neodvisen od uporabniškega vmesnika. Tretji clen je interaktor. Vsebuje vso poslovno logiko, hkrati ima v lasti in upravljanju entiteto (angl. entity), kije cetrti nivo te zasnove, namenjen definiranju strukture za shranjevanje podatkov. Zadnja komponenta je usmerjevalnik (angl. router), ki skrbi za navigacijo na podlagi akcij, prejetih iz prikazovalnika [8]. VIPER razdeli zadolzitve aplikacije na vec clenov, s cimer še dodatno poenostavi testiranje. Po drugi strani pa uvedba toliko novih razredov aplikacijo zelo razdrobi in podaljšuje ucenje ter razumevanje zgradbe in arhitekture programa. Zavedati se moramo tudi velike razlike med osnovno zasnovo MVC in VIPER. Se je res smiselno toliko oddaljiti od koncepta, ki ga zagovarja tisti, ki skrbi za aplikacijsko ogrodje? 6 Sklep Poleg predstavljenih obstaja sše mnogo drugih nacšrtovalskih zasnov (Redux, Cake, MVC+VS, MAVB, TEA, ...). Postavlja se vprašanje, katera je najprimernejša? Bistveno je zavedanje, daje namen vsake arhitekture programerju olajšati delo, pohitriti programiranje, odpravljanje napak in dodajanje novih funkcionalnosti, poenostaviti testiranje ter zmanjšati obseg kode. Ce VIPER ponuja nadrobno razdelitev nalog med posameznimi deli, kar ima nedvomno svoje prednosti, pa je bistveno bolj kompliciran od MVC-ja. Obstaja pomislek, da se arhitekture, kot je VIPER, na papirju zdijo dobra rešitev, v praksi pa prinašajo prevec abstrakcije in posledicno zmede. Kljucna tezava 106 MVC-ja je nevarnost preobsežnega kontrolerja, vendar to ne sme biti razlog, da se tej idejni zasnovi prehitro odpovemo. Obseg kontrolerja lahko zmanjšamo. Data source in delegate za collection view ali table view, ki sta pogosta elementa uporabniškega vmesnika, lahko locimo od UIViewControllerja. Iz kontrolerja lahko vselej prestavimo mrezne klice in obdelavo datotek JSON, s cimer med drugim poenostavimo testiranje. Omenili smo tudi kontrolerje otroke, ki jih vključujemo, kjer jih potrebujemo. Tezavo pretoka podatkov med posameznimi cleni aplikacije lahko ucinkovito rešimo z uporabo koordinatorjev. Upoštevajoc moznosti za razbremenitev kontrolerja in izogib njegove preobseznosti, ugotovimo, da ima vendarle MVC še vedno široko uporabno vrednost. Ker je MVC najenostavnejši in Applov izbrani nacrtovalski vzorec za platformo iOS, je najbolje, da se mu odpovemo šele takrat, ko predstavljajo njegove omejitve nepremostljivo oviro. Literatura [1] C. Eidhof, M. Gallagher, in F. Kugler, App Architecture, iOS Application Design Patterns in Swift. CreateSpace Independent Publishing Platform, 2018. [2] A. Harbade, iOS design patterns, iOS design patterns — Part 1 (MVC, MVP, MVVM). Dostopno na: https://medium.com/swlh/ios-design-patterns-a9bd07818129. [3] Apple, Documentation, UIKit, View Controllers, UIViewController. Dostopno na: ht-tps://developer.apple.com/documentation/uikit/uiviewcontroller. [4] J. Sundell, Using child view controllers as plugins in Swift. Dostopno na: https://www.swiftbysundell.com/posts/using-child-view-controllers-as-plugins-in-swift. [5] A. Vacic, Much ado about iOS app architecture. Dostopno na: http://aplus.rs/2017/much-ado-about-ios-app-architecture/. [6] M. Potel, MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java. Taligent, 1996. [7] I. Agha, A dumb UI is a good UI: Using MVP in iOS with swift. Dostopno na: http://iyadagha.com/using-mvp-ios-swift/. [8] A. Harbade, iOS design patterns — Part 2 (VIPER). Dostopno na: https://medium.com/@anup.harbade.iosdev/ios-design-patterns-part-2-viper-fa3522b22b6b. 107 Razvoj platforme za izmenjavo multimedijskih vsebin z uporabo zasebne kriptovalute Uroš Zoretič, Grega Jakus Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, Ljubljana, Slovenija E-pošta: uros.zoretic123@gmail.com, grega.jakus@fe.uni-lj.si Abstract. Blockchain is a key element for implementation of cryptocurrencies. It ensures the integrity, authenticity, irreversibility, privacy and timestamp of the recorded data without the need for a third-party trusted authority. Because of their potential, blockchains have found their ways also into the fields of decentralized autonomous organizations, supply chains and the Internet of Things. Due to the increasing popularity of block-chains, developers also benefit from ever more ready-available functionalities in form of web services and programming libraries, which enables developers, among other things, to use the existing cryptocurrencies in their applications, ensure time traceability of their data, or create their own blockchains and smart contracts. In order to evaluate the effectiveness of using libraries for cryptocurrency creation, we developed a content sharing application where the user gets an amount of digital money in exchange for providing digital content to the community. The cryptocurrency was created using the Naivecoin library and can be interacted through a web service. The platform can be used through web or mobile application. Based on our experience the use of blockchain libraries speeds up the development. However, in order to obtain reliable applications thorough testing is needed due to frequent bugs in libraries. 1 Uvod Tehnologija veriženja blokov je bila razvita za izvedbo porazdeljene javne glavne knjige transakcij pri kriptova-luti Bitcoin. Glavna knjiga je ključni element kriptovalut, saj vsebuje seznam vseh izvedenih prenosov denarja s podatki o plačniku, prejemniku in znesku posameznega prenosa ter zaporedju izvršenih prenosov, iz katerega je mogoče sklepati o stanju na posameznem računu. Blokovna veriga je sestavljena iz blokov, v katere zapisujemo podatke v obliki transakcije, ki ima praktično enako vlogo kot v tradicionalnih podatkovnih zbirkah, kjer služi spreminjanju zapisov. V transakcijo lahko zapišemo različne podatke, odvisno od namena uporabe verige. Pri kriptovalutah so to virtualna denarna sredstva, lahko pa transakcija vsebuje tudi izvedljivo programsko kodo v obliki pametnih pogodb (ang. smart contracts). Poleg podatkov v transakcijah vsebuje blok tudi časovno oznako njegovega nastanka, javni ključ lastnika bloka, ki ga je potrdil, dokaz dela (ang. proof of work), ki služi kot orodje za doseganje soglasja o tem, kateri vozel v omrežju lahko v verigo doda naslednji blok, in izvleček (ang. hash), ki zagotavlja nespremenljivost podatkov v bloku. Ko so posamezni bloki ustvarjeni in potrjeni, se zapišejo v blokovno verigo, v kateri vsak blok vsebuje kazalec na izvleček prejšnjega bloka. Pomembna lastnost blokovne verige je nespremenljivost v njej zapisanih podatkov, kar je pri kriptovalutah ključno za odpravo problema večkratne uporabe istega denarja. Ker lahko poleg tega nad blokovnimi verigami uporabimo tudi mehanizme, ki zagotavljajo verodostojnost, avtentičnost, neovrgljivost, časovno opredeljenost in tajnost podatkov, odpade potreba po zaupanja vrednem posredniku pri transakcijah, saj za navedene lastnosti skrbijo kar sodelujoči členi v omrežju. Bitcoin in druge krip-tovalute so se zato lahko uveljavile kot alternativa klasični izmenjavi denarja s posredovanjem zaupanja vrednih avtoritet (bank). Zaradi omenjenih lastnosti blokovnih verig, predvsem pa ker ne potrebuje zaupanja vrednega posrednika, se tehnologija širi tudi na druga področja, kot so kiber-netska varnost [1], decentralizirani splet [2] in shranjevanje podatkov v porazdeljenem oblaku [3]. S pomočjo pametnih pogodb [4] je mogoče ustvariti tudi decentralizirane avtonomne organizacije [5] in upravljati oskrbovalne verige podjetij [6]. Pilotni projekti potekajo tudi v zdravstvu [7] in internetu stvari [8]. Naraščajoča priljubljenost in razširjenost tehnologije veriženja blokov pa ima še eno pomembno prednost, to je razširjenost že pripravljene funkcionalnosti, ki razvijalcem olajša in pohitri razvoj aplikacij, ki uporabljajo to tehnologijo. Namen prispevka je podati pregled razpoložljive funkcionalnosti in predlagati način uporabe enega izmed ogrodij pri izgradnji aplikacije, ki uporablja blokovno verigo za izvedbo zasebne valute. 2 Razpoložljiva ogrodja in storitve Obstoječe funkcionalnosti zasledimo v obliki programskih knjižnic in spletnih storitev, ki omogočajo izgradnjo lastnih blokovnih verig ali pa integracijo obstoječih v končne aplikacije. Na ta način se razvijalcu ni potrebno ukvarjati z nizkonivojsko izvedbo blokovne verige, ampak pripravljeno ogrodje le prilagodi svojim potrebam. 2.1 Spletne storitve Spletna storitev je storitev v skupni rabi, do katere odjemalci dostopajo z uporabo komunikacijskih protokolov, najpogosteje protokola HTTP (ang. HyperText Transfer Protocol). Storitev se izvaja ločeno od aplikacije, ki jo uporablja, pogosto na oddaljenem strežniku. Prednost uporabe storitve v primerjavi s programsko knjižnico je možnost sočasne interakcije z več odjemalci, ki storitev uporabljajo (vključno z njenimi podatki). Uporaba kriptovalut v aplikacijah. Spletne storitve se najpogosteje uporabljajo za vključitev plačil s kripto-valutami v različne aplikacije. Med bolj uporabljenimi ERK'2018, Portorož, 100-103 108 tovrstnimi storitvami je Blockchain.info [9], ki omogoča plačila s kriptovaluto Bitcoin. Podobne storitve so še Co-inbase [10], Gem [11] in BitGo [12]. Časovna sledljivost. Storitev Tierion [13] omogoča časovno sledljivost podatkov. Lahko se uporabi za shranjevanje zgodovine poslovnih procesov, časovno žigosanje in podpisovanje dokumentov ter zagotavljanje integritete podatkov, pridobljenih z naprav interneta stvari. Za zagotavljanje verodostojnosti podatkov uporablja protokol Chainpoint [14], ki je postal de-facto standard za časovno dokazljivost nastanka podatka. Verižna omrežja v oblaku. Amazon Web Services (AWS) Blockchain [15] nudi oblačna ogrodja, ki temeljijo na priljubljenih verigah Ethereum ali Hyperledger, za izdelavo lastnih blokovno-verižnih omrežjih, ki se izvajajo znotraj okolja AWS. AWS Blockchain ponuja predloge, ki jih lahko razvijalec prilagodi in s tem ustvari lastne porazdeljene aplikacije. 2.2 Programske knjižnice Programska knjižnica je deljena programska koda, ki se skupaj z izvorno kodo aplikacije, v kateri jo uporabimo, prevede v izvršno kodo. Razvijalec lahko do funkcionalnosti programske knjižnice dostopa s klici funkcij njenega aplikacijskega programskega vmesnika. Programska koda knjižnice se izvaja v istem izvajalnem okolju (računalniku) kot aplikacija, ki knjižnico uporablja. Dostop do storitev. Programske knjižnice pogosto omogočajo le lažjo izvedbo klicev storitev, v okviru katerih je uporabljena funkcionalnost dejansko udejanjena. Veliko takih knjižic omogoča dostop do iste storitve v različnih programskih jezikih. Dostop do storitve Blockchain.info tako omogočajo knjižnice za python, PHP [16] in javascript [17]. Za interakcijo s storitvama Blockchyper in BitGo pa sta na voljo knjižnici za PHP [18, 19]. Zaradi njihove popularnosti se veliko knjižnic osre-dotoča na izmenjavo kriptovalut, še posebej Bitcoina. Za uporabo te kriptovalute sta tako na voljo knjižnici Bitco-inJ [20] v javi in Bitcore-lib [21] v javascriptu. Ustvarjanje pametnih pogodb. Naprednejše knjižnice omogočajo ustvarjanje pametnih pogodb, pri katerih namesto podatkov v blokovno verigo shranjujemo izvedljivo programsko kodo, ki olajša izvrševanja sporazuma med pogodbenimi strankami. Ukazi v programski kodi se izvedejo samodejno, ko so izpolnjeni določeni pogoji. S pametnimi pogodbami je tako mogoče ustvariti decentralizirane avtonomne organizacije ali pa upravljati oskrbovalno verigo podjetij. Trenutno najbolj razširjena blokovna veriga na tem področju je Ethereum s programskim jezikom Solidity [22]. Programska knjižnica Web3j poenostavi pisanje pametnih pogodb za Ethereum [23] v javi in javascriptu. Pametne pogodbe je mogoče napisati tudi za blokovno verigo Hyperledger [24] v javi, pythonu in javascriptu. V primerjavi s knjižnicami za izvedbo transakcij v kripto-valutah je izbire pri ustvarjanju pametnih pogodb manj, saj zahtevajo več napora pri razvoju. Zasledimo tudi bolj specializirane knjižnice, na primer takšne, ki izvajajo semantično in skladenjsko analizo pametnih pogodb. Primera sta pythonska knjižnica Mythril [25] in njena različica za javascript Solium [26]. Knjižnica Embark [27] po drugi strani služi kot orodje za razvoj porazdeljenih aplikacij. Temelji na verigi Ethereum in decentraliziranemu shranjevanju dokumentov IPFS (ang. InterPlanetary File System) [28]. Knjižnice za izdelavo lastnih blokovnih verig. Večina knjižnic za izvedbo lastne blokovne verige je od-prtokodnih in so na voljo v mnogih programskih jezikih. Mnogo tovrstnih programskih knjižnic je podanih v obliki spletnega tečaja. V programskem jeziku python sta tako na voljo "A simple Blockchain in Python" [29] in "Jbc" [30]. V javi je na voljo "NoobChain" [31], v javascriptu pa "BrewChain" [32] in "Naivecoin" [33]. Slednji služi tudi kot osnova za razvoj platforme z lastno kriptovaluto, predstavljene v naslednjem poglavju. 3 Platforma za izmenjavo vsebin z uporabo zasebne kriptovalute Platforma MMShare je namenjena izmenjavi vsebin, pri čemer spodbuja uporabnike k sodelovanju. Naložene vsebine so zato dostopne samo tistim uporabnikom, ki so v skupnost že prispevali lastne vsebine. Uravnoteženost izmenjave dosežemo z uporabo zasebne kriptovalute, ki smo jo poimenovali MMCoin. Ob registraciji dobi vsak uporabnik javni ključ, ki identificira njegov račun in se hrani v zalednem delu v podatkovni zbirki. Zasebni ključ, ki potrdi lastništvo prenesenih sredstev, se iz gesla vsakič sproti izračuna. Uporabnik dobi ob registraciji pet tisoč kovancev. Nadaljnja sredstva pridobi z deljenjem lastnih vsebin in jih lahko porabi za dostop do vsebin drugih uporabnikov. dostop do blokovne verige ("block-back-end") dostop do podatkov ("back-end") predstavitev podatkov ("front-end") Vsak prenos sredstev se zabeleži v obliki transakcije v blokovni verigi, s čimer je zagotovljeno, da nihče ne blokovna veriga ® 9® 109 more porabiti istih sredstev večkrat ter tako dostopati do več vsebin, kot jih je sam dal na voljo ostalim. Digitalna sredstva so prenešena neposredno iz enega javnega naslova na drugega brez vmesnega posrednika. Če uporabnik ne želi več uporabljati platforme, lahko svoj račun izbriše. Pri tem ostane zgodovina njegovih nakupov zapisana v blokovni verigi, se pa zaklenejo njegova digitalna sredstva, ki jih ne more porabiti nihče drug, saj nima dostopa do zasebnega ključa. Slika 1 prikazuje strukturo platforme. Ta je sestavljena iz zalednega in čelnega dela. Zaledni del sestavljata blokovna veriga ter preostala aplikacijska logika, čelni del pa spletna in mobilna aplikacija. 3.1 Zaledni del Zaledni del platforme skrbi za shranjevanje in zagotavljanje varnosti podatkov in dostop do blokovne verige. Za izvedbo slednje smo uporabili odprtokodno knjižnico Naivecoin, ki ponuja pripravljeno ogrodje blokovne verige. Ogrodje sestavljajo Rudar, ki skrbi za dodajanje novih blokov v verigo, Upravljalec, ki skrbi za javne ključe in bilance stanj na računih ter ustvarja nove transakcije za prenos sredstev med računi uporabnikov, in Vozli, ki predstavljajo sodelujoče člene omrežja. Struktura zalednega dela je prikazana na Sliki 2. -«. loglc_API Slika 2. Struktura zalednega dela platforme MMShare //ustvarimo novo transakcijo s podanimi parametri let newTransaction = operator.createTransaction(walletId, fromAddress, toAddressr amount, changeAddress); //preverimo veljavnost transakcije newTransaction.check(); //transakcijo dodamo v blokovno verigo blockchain.addTransaction (Transaction.fromJson(newTransaction) ); • * : "5664e311f44d37afbeacf3ff74119a8a5607d664e0126ccdd129c95bf44742f1' • hash : -165ee27e43c4dd148757691cd8Sec33b3b02a96dac1c4d316d4e39a1dd33eedSeat warmers->On. Poleg tega so bile v vsakem sklopu tudi štiri težje naloge, ki so potrebovale več korakov, končen korak pa je bil na najnižjem nivoju hierarhičnega menija, npr. Entertainment->Music->Authors->Justin Bieber->Baby. 2.5 Ocenejvanje uporabniške izkušnje Uporabniško izkušnjo smo ocenjevali z vprašalnikom o uporabniški izkušnji (ang. User Experience Questionnaire, UEQ) [16]. Celotna študija je bila izvedena v slovenskem jeziku in uporabljena je bila slovenska različica UEQ. Udeleženec je UEQ izpolnil trikrat, vedno takoj po zaključku enega sklopa nalog z uporabo enega vhodnega vmesnika. UEQ je nabor 26 vprašanj z odgovori od -3 do 3, kjer ekstremi predstavljajo dva nasprotna opisa za en parameter. Na primer, pari opisov za vrednotenje privlačnosti so privlačen-neprivlačen, prijazen- 113 neprijazen ali prijeten-neprijeten. UEQ ocenjuje šest različnih kategorij: privlačnost, preglednost, učinkovitost, zanesljivost, stimulacija in novost. Nabor vprašanj in orodje za vrednotenje je dosegljivo na spletu [16]. 3 Rezultati Rezultati so bili izračunani z orodjem za analizo podatkov UEQ, ki je na voljo na spletni strani UEQ. Uporabniško izkušnjo smo izračunali za vsako skupino in vsako vhodno napravo posebej, kar nam da skupno šest rezultatov. Slike 3-5 predstavljajo merilo uspešnosti posamezne naprave. Črna črta je rezultat UEQ za posamezen sklop vprašanj. Barvni histogrami predstavljajo referenčne vrednosti meril uspešnosti. Referenčne vrednosti so pridobljene iz primerjalne podatkovne baze, ki vsebuje podatke od 9905 oseb iz 246 različnih študij in je na voljo v orodju za analizo podatkov UEQ [16]. Območje Excellent vsebuje 10% najboljših rezultatov; Good pomeni, da je 10% rezultatov boljših, 75% slabših; Above average pomeni 25% boljših, 50% slabših; Below average pomeni 50% boljših rezultatov in 25% slabših; Bad je v območju 25% najslabših rezultatov. 4 Razprava Ocenili smo uporabniško izkušnjo uporabe različnih načinov vnosa v uporabniški vmesnik za uporabnike vozil z UEQ. Rezultati kažejo pričakovane in jasne razlike med različnimi vhodnimi napravami, ki smo jih na tak način eksperimentalno potrdili. Praktična kakovost, ki je kombinacija preglednosti, učinkovitosti in zanesljivosti ter opisuje kakovost, povezano z opravljanjem nalog, je najvišja za uporabo gumba na volanu. Ta rezultat je pričakovan, saj je takšen vhodni vmesnik v zelo široki uporabi v avtomobilski industriji. Praktična kakovost je za interakcijo s sledilno ploščico nad povprečjem in zelo slaba za interakcijo z prostoročnimi kretnjami. Kakovost, ki je povezana s stimulacijo in novostjo, predstavlja vse vidike kakovosti, ki niso povezani z opravljanjem nalog. Rezultati tega vrednotenja kažejo ravno nasprotje praktična kakovosti. Uporaba gumba na volanu ima slab rezultat, medtem ko ima prostoročna interakcija dober rezultat. Sledilna ploščica je spet med obema drugima dvema rezultatoma. Pričakovali smo boljše rezultate v preprosti prometni simulaciji, ker tu ni dodatnih prometnih motenj in ni potreben velik napor za vožnjo. Rezultati so v nasprotju s temi pričakovanji, saj dve različni prometni situaciji ne vplivata na kakovost uporabniške izkušnje. Splošno uveljavljena interakcija s tipko na volanu, ki se večinoma uporablja v sedanjih avtomobilih, kaže najboljše rezultate v smislu uporabnosti in kakovosti povezano z dejanskim opravljanjem nalog na napravi. Interakcija s prostoročnimi kretnjami ima zelo dobre ocene za svojo izvirnost in ima perspektivo za uporabo v vozilih. Slika 3: Rezultati UEQ za gumbe na volanu. Zgoraj - enostaven promet, Spodaj - težaven promet. Slika 4: Rezultati UEQ za sledilno ploščico. Zgoraj - enostaven promet, Spodaj - težaven promet. 114 Slika 5: Rezultati UEQ za prostoročno interakcijo. Zgoraj - enostaven promet, Spodaj - težaven promet. Trenutna izvedba sistema prostoročne interakcije v tej študiji sicer ni dovolj učinkovita, da bi se jo lahko uporabilo za glavno vhodno napravo IVIS. Za uporabo v pravih vozilih bi morali uporabiti drugačne gibe in izbrati nabor lažjih funkcij pri interakciji z IVIS. Sledilna ploščica ni pokazala odličnih rezultatov, ampak je pa nadpovprečna v taki izvedbi v tej študiji. Verjetno ni popolna za uporabo kot glavna vhodna naprava za IVIS, vendar bi jo lahko uporabili kot del več-modalnega uporabniškega vmesnika. Ugotavljamo, da je gumb na volanu vmesnik, ki je najbolj učinkovit glede na uporabniško izkušnjo in ima najboljšo praktično kakovost. Sledilna ploščica in prostoročne kretnje sta zelo privlačna in z izvedbo, ki bi upoštevala omejitve teh vmesnikov, bi taki vmesniki bili lahko dobro sprejeti med vozniki. Zahvala Raziskava je bila podprta s strani ARRS. Avtorji se zahvaljujemo podjetju NERVteh za zagotavljanje merilne opreme. Literatura [1] Riener, A., Rossbory, M. (2011) Natural and Intuitive Hand Gestures: A Substitute for Traditional Vehicle Control?. In Adjunct Proc. of AutomotiveUI'11. [2] Liu, Y.-C. (2001) Comparative Study of the Effects of Auditory, Visual and Multimodality Displays On Drivers' Performance in Advanced Traveller Information Systems. Ergonomics 44(4), 425-442. [3] Loehmann, S.; Diwischek, L.; Schröer, B., „The User Experience of Freehand Gestures", In: User Experience in Cars Workshop at INTERACT 2011 - 13th IFIP TC13 Conference on Human-Computer Interaction, pp. 54-58, 2011. [4] Althoff, F.; Lindl, R.; Walchshäusl, L., "Robust Multimodal Hand- and Head Gesture Recognition for Controlling Automotive Infotainment Systems", In: VDI-Tagung: Der Fahrer im 21. Jahrhundert, 2005. [5] Bmw Series 7 (2017) http://driving.ca/bmw/7-series/auto-news/news/how-it-works-bmw-gesture-control [6] G. Burnett, G. Lawson, L. Millen, and C. Pickering, 'Designing touchpad user-interfaces for vehicles: which tasks are most suitable?', Behaviour & Information Technology, vol. 30, no. 3, pp. 403-414, May 2011. [7] Audi MME Touch (2018) https://www.audi-technology-portal.de/en/electrics-electronics/controls/mmi-touch_en [8] Norberg, S., & Rahe, U. (2009). Touchpad as interaction input control for use of In-Vehicle infotainment system. In 1st International Conference on Driver Distraction and Inattention (DDI 2009) Chalmers University of Technology, SwedenSAFER Vehicle and Traffic Safety CentreINRETS-ARCUEIL, FRANCE. [9] Y.-C. Liu and M.-H. Wen, 'Comparison of head-up display (HUD) vs. head-down display (HDD): driving performance of commercial vehicle operators in Taiwan', International Journal of Human-Computer Studies, vol. 61, no. 5, pp. 679-697, Nov. 2004. [10] FANATEC (2017) https://www.fanatec.com/ [11] Fanatec ClubSport Steering Wheel Porsche 918 RSR (2017) https://www.fanatec.com/eu-en/steering-wheels/clubsport-steering-wheel-porsche-918-rsr-eu.html [12] Fanatec ClubSport Pedals V2 (2017) https://www.fanatec.com/eu-en/support/product;old_product_id;252 [13] Samsung Curved TV (2017) http://www.samsung.com/uk/tvs/full-hd-j6300/UE48J6300AKXXU/ [14] Oktal (2017) http://www.oktal.fr/en/automotive/range-of-simulators/software [15] NERVteh (2017), http://nerv-teh.com/. [16] User Experience Questionnaire (2018) http://www.ueq-online.org/ 115 Uporaba prilagojenih vprašalnikov UEQ za povečanje dostopnosti za gluhe in naglušne Ana Berkopec1, Matevž Pogačnik1, Klemen Pečnik1 1 Univerza v Ljubljani, Fakulteta za elektrotehniko, Laboratorij za multimedijo, Tržaška cesta 25, 1000 Ljubljana E-pošta: ana. berkopec@jtfe.org, matevz.pogacnik@fe. uni-lj.si, klemen.pecnik@jtfe.org Adaptation of the UEQ for the Deaf and Hard of Hearing Abstract. The number of Deaf and Hard of Hearing people worldwide is estimated at a few hundred million. Even though there are already some applications and other products designed specifically for or adapted for them, there is still no standardized questionnaire for evaluation of user experience of the Deaf and Hard of Hearing. Since the vast majority has trouble with reading and writing, the questionnaire should be adapted for them by translating questions into a specific or an international sign language followed by interviews about users' experiences with the help of an interpreter, virtual avatar or written sign language (SignWriting). The article also includes suggestions for improved translations of UEQ (User Experience Questionnaire) terms to Slovenian language and introduces translations into SSL (Slovenian Sign Language). 1 Uvod Po statutu Mednarodne zveze naglušnih oseb pojem "naglušen" opredeljuje osebe z izgubo sluha z omejeno sposobnostjo poslušanja in razumevanja, ki običajno komunicirajo z govorom [1]. Gluhe osebe pa opredeljuje izguba sluha določenih frekvenc na ravni 91 dB ali več [2]. S tem se pojavi težava tako pri komunikaciji z drugimi, kot tudi pri uporabi informacijsko-komunikacijskih tehnologij (IKT). Po podatkih svetovne zdravstvene organizacije (WHO) je danes gluhih že 466 milijonov ljudi, oziroma več kot 5% svetovne populacije. Vsi ti imajo pri uporabi aplikacij težave z dostopnostjo. Čeprav nekatere aplikacije za gluhe in naglušne že obstajajo, se premalo poudarka namenja tako razvoju ustreznih uporabniških vmesnikov, kot tudi merjenju same uporabniške izkušnje. Tudi metode razvoja uporabniških vmesnikov in merjenje uporabniške izkušnje niso standardizirane za gluhe in naglušne uporabnike, podobne težave pa obstajajo tudi za slepe in slabovidne. V tem članku bo izveden pregled možnih rešitev za prilagoditev vprašalnikov za merjenje uporabniške izkušnje, ter možna uporaba novih tehnologij pri prilagajanju televizijskega programa gluhim in naglušnim. Podan je tudi predlog prevodov pojmov UEQ vprašalnika, ki bo služil kot osnova za izdelavo vprašalnika s pomočjo navideznega animiranega tolmača znakovnega jezika. 2 Načini komunikacije Komunikacijske sposobnosti gluhih in naglušnih oseb so odvisne od njihove stopnje naglušnosti. Poleg tega se pojavlja večja razlika med tistimi, ki so bili že rojeni gluhi ali naglušni, ter tistimi, ki so sluh izgubili kasneje. Prvi običajno kot materni jezik uporabljajo znakovni jezik (v Sloveniji je to SSL - slovenski znakovni jezik, angl. Slovenian Sign Language), ter jim branje in pisanje povzročata težave, saj se pisane besede učijo kot drugi jezik. Velik vpliv na način komunikacije ima tudi družina, v kateri je taka oseba rojena. Če je tudi ostala družina gluha ali naglušna, se taka oseba že od malega srečuje z znakovnim jezikom in lahko razvije boljše komunikacijske sposobnosti, kot tisti, ki se sprva pogovarjajo z uporabo gest, ki si jih izmislijo sami, ter se pravilnega znakovnega jezika naučijo šele v šoli. Medtem pa se tisti, ki so sluh izgubili kasneje, običajno ne zanašajo le na znakovni jezik, saj brez težav uporabljajo tudi zapisano besedo [3]. Približno 30%-40% gluhih in naglušnih ljudi zna govor sogovornika brati iz ustnic [4]. 3 Dostopnost Uporabniki, ki so gluhi ali naglušni že od rojstva, imajo pogosto težave z branjem in pisanjem, zato tudi aplikacije in programi, ki temeljijo izključno na besedilu niso primerni za njih, še posebej, če je v njih uporabljen kompleksen jezik [3]. 3.1 Prilagoditev uporabniškega vmesnika Za omogočanje dostopnosti posameznega izdelka gluhim in naglušnim se uporabljajo različni pripomočki: • znakovni jezik, • preprost jezik, • video, • napisi, • grafično hiperbesedilo (linki), • izpisi, • široka struktura pri pogosti uporabi in • globoka struktura pri redkej ši uporabi. Od zgoraj naštetih se prvi dve osredotočata na človeka, ostale pa na tehnologijo. Zadnji dve se nanašata tudi na navigacijo. Pri aplikacijah, ki so namenjene gluhim in naglušnim je potrebno omogočiti jasen nadzor nad glasnostjo, povratnimi informacijami z vibriranjem ali vidnim opozorilom, ter vizualne ali taktilne indikatorje za tipkovnico [5]. ERK'2018, Portorož, 100-103 116 Razvoj uporabniških vmesnikov danes večinoma temelji na množični uporabi, smernice in priporočila za povečanje dostopnosti pa so pogosto prezrta in neupoštevana. Veliko razvijalcev ali skupin iniciative W3C WCAG (angl. Web Content Accessibility Guidelines) ne jemlje kot smernice ampak kot nujno zlo, zato so pogosto tudi rešitve za povečanje dostopnosti implementirane samo deloma, tako da zgolj zadostijo minimalnim zahtevam. Povečanje oziroma izboljšanje dostopnosti in razširitev uporabnosti na vse uporabnike za razvijalce namreč predstavlja kar nekaj dodatnega dela in finančnega vložka v razvoj. 3.2 Namenske aplikacije Za omogočanje pogovora z nekom, ki ne zna znakovnega jezika, je gluhim ali naglušnim na voljo tolmač znakovnega jezika, ki prevaja govor v znakovni jezik in obratno. Prisotnost tretje osebe ni vedno mogoča, zaradi različnih omejitev, zato se danes razvija in ponekod že uporablja virtualne tolmače, ki omogočajo računalniško generiran prikaz znakovnega jezika brez prisotnosti tretje osebe [3]. Z njihovo uporabo je mogoče besedilo ali zvok prevesti v izbrani znakovni jezik, so pa tovrstni sistemi dobro podprti in delujoči predvsem za bolj razširjene jezike kot npr. britanski, ameriški in japonski znakovni jezik. 4 Vprašalniki za merjenje uporabniške izkušnje Za merjenje uporabniške izkušnje se uporablja različne načine, ki poskušajo čim bolj celovito zajeti uporabnikov odziv in občutke ob uporabi produkta. V nadaljevanju je podan pregled nekaterih vprašalnikov, ki se uporabljajo za merjenje uporabniške izkušnje. 4.1 Vprašalnik za uporabniško izkušnjo (UEQ) UEQ (angl. User Experience Questionnaire) je standardiziran vprašalnik, ki je sestavljen iz 26 ocen. Vsaki oceni pripadata 2 opisna pojma - pozitivni in negativni. Te lahko uporabnik oceni od -3 (popolno strinjanje z negativnim pojmom) do 3 (popolno strinjanje s pozitivnim pojmom) na 7-stopenjski Likert lestvici [6]. Vprašanja se nanašajo na 6 dimenzij ocenjevanja: 1. atraktivnost, 2. jasnost, 3. učinkovitost, 4. zanesljivost, 5. stimulacija in 6. inovativnost [7]. 4.2 AttrakDiff Tudi ta vprašalnik uporablja 7-stopenjsko skalo ocenjevanja in omogoča izdelavo vprašalnika za oceno posameznega izdelka, ali za primerjavo dveh. Loči štiri področja: 1. kvaliteto, zagotovljeno s strani oblikovalca, 2. subjektivna percepcija in ocena kvalitete, 3. neodvisne pragmatične in hedonične lastnosti, ter 4. vedenjske in čustvene posledice [8]. 4.3 Lestvica za uporabnost sistema (SUS) SUS (angl. System Usability Scale) temelji na ISO 9241-11 standardu, ki priporoča upoštevanje učinkovitosti in zadovoljstva med razvojem posameznega izdelka. Sestavljen je iz 10 vprašanj, ki jih uporabnik ocenjuje na 5-stopenjski Likert lestvici in efektivno ločuje uporabne sisteme od neuporabnih [9]. 5 Prilagoditev vprašalnikov gluhim osebam Vsi vprašalniki opisani v prejšnjem poglavju niso prilagojeni za gluhe in naglušne. Merjenje uporabniške izkušnje za aplikacije, ki so namenjene njim, še ni standardizirano in tudi jasne smernice za ustrezne prilagoditve še ne obstajajo. Zato bi bil potreben razvoj standardiziranega vprašalnika za gluhe, ali pa ustrezen prevod že obstoječih vprašalnikov v znakovni jezik. Ker se znakovni jeziki med seboj razlikujejo (slovenski, ameriški, japonski, nemški,... znakovni jezik) bi lahko za poenotenje vprašalnika tudi med državami uporabljali mednarodni znakovni jezik (IS -International Sign) [10]. Vprašalnike in pojasnila glede merjenja uporabniške izkušnje bi lahko uporabnikom predstavili s pomočjo Stokoeve notacije, znakovnega pisanja (angl. »SignWriting«), tolmača znakovnega jezika ali virtualnega tolmača znakovnega jezika. 5.1 Stokoeva notacija Stokoeva notacija je bil prvi zapis, uporabljen za znakovni jezik. Temelji na fonemih, ter latinskih črkah in številkah z dodanimi simboli za zapis pozicij, gibanja in orientacije rok. Notacijo sicer uporabljajo predvsem jezikoslovci in akademiki [11]. 5.2 Znakovno pisanje Sistem znakovnega pisanja je bil razvit leta 1974 in omogoča zapis znakovnega jezika v slikovnem notacijskem sistemu. Uporablja ikone, ki predstavljajo oblike rok, orientacije dlani, obrazne izraze, ter indikatorje gibanja in kontaktov [12]. Čeprav je sistem intuitiven za uporabnike znakovnega jezika, je potrebno nekaj dodatnega znanja in prepoznavanja simbolov za gladko branje ali pisanje. Za razliko od Stokoeve notacije, ki se jo bere od leve proti desni, so znaki pri znakovnem pisanju urejeni vertikalno in se jih bere od zgoraj navzdol. 117 5.3 Tolmač znakovnega jezika (interpreter) Tolmač znakovnega jezika je prevajalec med govorjenim in znakovnim jezikom. V primeru pomoči tolmača pri merjenju uporabniške izkušnje z gluhimi ali naglušnimi uporabniki, je potrebna stalna prisotnost tolmača ter sprotno prevajanje v govorjeni jezik. 5.4 Virtualni tolmač Ker zapisana oblika znakovnega jezika izgubi dinamičnost, ki je za znakovni jezik sicer značilna, je za boljše razumevanje in podporo bolj primerna uporaba znakovnega jezika v gibajoči obliki. Z uporabo virtualnega tolmača (avatarja), oziroma 3D animacije virtualnega človeka, ki tolmači znakovni jezik, je mogoče gluhim in naglušnim olajšati komunikacijo s pomočjo tehnologije. Z uporabo znakovnega pisanja, ter dodatnih informacij o gibanju je možno avtomatsko generirati modeliran znakovni jezik, ki ga prikazuje 3D animirani navidezni tolmač znakovnega jezika [12]. V LMMFE (Laboratorij za Multimedijo Fakultete za elektrotehniko) v okviru diplomskih, magistrskih in doktorskih nalog ter projektnega sodelovanja poteka razvoj virtualnega tolmača slovenskega znakovnega jezika, ki bo omogočal lažjo komunikacijo gluhim in naglušnim tako pri izvajanju meritev uporabniške izkušnje, kot pri prilagajanju televizijskega programa gluhim in naglušnim. Na Slika 5.1 je prikazan 3D model virtualnega tolmača. Slika 5.1: 3D model za virtualnega tolmača znakovnega jezika 5.5 Prilagoditev UEQ za gluhe in naglušne Vprašalnik UEQ sicer obstaja tudi v slovenskem prevodu [13], vendar bi lahko za posamezna področja uporabili tudi bolj ustrezne prevode. Zato je bil izdelan predlog z manjšimi prilagoditvami prevodov v slovenski jezik. Znakovni jeziki imajo besedišče bolj omejeno kot govorjeni jeziki, saj npr. ne poznajo sklanjatev in mnogo drugih oblik besed, kot jih poznamo pri pisanih besedilih, zato je prevod v znakovni jezik še toliko težji in bolj tog. Na podlagi slovarja slovenskega znakovnega jezika je bil izdelan tudi predlog vprašalnika UEQ za gluhe in naglušne v slovenskem znakovnem jeziku. Vprašanja oz. tabela pojmov, skupaj z uradnimi, predlaganimi prevodi in prevodi v Slovenski znakovni jezik so razvidna iz Tabela 6.1. Pri tem je potrebno poudariti, da je poleg samega prevoda vprašalnika zelo pomembna tudi ustrezna predstavitev namena vprašalnika in poteka merjenja tako pred pričetkom testiranja, kot tudi pred pričetkom izpolnjevanja vprašalnika. Na začetku tolmač uporabnika najprej seznani s potekom testiranja ter z načinom poteka meritev. Po uvodu uporabnik prične s testiranjem uporabniškega vmesnika/aplikacije in po končanem testiranju tolmač na kratko predstavi še vprašalnik in sam potek. Vprašalnik je sestavljen iz videa virtualnega tolmača znakovnega jezika ter grafično ponazoritvijo 7 stopenjske Likert lestvice z enostavnim upravljanjem. Video je razdeljen na 2 dela, v levem delu tolmač prikazuje negativni pojem (-3), v desnem pa pozitivni pojem (+3) posameznega vprašanja. Video se ponavlja do potrditve odgovora uporabnika. Po potrditvi uporabnika se pojavi v sredini okna video tolmača, ki uporabnika pozove k potrditvi odgovora in nato program nadaljuje na naslednje vprašanje. Po izpolnitvi vprašalnika se virtualni tolmač uporabniku še zahvali za sodelovanje. 5.6 Uporaba prilagoditev Zaradi boljše ustreznosti je bila predlagana metoda izvedbe meritev na napravah, na katerih se izvaja tudi testiranje. V primeru testiranja na TV sprejemnikih se meritve prav tako izvede na TV ekranu s pomočjo HbbTV (hibridna televizija - angl. Hybrid Broadcast Broadband Television) aplikacije, ki omogoča ustrezno izvedbo predlagane rešitve, tako s stališča predstavitve, kot tudi izvedbe meritev in shranjevanja podatkov v ustrezno bazo. V kolikor izvedba meritev ni mogoča na testirani napravi, se vprašalnik predstavi in izvede na računalniku, pri čemer se lahko uporabi isto ogrodje, saj tudi HbbTV aplikacija temelji na spletnih tehnologijah. Poleg opisane uporabe, bo virtualnega tolmača mogoče uporabiti tudi pri televizijskih oddajah, ki vsebujejo omejen nabor besedišča - npr. vremenska napoved. Lete bi lahko tolmač iz pisnega besedila prevajal v slovenski znakovni jezik, ter samodejno generiral primerno animacijo kretenj. 6 Zaključek Vsekakor bi bilo potrebno pri razvoju uporabniških vmesnikov in merjenju uporabniške izkušnje ustrezno upoštevati tudi smernice za povečanje dostopnosti. Prvi korak za povečanje dostopnosti je tudi prilagoditev standardnih metod in vprašalnikov, ki bi jih bilo potrebno prilagoditi tudi za osebe s posebnimi potrebami, še posebno, če so aplikacije namenjene prav njim. Zgolj osnovne prilagoditve niso zadostne, potrebne so spremembe že v samem načrtovanju, kjer je potrebno pri postavljanju uporabnika v ospredje upoštevati vse uporabnike. Sčasoma, ob ustrezni standardizaciji in zakonodaji lahko tak pristop k načrtovanju vmesnikov in merjenju uporabniške izkušnje bistveno pripomore k izboljšanju stanja na področju dostopnosti in enakosti za vse uporabnike. Razvoj tehnologij in storitev danes omogoča velik napredek pri zagotavljanju dostopnosti, potrebno jih je le ustrezno povezati in uporabiti, ter storitve in aplikacije približati tudi manjšinam, ki so zaradi takih ali drugačnih omejitev sedaj izločene. Čeprav se članek osredotoča na prilagoditev za gluhe, je pristop in predloge mogoče razširiti tudi pri prilagoditvah za slepe in slabovidne, ter morda tudi za osebe z govorno-jezikovnimi motnjami. 118 SLOVENSKI ZNAKOVNI JEZIK PREDLOG NOVEGA SLOVENSKEGA POJMA SLOVENSKI POJEM ANGLESKI POJEM NEMŠKI POJEM NEMŠKI POJEM ANGLEŠKI POJEM SLOVENSKI POJEM PREDLOG NOVEGA SLOVENSKEGA POJMA SLOVENSKI ZNAKOVNI JEZIK 1 zoprno zoprn nerazveseljiv annoying unerfreulich erfreulich enjoyable razveseljiv prijeten prijeten 2 ne razumljiv nerazumljiv nerazumljiv not understandable unverständlich verständlich understandable razumljiv razumljiv razumljiv 3 uporabiti fantazija / je domislica kreativen kreativen creative kreativ phantasielos dull brez fantazije nedomiseln brez ideja 4 enostaven za učenje enostaven za učenje enostaven za učenje easy to learn leicht zu lernen schwer zu lernen difficult to learn težak za učenje težak za učenje težko za učenje 5 koristen dragocen osvežilen vaulable wertvoll minderwertig inferior uspavajoč manjvreden ne koristen 6 dolgočasen dolgočasen dolgočasen boring langweilig spannend exciting napet napet napet 7 ne zanimiv nezanimiv nezanimiv not interesting uninteressant interessant interesting zanimiv zanimiv zanimiv 8 ne možno predvideti nepredvidljiv nepredvidljiv unpredictable unberechenbar voraussagbar predictable predvidljiv predvidljiv možno predvideti 9 hiter hiter hiter fast schnell langsam slow počasen počasen počasen 10 ima avtentičnost izviren nov inventive originell konventionell conventional star običajen običajno 11 ovirati uporabnik ovira uporabnika se ne da upravljati obstructive behindernd unterstützend supportive se z lahkoto upravlja pomaga uporabniku pomagati uporabnik 12 dober dober dober good gut schlecht bad slab slab slabo 13 komplicirati kompliciran kompliciran complicated kompliziert einfach easy enostaven enostaven enostaven 14 ne privlačen neprivlačen odbijajoč unlikable abstoßend anziehend pleasing privlačen privlačen privlačen 15 običajno običajen zastarel usual herkömmlich neuartig leading edge moderen novost novost 16 ne prijeten neprijeten neprijeten unpleasant unangenehm angenehm pleasant prijeten prijeten prijeten 17 možno računati na njega zanesljiv napovedljiv secure sicher unsicher not secure nenapovedljiv nezanesljiv ne možno računati na njega 18 spodbujati spodbujajoč raznolik motivating aktivierend einschläfernd demotivating enoličen zavirajoč ustaviti motiviranje 19 ustrezati pričakovati ustreza pričakovanjem zanesljiv meets expectations erwartungskonform nicht erwartungskonform does not meet expectations nezanesljiv ne ustreza pričakovanjem ne ustrezati pričakovati 20 ne učinkovit neučinkovit ni učinkovit inefficient ineffizient effizient efficient učinkovit učinkovit učinkovit 21 jasen jasen pregleden clear übersichtlich verwirrend confusing ustvarja zmedo zapleten ne jasen 22 ne praktično nepraktičen deluje zatikajoče impractical unpragmatisch pragmatisch practical deluje tekoče praktičen praktično 23 urejen organiziran prostoren organized aufgeräumt überladen cluttered prenatrpan natrpan razmetan 24 lep lep lep attractive attraktiv unattraktiv unattractive grd grd grd 25 prijazen za uporabnik prijazen za uporabnike simpatičen friendly sympatisch unsympathisch unfriendly nesimpatičen neprijazen za uporabnika ne prijazen za uporabnik 26 zastarelo konzervativen nevpadljiv conservative konservativ innovativ innovative vpadljiv inovativen je inovacija Tabela 6.1: Prevodi pojmov vprašalnika UEQ za merjenje uporabniške izkušnje [5] G. Yeratziotis in D. Van Greunen, „Making ICT Accessible for the Deaf", IST-Afr. Conf. Proc, let. 2013. [6] „Likert scale", Wikipedia. 31-maj-2018. [7] M. Schrepp, „User Experience Questionnaire Handbook". 01-jan-2018. [8] „AttrakDifP. [Na spletu]. Dostopno na: http://attrakdiff.de/index-en.html. [Pridobljeno: 12-jul-2018]. [9] „System usability scale", Wikipedia. 13-okt-2017. [10] „International Sign", Wikipedia. 08-jul-2018. [11] „Stokoe notation", Wikipedia. 03-apr-2018. [12] Y. Bouzid in M. Jemni, „An Avatar based Approach for Automatically Interpreting a Sign Language Notation", 2013 IEEE 13th Int. Conf. Adv. Learn. Technol., let. 2013. [13] „UEQ". [Na spletu]. Dostopno na: https://www.ueq-online.org/. [Pridobljeno: 07-jul-2018]. Literatura [1] „Naglusnost - Zveza-GNS.si". [Na spletu]. Dostopno na: http://www.zveza-gns.si/o-zvezi/o-naglusnosti/. [Pridobljeno: 12-jul-2018]. [2] „Gluhost - Zveza-GNS.si". [Na spletu]. Dostopno na: http://www.zveza-gns.si/o-zvezi/o-gluhoti/. [Pridobljeno: 10-jul-2018]. [3] J. Cromartie, B. Gaffey, in M. Seaboldt, „Evaluating Communication Technologies for the Deaf and Hard of Hearing", Worcester Polytechnic Institute, An Interactive Qualifying Project submitted to the Faculty of WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment for the requirements for the Degree of Bachelor of Science, mar. 2012. [4] A. Young in R. Hunt, „Research with d/Deaf people". Social School for Social Care Researh, National Institute for Health Research. 119 Nadgradnja izobraževalnega okolja E-CHO Martin Kozmelj1, Marko Papic1 1Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-pošta: martin. kozmelj@ Itfe.org Upgrade of learning environment E-CHO Abstract. Laboratory of telecommunications at the Faculty of Electrical Engineering, University of Ljubljana, developed second generation of virtual learning environment E-CHO 7years ago. It was based on widely adopted technologies of that time, such as PHP and Javascript. Recent changes in the learning paradigm, introducing myriad of improved functionalities, such as collaboration, social learning, and multimedia into state-of-the-art learning environments as well as technological limitations of the existing E-CHO system (e.g. termination of support for PHP 5.6, taking place at the end of 2018) were the main reasons behind substantial upgrade onto E-CHO+ platform, that will be presented in this article and commented upon. 1. Uvod Selitev izobraževalnega procesa iz klasičnih oblik v sodobne tehnološko podprte oblike je že nekaj let realnost, tako v izobraževalnih in akademskih, kot tudi v poslovnih okoljih. Takšna izobraževanja imenujemo e-izobraževanja. Eden izmed pomembnih razlogov za razvoj e-izobraževanj je možnost strukturiranega vključevanja tako obstoječih elektronskih gradiv (npr. dokumenti, slike, kvizi, ankete in preizkusi znanja), kot novejših, bolj interaktivnih in multimedijsko podprtih gradiv (video posnetki, video konference, webinarji in interaktivne vsebine).V okviru e-izobraževanj se je razvilo veliko novih vrst e-gradiv, ki v klasičnih oblikah izobraževanj niso obstajale. Sodobno e-izobraževalno okolje mora tako vključevati vse oblike gradiv klasičnega izobraževanja, kot so dokumenti, slike, kvizi, ankete in preizkusi znanja, ter modernega izobraževanja, kot so video posnetki, video konference, webinarji in interaktivne vsebine. Pri izobraževanju je pomembna komunikacija med učiteljem in učencem in komunikacija ter sodelovanje med učenci, zato sodobna okolja za e-izobraževanje vključujejo tudi tehnologije, s katerimi se lahko učenci in učitelji med seboj sporazumevajo in tako še nadgradijo svoje znanje. Za učence in učitelje je zelo pomembna tudi povratna informacija, zato morajo e-izobraževalna okolja vsebovati tudi povratno informacijo o lastnemu uspehu za učence in poročila o napredku za učitelje. Le z učinkovitim sistemom povratnih informacij in poročil lahko okolje za e-izobraževanje doseže odlično uporabniško izkušnjo. Od leta 2011, ko je nastala prva različica izobraževalnega okolja E-CHO druge generacije, se je v svetu e-izobraževanja zamenjalo kar nekaj trendov. E-CHO se je z novimi različicami postopno prilagajal spremembam, kot so uvajanje video posnetkov, preizkusov znanja in interaktivnih vsebin. V okolju E-CHO je bil vključena tudi sinhronizacija video predavanj s pripadajočimi prosojnicami. S koncem leta 2018 preneha podpora za PHP 5.6, kar pomeni, da bi morali E-CHO nadgraditi na novo verzijo jezika PHP. Ker je okolje E-CHO vseboval še nekaj ne najbolj sodobnih tehnologij, je bila sprejeta odločitev za nadgradnjo obstoječega izobraževalnega okolja. Novo izobraževalno okolje E-CHO+ temelji na odprtokodni rešitvi Meteor, ki jo je razvilo slovensko podjetje Media interactive v sodelovanju z Laboratorijem za telekomunikacije. Prehod na novo okolje prinaša veliko prednosti in izboljšav, ki so opisane v nadaljevanju. 2. Prilagajanje vsem vrstam zaslonov V letu 2014 je imelo 95.5% ljudi na svetu mobilni telefon, od tega je 30% bilo pametnih telefonov [1]. V zadnjih štirih letih je število pametnih telefonov strmo naraslo in danes ima skoraj vsak posameznik svoj pametni mobilni telefon. Zato je pomembno, da ima e-izobraževalno okolje možnost prilagajanja vsem vrstam mobilnih naprav. Velika pomanjkljivost okolja E-CHO je slabo prilagajanje mobilnim napravam. Novo okolje E-CHO+ se prilagaja vsem vrstam mobilnih naprav, od mobilnih telefonov in tablic do velikih zaslonov namiznih računalnikov. 2.1. Prilagajanje velikosti zaslonov Pri prilagajanju različnim vrstam mobilnih naprav imamo najprej v mislih predvsem prilagajanje velikostim zaslonov. Vsebina na namiznih računalnikih mora biti drugače prikazana kot tista na mobilnih napravah. V letih pred prihodom mobilnih naprav je v razvoju spletnih platform prevladoval način oblikovanja, kjer so bili vsi gradniki fiksne velikosti, ne glede na velikost zaslona naprave, na kateri se je vsebina ogledovala. Z rastjo uporabe mobilnih telefonov se je povečala tudi težnja po prilagajanju različnim velikostim zaslonov. Nov način oblikovanja velikost posameznih elementov prilagaja velikosti zaslona. Razvoj standardov HTML5 in CSS3 je ERK'2018, Portorož, 120-123 120 ta način postavil v ospredje, saj je za spletne platforme pomembno, da je vsebina ustrezno prikazana na vseh napravah. Slika 1: Prilagajanje okolja E-CHO+ različnim velikostim zaslonov 3. Multimedijska knjižnica Za potrebe predvajanja video posnetkov, ki postopno pridobivajo vse večjo vlogo v e-izobraževanju okolje E-CHO+ vsebuje multimedijsko knjižnico. Za predvajanje video posnetkov in prenos v živo okolje E-CHO+ uporablja tehnologijo Wowza [3]. Okolje podpira dinamično prilagajanje strujanja preko http (ang. Dynamic Adaptive Streaming over HTTP) ali MPEG-DASH [4], ki omogoča tekoč in nemoten ogled posnetkov tudi v primeru slabših povezav. Okolje samo prilagodi kvaliteto videa glede na zmogljivosti povezav, ki je na voljo. Da tehnologija MPEG-DASH deluje, je potrebno izvorni video pretvoriti v nižje kvalitete. To v okolju E-CHO+ ob naložitvi videa avtomatsko opravi odprto kodno rešitev FFmpeg [5] Video posnetek se pretvori v 6 različnih profilov (1080p, 720p, 480p, 360p, 240p in 144p). CKS mPe9"D*?H FFmpeg Ker se v svetu uporaba mobilnih telefonov veča, se povečuje tudi njihova uporaba v izobraževalne namene. Pojavilo se je tako imenovano e-učenje na mobilnih napravah, ki se pogosto imenuje tudi mobilno učenje [1]. Zavedati se je potrebno, da vsebina ne more biti prikazana na enak način na vseh napravah zato je pri izobraževalnih okoljih pomembno, da se tudi velikost in postavitev izobraževalnih vsebin prilagajata različnim velikostim zaslonov. Okolje E-CHO+ že vključuje osnovno prilagajanje vsebin, kot so slike, datoteke, video posnetke in ostale multimedijske vsebine. Za potrebe prilagajanja interaktivnih gradnikov kot so kvizi in preverjanja znanja je v okolju E-CHO+ za razvoj takih vsebin priporočljiva uporaba orodja iSpring [2]. Orodje omogoča izdelavo kvizov in preizkusov znanja, ki se prilagajajo različnim zaslonom. Za mobilno učenje je pomembna tudi kakovost vsebine, ki jo uporabnik gleda. Boljša kot je kvaliteta, večja je tudi velikost datoteke, ki se mora prikazati. Zato okolje samodejno prilagodi kvaliteto multimedijskih vsebin in z neprekinjenim predvajanje izboljša uporabniško izkušnjo. Slika 2: Primer prikaza vsebine, narejene z orodjem iSpring, na različnih napravah Slika 3: Tehnologije, ki delujejo v ozadju multimedijske knjižnice v okolju Echo+ Video posnetki predstavljajo osnovni gradnik e-izobraževanj. Zato okolje E-CHO+ vključuje ogled videa na zahtevo in prenos v živo. 3.1. Video na zahtevo V multimedijski knjižnici so na voljo video posnetki, ki si jih je mogoče ogledati kadarkoli in na kateri koli napravi. Ob naložitvi na E-CHO++ se s pomočjo FFmpeg izvorni video posnetek pretvori v posnetek nižje kvalitete. Okolje nato uporabniku samostojno prilagodi kvaliteto videa glede na povezavo, ki je na voljo. To omogoča boljšo uporabniško izkušnjo ne glede na povezavo, ki jo ima uporabnik v določenem trenutku. 3.2. Prenos v živo Okolje uporablja Applov standard Http Live Streaming (HLS) za oddajanje videov. Podprt je na iOS, Android in Flash okoljih [6]. Standard je podprt v večini programov za obdelavo in strujanje video in avdio vsebin, kot sta Wirecast in Open Broadcast Software. Po zaključku prenosa v živo, se video naloži v multimedijsko knjižnico in je na voljo kot video na zahtevo. 4. Komunikacijsko okolje Komunikacijska orodja, kot so Skype, Facebook in podobne rešitve omogočajo komunikacijo na vsakem koraku. Okolje E-CHO+ podpira Web Real-Time Communication (WebRTC) tehnologijo, ki omogoča komunikacijo med spletnimi brskalniki v realnem času. 121 Real-Time Communication (RTC), ki vključuje zvočno in video komunikacijo, ima nekaj prednosti, vendar ima predvsem zaradi dragih avdio in video licenc, številne pomanjkljivosti, ki so privedle razvijalce do novega standarda [7]. The Worlde Wide Web Consortion (W3C) in Internet Engineering Task Force (IETF) sta zato razvila nov standard, ki se imenuje WebRTC. Standard zagotavlja, da zvočni in video klici delujejo brez dodatnih vtičnikov. Kmalu po standardizaciji so ga v svoje brskalnike vključili vsi brskalniki razen Applovega Safarija, ki je standard vključil šele z različico 11 v sredini leta 2017 [8]. Na standardu WebRTC v okolju E-CHO+ temeljijo tudi videokonference in webinarji, ki postajajo vedno pogosteje uporabljeni v svetu e-izobraževanj. 4.1. Webinar C WebRTC Slika 4: WebRTC Webinar je namenjen večjemu številu udeležencev, pri čemer je eden (ali več) pobudnik webinarja in prevzame aktivno vlogo v webinarju. Ostali udeleženci samo spremljajo webinar in lahko v klepetu postavljajo vprašanja. 4.2. Videokonference Videokonference predstavljajo sestanke na daljavo in so posebej priročne, kadar vsi udeleženci ne morejo biti fizično prisotni na sestanku. V okolju E-CHO+ je poleg videokonferenc na voljo tudi navaden zvočni klic, saj je potrebno upoštevati tudi tiste uporabnike, ki nimajo na voljo kamere in bi vseeno želeli aktivno sodelovati v razpravi. Okolje podpira tudi deljenje zaslona z ostalimi uporabniki, ki omogoča predstavitev vsebine na daljavo. Pri videokonferencah v okolju E-CHO+ lahko aktivno sodeluje do 10 ljudi. To je omejitev konferenčnega strežnika, ki lahko hkrati izdajaja samo 10 konferenčnih licenc. Če je število udeležencev večje okolje E-CHO+ omogoča kombinacijo videokonferenc in webinarjev, kjer v videokonferenci aktivno sodelujejo predavatelj(i), ostali udeleženci pa so v večji meri pasivno prisotni na webinarju. Slika 6: Kombinacija videokonference in webinarja 5. Poročila Za dobro uporabniško izkušnjo so v e-izobraževalnem okolju potrebna čim bolj pregledna poročila o delu napredku učencev. Poročila so pomembna za učitelje, ki lahko tako spremljajo napredek svojih učencev, in učence, ki lahko spremljajo svoj napredek. 5.1. Experience API Okolje za beleženje napredka uporablja standard Experience API (ali xAPI). Za razliko od starejših oblik beleženja (npr. SCORM) ima xAPI precej manj omejitev in vključuje beleženje različnih aktivnosti, kot so mobilno učenje, učenje brez povezave in sodelovalno učenje [9]. Slika 7: Koncept delovanja xAPI-ja 5.2. Statements in Learning Record System Stanja (ang. Statements) so zapisi o aktivnostih, ki jih opravi uporabnik in so del beleženja napredka. Ko se zgodi neka aktivnost, se stanje zapiše v Learning Record System (LRS). LRS je sistem za shranjevanje učnih rezultatov, ki so vezane na posamezne učne vsebine, in je del vseh okolij za e-izobraževanje. Vloga poročil je prikazati oziroma vizualizirati stanja, ki so shranjena v LRS. Beleži se lahko stanja, ki so vezana na vsebino, komunikacijo ali uporabnika samega. V okolju E-CHO+ tako beležimo naslednja stanja: ogledano, prijava, odjava, opravljeno, ni opravljeno, v delu, zaključeno, potrjeno in zavrnjeno. Slika 8: Stanja v okolju Echo+ 122 5.3. Prikaz stanj V okolju E-CHO+ se stanja prikazujejo na dva načina: grafično in tabelarično. V grafičnem prikazu okolje različna stanja prikaže na časovni osi, medtem ko pri tabelaričnem vsako stanje podrobno predstavimo. Stanja lahko filtriramo po uporabnikih ali vsebinah. Slika 9: Grafičen prikaz stanj v okolju Echo+ Slika 10: Tabelaričen prikaz stanj v okolju Echo+ 6. Primerjava Okolje E-CHO+, ki temelji na platformi MiTeam, ki jo je razvilo slovensko podjetje Media Interactive, je e-izobraževalno okolje, ki vsebuje tudi lastnosti sodelovalnih okolij, kot so Webex, GoTo Meeting, Adobe Connect ali Skype for Business. Glavne lastnosti sodelovalnih okolij, ki jih vsebuje tudi okolje E-CHO+ so video in avdio konference, webinarje, deljenje zaslonov, snemanje predavanj (ang. lecture capture). Na področju deljenja dokumentov in upravljanja z njimi se lahko okolje E-CHO+ primerja z okolji Sharepoint in Confluence. Glavni del okolja E-CHO+ pa je namenjen izobraževanju, kjer glavno konkurenco predstavljajo okolja Moodle, Talent in Canvas. Na spodnji sliki je prikazana primerjava omenjenih okolij. Slika 11: primerjava okolij 7. Zaključek Okolje E-CHO+ je celovito e-izobraževalno okolje, ki vključuje vse potrebne funkcionalnosti za izvedbo izobraževanja z uporabo informacijsko komunikacijsko tehnologijo. Okolje je prilagojeno interaktivnim vsebinam, ki postajajo čedalje bolj pomemben gradnik e-izobraževanja. Interaktivne vsebine predstavljajo preplet vseh vsebin, ki so do sedaj sestavljale izobraževalne sisteme. Ker uporabniki vse več uporabljajo mobilne naprave, okolje E-CHO+ spretno prilagaja velikost elementov in vsebin velikosti zaslonov. Pri tem upošteva tudi hitrost povezave, ki je na voljo, in po potrebi zmanjša kvaliteto vsebin, da zagotovi boljšo uporabniško izkušnjo. Video vsebine danes predstavljajo najpomembnejši del vsebin pri izvedbi e-izobraževanj in predvsem pri izobraževanju na daljavo. Okolje E-CHO+ podpira video na zahtevo in prenos v živo. S tehnologijo dinamičnega prilagajanja kvalitete izboljša uporabniško izkušnjo, saj se video posnetek, v primeru manjše hitrosti internetne povezave, ne ustavi, ampak se zgolj zmanjša njegova kakovost. Za izvedbo izobraževanja na daljavo izobraževalno okolje potrebuje tudi komunikacijsko orodje. Okolje E-CHO+ vsebuje tehnologijo WebRTC, ki omogoča klepet in video ter avdio klice. Kar daje okolju E-CHO+ pomembno dodano vrednost, so poročila. Okolje s tehnologijo Experience API beleži vse aktivnosti, ki se dogajajo na platformi in jih vizualizira na grafičen ali tabelaričen način. Literatura [1] V. Bhuttoo, K. Soman, in R. K. Sungkur, „Responsive design and content adaptation for e-learning on mobile devices", v 2017 1st International Conference on Next Generation Computing Applications (NextComp), 2017, str. 163-168. [2] iSpring, https://www.ispringsolutions.com/ [3] Wowza Live Streaming Software, https://www.wowza.com/ [4] H. Kwan, C. Roy, in D. Das, „Demonstration of a multimedia player supporting the MPEG-DASH protocol", v 2012 Visual Communications and Image Processing, 2012, str. 1-1. [5] FFmpeg, https://www.ffmpeg.org/ [6] M. Kozmelj, N. Pušnik, in K. Pečnik, „Tehnologije za prenos v živo in ogled videa na zahtevo", 2017 [7] Cristian Cola in Honoriu Valean, „On multi-user web conference using WebRTC", v Proceedings of the 18th International Conference on System Theory, Control and Computing, Sinaia, Romania, 2014, str. 430-433. [8] WebRTC support in Safari 11, https://webrtc.ventures/2017/06/webrtc-support-in-safari-11/ [9] Experience API, https://xapi.com/overview/ 123 Avtomatika in robotika Automatic Control and Robotics Comparative analysis of MES and ERP systems Zerina Hasic1, Amila Dubravic2 'Tuzla, Bosnia and Herzegovina 2 Faculty of Electrical Engineering University of Tuzla, Tuzla, Bosnia and Herzegovina E-mail: zerinahasic92@gmail.com, amila.dubravic@untz.ba Comparative analysis of MES and ERP systems Abstract. The paper provides a theoretical and practical overview of the basic parameters when transforming the classical factory from the production plant into a modern service center. This means that the decisive potentials of companies are not so much in their productive capacities as in their process capabilities. The process of implementation and testing of ERP and MES software is described, which will be used for managing the production processes, collecting and processing data, where the advantages of the MES system in relation to the ERP system can be determined. 1 Introduction Increased competitive pressures and high quality demands force companies to take advantage of all possible ways to increase their economic efficiency in the industry. In order to achieve efficient value creation in production, equipment that can meet the new requirements in general is needed. Existing Enterprise Resource Planning (ERP) systems are mainly administrative and accounting systems. The new systems must include planning, logging and control functions that operate in real time. This concept is the Manufacturing Execution Systems (MES). Integrating the right software across the company is key to increasing efficiency and gaining business insight, essential to securing competitive advantage and maximizing profitability. Software applications that manage one business aspect provide partial information that can lead to separation of the organization. Companies with such systems often lack the flow of information they expected to achieve. For these reasons, it is necessary to use appropriate systems, such as MES system which is one of the most important current resources for achieving economic efficiency in a digital factory. 2 Defining the conditions - Levels, concepts and technologies The world of IT, especially the subject of production systems, is marked with special terms. An overview of the terms in Fig. 1 show the classification of concepts at the level of Instrumentation, Systems and Automation Society - ISA (Figure 1). Figure 1 Overview of terms according to ISA level model [1] Figure 2 is a horizontally illustrated product life cycle, from idea to impleme ntation - Product Lifecycle Management (PLM), and the workflow of MES is displayed vertically. It can be noticed that there is an overlap between both systems at the production stage, which can be solved through a parallel and harmonized implementation of the system (Figure 2). Figure 2 Product Lifecycle Management Concept [1] ERP system is an information system that supports business operations and is used in almost all organizational parts of a co mpany. One of the world's leading ERP systems is the SAP system. ERP is used to create and manage the basic layout of the plant, including manufacturing, use of materials and delivery, which ERK'2018, Portoroz, 127-130 127 makes the information the center of the operation. ERP focuses on work within a time period such as months, weeks and days. MES works within time frames such as dates, shifts, hours, and minutes. 3 Construction of MES systems as a new class of IT applications 3.1 Software architecture and interfaces of MES systems The basic functions of a MES system are a collection of software functions that enable the development of products using unified structure modules. The MES system is divided into three layers of system architecture (Figure 3). The data layer is part of the MES application responsible for defining the database structure, as well as for the data stored therein. The application layer depends on the data layer and functionally makes available the process mapping. The process mapping has the task of recreating the actual business logic, based on the methods and objects of the application layer. The process mapping receives data over a graphical interface that is processed using the if-then conditions and using the objects and methods of the application layer. User Interface 1 User Interface 2 User Interface 3 Interface 3 Process Mapping Business Objects and Methods Data Layer Interface 2 Interface 1 A A V Basic Functions Figure 4 Central software components as an overview [1] Software database architecture has two approaches: - Application-oriented systems: The application controls the reservation functions in the database and the business logic of the system. - Systems based on the database: With this approach, the database is not only the data memory but also the pivot of the whole system. [1] 3.2 Preparation for the implementation of the MES system in production In the context of the MES implementation project, it is important to create the most realistic model of a future production organization. If new software is needed, then the question arises as to whether to purchase standard software or to develop customized software. Software should be evaluated based on criteria: functionality, quality, performance, documentation, technology (Table 1.). Table 1 Advantages and Disadvantages of Standard and Customized software [1] Figure 3 The software architecture of a MES system [2] The rule is that the product is changed or expanded only in one layer, which ensures stability and reduces changes. [2] For the MES system it is important to maintain some of its interfaces open, especially interfaces and functions related to product integration. User interface has the user-friendly interface flexibility, fast and efficient data acquisition and real-time display. The database (Figure 4) is a central part and, from a technical point of view, the most important element of the MES. [1] Migrating to another database system is very difficult and it is difficult to perform when the system starts up. It is therefore important to select the appropriate database before the system is implemented. Standard Software Is often less expensive than customized software. Software has already proved itself in use. Functions that are not required must be purchased with the software. Interface problems could potentially arise. Extensive documentation generally is provided. Customized Software Software is tailored precisely to the needs of the organization. It is likely that no interface problems will arise. Only the required functions are paid for. Quality of the software is reduced by an inexperienced development team and time pressure. Documentation is often neglected. 128 Implementation can be performed on the basis of three strategies: "Big Bang", step by step in individual areas of work, step by step replacing individual business processes. Implementation of the manufacturing execution systems (MES) is a complex project and requires strong project management. The main team should perform the following activities in the implementation project: • Project management throughout the implementation period • Achieving a fundamental decision: "MES: yes or no" (Table 2) • Appointment of project manager and project team for actual implementation • Securing funding • "Release" of employees to perform duties during implementation • Monitoring the progress of the project, including costs and monitoring of the deadline • Review and track success after implementation • Creating a work concept for sustainable use of the system. [1] Table 2 Decision matrix for the fundamental decision: MES necessary?" [1] 'Is a Criteria / Importance: Low Medium High Number of process <5 5-10 >10 operations Number of products <10 10-50 >50 Number of product versions 0 1-10 >10 Added value in production Low Medium High Recomme- MES Required? No nded Yes 4 Comparative analysis of MES and ERP systems implemented on the open source platform Two SW packages are going to be analyzed and compared, the Qcadoo MES software compared to Dolibarr ERP CRM software based on the open source platform. In the case of MES implementation, using qcadoo software the possibilities of more detailed analysis are limited due to the complexity of the program. For more detailed analysis, it is necessary to buy software commercial versions. For this purpose, comparison can be made with Dolibarr ERP CRM software, part of the analysis related to the administrative and accounting systems for which the ERP software is predicted. Qcadoo MES is an open source project designed in Poland, which is intended for production management in small and medium-sized enterprises. It is a software that aims to create an easy and modular IT solution for the manufacturing industry and allows you to calculate costs and plan production in real time. The features of qcadoo MES software are: -User interface is easy to understand and use for both professionals and workers in production; -Online Availability: all that is needed to use qcadoo MES is an internet browser and internet connection. Qcadoo MES comes in two different versions: • Community version - Open source version that serves as a trial version under the GNU AGPLv3 license. • Commercial version - version developed and sold by Qcadoo Limited company, which provides additional analysis functions and full support for production management. After qcadoo is installed, registration is followed, and opening the application will give a home screen display and data entry screen for factory module (Figure 5, Figure 6 and Figure 7). Figure 5 View the start screen of qcadoo MES [3] [4] Company sir jclurs Warehouse Maintenance Faderi« Divisions Workstation s Workstation :.-r : : Subassemblies Réduction h :: Figure 6 Qcadoo MES module and submodule [3] [4] Figure 7 Display the data entry screen for the qcadoo MES factory module [3] [4] The modules in the application are as follows: Company structure, Basics, Planning, Calculations, Warehouse, Maintenance, Analysis, Administration (Figure 6). Each module has submodules for data entry 129 or options for executing planning, calculations and analyzes based on the entered data. In the submodule Factories, it is possible to enter the parts/sectors of the factory or the company, company departments, workstation production lines and types of work stations, subsystems and production lines. In the representation of each submodule and the entered data, the pharmaceutical and chemical industries are shown as an example. Dolibarr ERP CRM is an open source, free software package for small and medium enterprises, designed in France. Includes various Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM). Dolibarr Figure 8 Display of the Dolibarr ERP CRM screen of analysis and planning modules [3] [5] [6] There are several functional modules that can be enabled or disabled, as needed. It represents a web-based application and aims to offer free open source ERP and CRM functions, providing a simple solution (Figure 8). Dolibarr is written in PHP and uses MySQL databases. It is possible to install an application on a smartphone, to track the company's activities remotely, and the ability to save data through the cloud service. According to the comparative analysis, the following conclusions can be made: ERP knows "why", while MES knows "how". ERP is used to create and manage the basic layout of the plant, while MES is used to guide the production operation, as an event in real time. ERP and MES are overlapping in some areas, but each ERP could be supported by MES (Table 3). Table 3 Functions of analyzed MES and ERP systems There is an equal possibility of using both software by the employees themselves, not just administrators, from which it can be concluded that both systems are equally useful, where MES represents an innovative solution for all parts of the company. 5 Conclusion The success of MES software shows examples of implementations in the most eminent and most developed manufacturing companies in the field of automation, robotics and electrical engineering, as well as in pharmaceutical industries. Based on the research conducted, it can be concluded that the companies that are dealing with discrete production or production by order ERP applications can provide rich functionality for managing these types of operations. Manufacturers in these industries should consider whether additional functions of the MES system will be excessive in certain situations. There is no standard list for deciding whether a company needs a MES or ERP system or both systems. The key to successful software implementation is that the company is confident in defining the requirements and options that are important for the business, before the appropriate software is selected. The method of collecting and processing data using MES will be used in the future, which will bring flexibility, transparency and economic efficiency in production systems. References [1] H. Meyer, F. Fuchs i K. Thiel, Manufacturing Execution Systems - Optimal Design, Planning and Deployment, McGraw Hill Professional, 2009. [2] J. Kletti, Manufacturing Execution System - MES, Springer, 2007. [3] Z. Hasic, Master's thesis - Comparative analysis MES and ERP systems implemented on open source platform, Tuzla, 2018. [4] »qcadoo MES - friendly SaaS manufacturing management software,« 2017, Poland. [Mrežno]. Available: https://qcadoo.com/en/. [5] »»Dolibarr ERP CRM - Open Source ERP CRM for business,« 2017, France. [Mrežno]. Available: https://www.dolibarr.org/. [6] »»Community where developers can discover, use and contribute to projects,« [Mrežno]. Available: https://github.com. Qcadoo MES Dolibarr ERP CRM Open source software for small and medium enterprises. User interface is easy to understand and use. Online Availability. Community version and commercial version. Modules for executing planning, calculations and analyzes. MES knows "how". Open source, free software package for small and medium enterprises. Several functional modules that can be enabled or disabled. Providing a simple solution. Track the company's activities remotely. Save data through the cloud service. ERP knows "why". 130 Izvedba sistemov vodenja na osnovi modelov za avtonomno vožnjo miniaturnih robotskih vozil Marko Tavcar, Urban Skalar, Jernej Perko, Andrej Zdešar Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana E-pošta: mt6480@student.uni-lj.si, us1673@student.uni-lj.si, jp2352@student.uni-lj.si, andrej.zdesar@fe.uni-lj.si Implementation of model-based control systems for autonomous driving of miniature robotic vehicles In this work we focus on implementation of algorithms for localisation, path planning and path tracking on a cyber-physical system of miniature mobile robots. We implemented Kalman filter to combine the data from two different sensor sources. An A* algorithm was used to find the optimal path in the map. Robot was controlled in such a manner that it is capable of following the reference path, which leads to the desired goal. I. Uvod V svetu zanimanje za avtonomne mobilne sisteme narašča. V tem delu predstavljamo, kako smo implementirali algoritme, ki so ključni za avtonomno delovanje robotskih vozil. V ta namen smo uporabili poenostavljen fizični model mesta z miniaturnimi mobilnimi roboti, ki je prikazan na sliki 1. Na fizičnem modelu smo implementirali algoritme za lokalizacijo, načrtovanje poti in vodenje po poti [1] tako, da se mobilni robot lahko avtonomno vozi po čestah med poljubnimi čilji in pri tem vozi varno ter upošteva čestno-prometne predpise. Slika 1: Fizični model mesta s cestami in miniaturni mobilni roboti z značkami ter kamera Delo, predstavljeno v tem članku, je bilo opravljeno v okviru projekta InMotion, ki ga sofinancira program Evropske unije Erasmus+, št. 573751-EPP-1-2016-1-DE-EPPKA2-CBHE-JP. II. Predstavitev sistema A. Kolesni mobilni robot V našem sistemu smo uporabili 5 kolesnih mobilnih robotov z diferenčialnim pogonom. Na vsakem mobilnem robotu se nahaja mini računalnik Raspberry Pi Zero W, ki omogoča izvedbo algoritmov za avtonomno vožnjo, in mikrokrmilnk Arduino Mini, ki se uporablja za krmiljenje motorjev in branje podatkov iz enkoderjev. Maksimalna hitrost gibanja robota znaša 0,3 m/s. Na vsakem motorju kolesa ima robot nameščen en enkoder za merjenje zasuka kolesa s frekvenčo vzorčenja 100 Hz. Slika 2: Prikaz mobilnega robota od zgoraj z označenimi osnovnimi vektorji gibanja Model kolesnega mobilnega sistema z diferencialnim pogonom je prikazan na sliki 2. Vpliv vhodne tangencialne hitrosti v (t) in kotne hitrosti w(t) na spremembo lege mobilnega sistema podaja kinematicni model (1). ±(t) = v (t) cos y(t) y(t) = v(t) sin (k)]T mobilnega robota imamo na voljo dva nepovezana senzorska vira: enkoderje na kolesih in kamero. Na podlagi enkoderjev na kolesih lahko določimo lego mobilnega sistema s postopkom odometrije. Merilni sistem s kamero podaja lego mobilnega robota glede na globalni koordinatni sistem, in v tem smislu deluje kot globalni satelitski sistem za določanje položaja. A. Odometrija Kinematični model (1) lahko z Eulerjevo integracijsko metodo pretvorimo v diskretno obliko (2). Za kratke čase vzorčenja T je napaka, ki jo dobimo zaradi integracijske metode zanemarljiva glede na ostale vire napak (npr. zdrsovanje koles). x(k + 1) = x(k) + cos f(k) 0 sin f(k) 0 01 v(k)T w(k)T (2) Ad(k) = Ay(k) = 2 AdD(k) - AdL(k) L (3) kjer je L razdalja med kolesoma. Relativne premike koles lahko merimo z relativnimi spremembami vrednosti enkoderjev na kolesih (AaD (k) in AaL(k)): u(k) AdL(k)" "KLA«L(k)" AdD (k) K D AaD (k) (4) x(k) + w(k) " cos (p(k) 2 sin ^(k) ■ L WL(k) wd (k) cos ^(k)~ 2 sin <^(k) (u(k) + w(k)) (5) Q L a L® D aLaD ®D . Predpostavljamo, da meritve s kamere z (k) vsebujejo normalno porazdeljen šum v (k) s srednjo vrednostjo nič in variančo R, kot to opisuje (6). z (k) = h(x(k), v (k)) = x (k) + v(k) vx(k) r®x 0 0 v (k) = vy(k) , R = 0 0 vv(k) 0 0 (6) C. Razširjeni Kalmanov filter Razširjeni Kalmanov filter smo izpeljali na podlagi nede-terminističnega modela mobilnega robota, ki je predstavljen v poglavju III-B. Algoritem vsebuje predikčijski in korekčijski korak, kiju izvajamo zaporedno s frekvenčo vzorčenja podatkov z odometrije. V predikčijskem koraku s (7) napovemo trenutno lego mobilnega sistema x(k) na podlagi meritev iz enkoderjev u(k — 1) in zadnje očene lege x(k — 1). Z (8) določimo še variančo napovedi. Vpeljemo relativni tangenčialni premik Ad(k) = v(k)T in relativni kotni zasuk Ay(k) = w(k)T mobilnega robota. Relačiji med relativnimi premiki mobilnega sistema in relativnimi premiki levega in desnega kolesa, AdL(k) in AdD (k), sta: AdD (k)+AdL(k) x(k) = f (x(k — 1), u(k — 1), 0) P(k) = Ak iP (k — 1)AT_ i + Fk_i QFT_! (7) (8) CCe imamo na voljo novo meritev s kamere, izračunamo ojačenje Kk: Kk = P (k)CT (Ck P(k)CT + R)- (9) Konstante KL = KD = 9,537 ^m in L = 0,075 m smo določili s postopkom kalibračije. Po vstavitvi (3) in (4) v (2), dobimo model, ki omogoča spremljanje lege mobilnega sistema na podlagi merjenja relativnih premikov koles z enkoderji. B. Nedeterministicni model kolesnega robota Za združevanja informačije o legi na podlagi odometrije in kamere smo uporabili razširjeni Kalmanov filter, ki je pogosta izbira pri očenjevanju lege v mobilni robotiki [2]. Za ta namen smo definirali nedeterministični model mobilnega robota, ki je predstavljen v (5) in (6). Različne vplive motenj, ki nastopajo pri merjenju položaja na podlagi odometrije, smo v modelu prehajanja stanj (5) modelirali z normalno porazdeljenim šumom w s srednjo vrednostjo nič in variančo Q. x(k + 1) = f (x(k), u(k), w(k)) = sičer pa postavimo Kk = 0. V korekčijskem koraku posodobimo očeno lege mobilnega robota x(k) na podlagi napovedi x(k) in ob upoštevanju meritve s kamere z (k), kot to opisuje (10). Z (11) posodobimo tudi variančo očene. x(k) = x(k) + Kk(z(k) — h(x(k), 0)) (10) P(k) = P(k) — Kk CkP(k) (11) Matrike Ak, Fk in Ck, ki se pojavljajo v enačbah (7) do (11), določimo na podlagi linearizačije nelinearnega modela mobilnega sistema v okoliči očene v trenutku k: df (x, u, w) A k= dx df (x, u, w) Ck d w dh(x, v) x=x(k) ,u=u(k) ,w=0 x=x(k) ,u=u(k) ,w=0 (12) dx x=x(k),v=0 IV. Načrtovanje poti Avtonomni mobilni roboti morajo biti sposobni načrtovanja optimalne poti od točke A do točke B. Pri imple-mentačiji načrtovanja poti so bila upoštevana določena čestno-prometna pravila. Mobilni robot se lahko vozi le po desnem pasu česte, vožnja po zeleniči ni dovoljena. Pri vožnji mora upoštevati tudi stop znake, na križiščih pa so mu dovoljeni U-zavoji. A. Modeliranje okolja Da lahko mobilni robot najde optimalno pot, se mora zavedati okolja v katerem se nahaja. Okolje smo z mrežo razdelili na 14 x 12 čelič (slika 3) in vsaki čeliči smo i k L 2 132 Slika 3: Razdelitev poligona na celice z označenimi koordinatnimi sistemi in dimenzijami priredili unikatno oznako v obliki dveh števil (i, j). Preslikavo med položajem v globalnem koordinatnem sistemu in oznako pripadajoče celice podaja (13), kjer operator [ J predstavlja celoštevilsko zaokroževanje navzdol. i = 0,15 j = y 0,15 (13) Obratna transformacija (14) priredi vsaki celici položaj v globalnem koordinatnem sistemu, ki se nahaja v središcu te celice. x = 0,15i + 0,075 , y = 0,15j + 0,075 (14) Slika 3 ilustrira primer transformacije za eno celico. B. Algoritem iskanja poti Cilj algoritma za iskanje poti je najti optimalno pot od starta do cilja. Pri tem vhod v algoritem predstavljata tocki start (zacetna lega robota) in cilj (želena lega robota). Izhod algoritma predstavlja urejen niz celic, ki sestavljajo pot od start do cilja. Optimalna pot ni nujno najkrajša pot. V naši implementaciji, algoritem posebej upošteva stop celice. Vsaka stop celica vzame mobilnemu robotu vec casa kot pa ostale celice, saj se mora mobilni robot pred stop znakom ustaviti. Posledicno imajo takšne celice manjši potencial, da se znajdejo na optimalni poti. 1) Algoritem A* V našem sistemu smo implementirali algoritem A* [3], ki je zaradi svoje optimalnosti in hitrosti izracuna, pogosta izbira za iskanje optimalne poti. Z našo implementacijo algoritma smo dosegli zadovoljivo hitro izvajanje algoritma, zato nismo iskali alternativnih algoritmov. A* je informiran algoritem iskanja poti, ki pri svojem delovanju uporablja hevristicno oceno cene do cilja. S tem se iskanje po vozlišcih omeji na celice, ki bolj verjetno sestavljajo optimalno pot, kar posledicno poveca hitrost izracuna. V algoritmu nastopa cena F, ki doloca vrstni red odkrivanja celic in je definirana kot vsota dveh cen: F = G + H. G predstavlja ceno poti, ki vodi od zacetne do trenutno izbrane celice. Dolocimo jo na podlagi vsote uteženih prehodov med celicami. V našem primeru smo uporabili razlicne uteži za prehode cez stop znake (utež 2) kot za obicajne prehode med celicami (utež 1). Tako postanejo celice s stop znakom slabši kandidati za nadaljevanje poti, saj se mora tam mobilni robot ustaviti. H podaja hevristicno oceno razdalje od trenutne celice do cilja. V našem primeru smo uporabili Manhattansko razdaljo. Inicializacija Odprtega in Zaprtega seznama. Zaprti seznam je prazen, na odprtem je začetno vozlišče Izberi vozlišče z najmanjšo vrednostjo F Prestavi aktivno vozlišče na zaprti seznam Poišči vse možne sosede aktivnega vozlišča /^Izračunaj ceno novega^ vozlišča in mu dodeli starša Dodaj novo vozlišče na odprti seznam Ce je nova cena F manjša, posodobi seznam rt* ie nova cena F manjša. prestavi vozlišče ponovno na V._odprti seznam_> 3 Slika 4: Diagram izvajanja algoritma A* Koraki algoritma A* so razvidni na sliki 4. V inicia-lizaciji algoritma definiramo prazen odprti in zaprti seznam ter uvrstimo zacetno celico na odprti seznam. Nato vstopimo v neskoncno zanko, kjer v vsakem ciklu izvedemo naslednje korake. Iz odprtega seznama odstranimo celico, ki ima najmanjšo vrednost F. Nato poišcemo vse njene sosednje celice in jih uvrstimo na odprti seznam Za vsako novo odkrito celico izracunamo vrednosti G, H in F ter ji dodelimo starševsko (trenutno) celico. En cikel zanke koncamo tako, da uvrstimo trenutno celico na zaprti seznam. Ko po tem postopku pridemo do ciljne celice, lahko algoritem prekinemo, saj to pomeni, da obstaja pot do cilja. Optimalno pot poišcemo tako, da sledimo starševskim celicam, dokler ne prispemo do zacetne celice. Izvajanje algoritma zakljucimo tudi, ce je odprti seznam prazen. To pomeni, da pot do želenega cilja ne obstaja. x 133 V. Vodenje mobilnega robota po poti Lego mobilnega robota glede na podane vhodne hitrosti opisuje direktna kinematika (1). Pri načrtovanju vodenja po poti se ukvarjamo s problemom izračunavanja tangencialne in kotne hitrosti, ki sta potrebni, da se mobilni robot vozi po želeni poti. Sistem (1) ima neholonomično omejitev, zato je izračun invezne kinematike v splošnem zahtevna naloga. Preprosta rešitev inverzne kinematike obstaja za primere, ko se mobilni robot vozi le naravnost in obrača na mestu, a takšno gibanje robota običajno ni optimalno. V nadaljevanju je predstavljen prinčip vodenja mobilnega robota po referenčni poti, ki smo jo dobili s postopkom načrtovanja poti, predstavljenim v poglavju IV-A. A. Poenostavljen zapis poti Mobilni robot dobi navodila za pot v obliki urejenega seznama čelič, ki jih mora obiskati, da doseže čilj. Ali so vse čeliče potrebne za popoln opis poti, ki jo želimo opraviti? Sosednje čeliče v urejenem seznamu čelič nimajo dodane vrednosti, če le-te predstavljajo ravno pot. Takšne čeliče lahko s seznama odstranimo. Obdržati moramo torej le začetno in končno čeličo ter čeliče, kjer pride do spremembe smeri. Poleg tega moramo na seznamu obdržati še čeliče s stop znakom, saj se moramo na teh mestih ustaviti. Za zaznavanje čelič, kjer pride do spremembe smeri poti, smo uporabili naslednji algoritem. Sprehodimo se skozi urejen seznam čelič, ki predstavljajo pot. Za vsako čeličo izvedemo preprost test, tako da primerjamo oznako trenutne čeliče (oznaka čeliče je definirana v poglavju IV-A) z oznako čeliče s seznama, kije oddaljena za dve mesti. Ce se obe vrednosti oznake razlikujeta, pomeni, da je na tem mestu zavoj, zato vse čeliče, ki tvorijo zavoj, obdržimo na seznamu. Primer poenostavitve poti je prikazan na sliki 5. (a) (b) Slika 5: (a) Pot iz čeliče (0, 0) v čeličo (4, 5) in (b) poenostavljena pot B. Algoritem za vodenje po poti Oglejmo si algoritem za vodenje do točke. Definiramo pogrešek po razdalji (evklidsko mera) in kotu (slika 6): ed(k) = \J(xref - x(k))2 + (yref - y(k))2 , (15) e^(k) = arctan Vref - y(k) ^(k) + (n + 2m)n. Xref - x(k) Pri izračunu pogreška po kotu moramo s pravilno izbiro parametra n e {0,1} zagotoviti, da dobimo kot rezultat Slika 6: Prikaz vodenja do referenčne točke funkčije arctan kot, ki je v pravilnem kvadrantu. S parametrom m e Z pa moramo zagotoviti, da je zaloga vrednosti vedno znotraj območja e^(k) e [—n, n). Za izračun translatorne hitrosti v(k) uporabimo enostaven P-regulator z ojačenjem Kv: '(k) = Kved(k)cos2 e^(k); |ejk)| < f A ed(k) > £ 0 sicer. (16) Razdalja £ je radij, ki predstavlja krog okoli referenčne točke, ki ga smatramo za čilj. Za izračun kotne hitrosti w(k) uporabimo naslednji regulator z ojačenjem Kw: w(k) Ke^(k); ed(k) > £ 0 sicer. (17) Ojacanje P-regulatorja predstavljenega v (16) je 1. Oja-Canje regulatorja v (17) pa se spreminja, glede na oddaljenost od toCke, v katero se robot pelje. Tako zagotovimo veCjo stabilnost regulatorja. Vrednosti ojaCanja sta bili določeni eksperimentalno in znašata 1,65 , ko je robot blizu cilja, in 70 , ko je daleC od njega. Vodenje po poti lahko izvedemo s prilagoditvijo algoritma za vodenje mobilnega robota do toCke tako, da izvedemo primerno preklapljanje med toCkami, ki sestavljajo pot. Ko je vrednost pogreška ed(k) manjša od £, za referenCno lego vzamemo naslednjo toCko s seznama, ki predstavlja referenCno pot. Ce referenCna toCka pripada stop celici, se na njej ustavimo za doloCen Cas in nato nadaljujemo z izvajanjem algoritma. VI. Zaključek Razvoj algoritmov za avtonomno vožnjo je zahtevna naloga. FiziCni model mesta z avtonomnimi mobilnimi sistemi nam je omogoCil enostavno implementacijo in študijo osnovnih algoritmov, ki so potrebni za avtonomno vožnjo. Tekom implementacije smo se sreCali s številnimi izzivi, ki nastopajo pri prenosu teorije v prakso. V prihodnosti je priCakovati, da se bo podroCje avtonomnih vozil vedno bolj razvijalo. Literatura [1] G. KlanCar et al., Wheeled Mobile Robotics: From Fundamentals Towards Autonomous Systems, Elsevier, 2017. [2] G. KlanCar, L. Teslic in I. Škrjanc, "Mobile-robot pose estimation and environment mapping using an extended Kalman filter,"International Journal of Systems Science, zv. 45, št. 12, str. 2603-2618, 2014. [3] Z. Zhang in Z. Zhao, "A Multiple Mobile Robots Path planning Algorithm Based on A-star and Dijkstra Algorithm", International Journal of Smart Home, zv. 8, št. 3, 75-86, 2014. 134 A Simulation Study of Different Model Predictive Controllers Amila Dubravic, Zenan Sehic University of Tuzla, Faculty of Electrical Engineering amila. dubravic@untz. ba Keywords: MPC Controller, Orthonormal functions, Laguerre functions, Legendre functions, Kautz functions, GPC n, S(j)\y(t + j 1t) - w(t + j)]2 + J ( N„ N2, Nu) = £ nu j=Ni + YJX(jj)[^u(t + j - 1)] j=1 (2) Abstract The analysis has been done for the set ofprocesses from first order up to the eight order process controlled by GPC controller and MPC controllers based on orthonormal functions (Laguerre functions, Legendre functions and Kautz functions) for the fastest possible response without overshoot. where weight sequences 8(j) and X(j) are usually constant or exponentially increasing. Referecce trajectory w(t + j) can be generated using recursion, starting from the current output and exponentially approaches setpoint. [1] 3 MPC Based on Orthonormal Functions 1 Introduction In the late 1970s model predictive control (MPC) emerged as a way of controlling a wide range of processes. It is not one specific strategy of control, but represents wide range of control methods that explicitly use model of the process in obtaining the control law by optimizing the cost function. [1] Since then, many approaches of MPC were proposed, both linear and nonlinear. They are dynamic matrix control (DMC), predictive functional control (PFC), generalized predictive control (GPC), in more recent time hybrid fuzzy model [2,3], Wiener-model based on PWL [4], hybrid MPC based on genetic algorithms [5], probabilistic neural-network [6], orthonormal functions [7,8,9]. In the following sections, short simulation study for the processes, starting from the first order system up to the eight order system controlled by different MPC techniques, will be shown. Used techniques are GPC, an older MPC technique, and MPC based on orthonormal Laguerre, Legendre and Kautz functions. 2 GPC Generalized Predictive Control GPC is a well known algorithm. Predictions of the output are based on CARIMA model: A(z-1)y(t) = B(z~1)z-du(t -1) + C(z^ (1) A The design of predictive control that uses orthonormal functions occured in recent years and can be considered as new compared to GPC, particularly the approaches that use the sets of exponential orthonormal functions such as Laguerre functions, Legendre functions and Kautz functions. [7,8] Following introduction has been made based on [7]. In MPC, the future control trajectory is denoted by Au(kj ), Au(kj +1),..., Au(kj + Nc -1), (3) Nc being the control horizon dictating the number of parameters used to capture the future control trajectory. The future state variables are x(kj +1 k}), x(kj + 2 k}),..., x(kj + m^i),..., x(kj + Npk-i), (4) where x(ki+m | ki) is the predicted state variable at ki+m having current plant information x(ki). The control horizon Nc is chosen to be less than (or equal to) the prediction horizon Np. Receding horizon control principle, takes only the first sample of the sequence of vector AU containing the controls, written in (3), and implements it, ignoring the rest of the sequence. In the next sample period, the more recent measurement is used to form the state vector for the calculation of the new sequence of control signal. The z-transforms of the discrete-time Laguerre networks are written as GPC uses quadratic cost function in the form: ERK'2018, Portoroz, 127-130 135 r1(z) = r9 ( z) = VTÖ2 1 - az -1 a/ 1 - a 2 z -1 - a -1 -1 1 - az 1 - az (5) JI-a2 --1 L(k) = [l1(k) l2(k) -¡N (k )T (6) Au(k, + k) = ^ Cj (k, )lj (k) j=1 (7) Au(k + k) = L(k )T j Where t has N Laguerre coefficients: T = [c1 C2 -N (8) (9) p J = ^ x(k, + m\k, )TQx(k, + m\k, )+jtRlT m=1 (10) Au(k, ) = L(0)t t (11) The z-transforms of the discrete-time Kautz networks are written as F J1 - a rz - a\N-1 rN( z) =--1(--1) 1 - az 1 - az lj(k) denotes the inverse z-transform of r^[z,a). The set of discrete-time Laguerre functions are expressed in a vector form as k, (z (z-1 -a)" jz - - y (1 - az 1 ) (1 - bz 1 ) (1 - az- ) (1 - bz- ) 0 < a < 1 0 < b < 1 (12) a and b are poles of discrete time Kautz network. [8] These functions are also orthonormal as are Laguerre functions. It can be seen that Kautz functions can be written in the form A set of Laguerre functions, h(k), l2(k), . . . , lN(k) are used to capture the dynamic response with a set of Laguerre coefficients that are to be determined from the design process. Based on this, K, (z) = K-1 (z)(z" - 4-1 -b) 11 - az - ( - bz ) 0 < a < 1 K (z ) = V(1 - a 2 )(1 - b 2 ) (1 - az - )1 - bz ') 0 < b < 1 (13) where is the initial time of the moving horizon window and k is the future sampling instant, N is the number of terms used in the expansion, Cj, j = 1,2,...,N, are the coeffitients being functions of the initial time of the moving horizon window, k. Equation (7) can also be expressed in a vector form: The set of discrete-time Kautz functions are expressed in a vector form as K (n) = [k1 (n) k 2 (n) — > kN (n)]T K(i +1) = GK(i) + FK(i -1) (14) (15) matrices G and F are N x N and they are functions of parameters a = ab , P = (a + b) and r = V(1 - a 2 )(1 - b 2 ). So, the coefficient vector rj is optimized and computed in the design. With the Laguerre functions, an alternative formulation of the cost function is used and formulated with a link to discrete-time linear quadratic regulators (DLQR). The task is finding the coefficient vector r to minimize the cost function: Equation (7) can be used with Kautz functions too, accordingly, coefficients are the ones for Kautz functions and insted of Laguerre functions, Kautz functions are used. Legendre orthonormal basis is: B n-1 (z ) = z - a_ ,2 n-1 ( - n 1 - a,z \ (16) Q >0 and RL > 0 being weighting matrices. Having optimal parameter vector rj, the receding horizon control law is realized as _ 2-a(2k +1) °k = 2 + a(2k +1) ' The procedure for generation of controller is the same as in Laguerre and Kautz case, the only difference is in the basis used. ]T k =0 136 4 Simulation Simulation has been done for the process of type G = _L_ , (17) (1 + sY / / / 1 / ! ! 1 // 1 ? j .(' n being [2 3 4 5 6 7 8]. Simulation parameters are: n = 50, Nc = N = 3, Q = 1, R = 0.1, Ts = [0.025 0.05 0.075 0.1 0.125 0.15 0.175]. u izd43Droaiu Criteria is the fastest possible response without «h«»»m overshoot. Figure 3. Step responses of the process for n=4 Parameters were tuned empirically, mainly starting with controlled with Laguerre MPC, Legendre MPC, Kautz greater value of control parameter a (close to 1). MPC and GPC Kautz ■ GPC Figure 1. Step responses of the process for n=2 controlled with Laguerre MPC, Legendre MPC, Kautz MPC and GPC /77 / / / / / / / i / i 1 if —IJ— - Legendre Kaulz ■ GPC Figure 4. Step responses of the process for n=5 controlled with Laguerre MPC, Legendre MPC, Kautz MPC and GPC / / / 1.2 - -Uguerrs L / / Kautz ....... GPC 1 - l> 1 0.8 - ! 0.4 - 1 0.2 - Figure 2. Step responses of the process for n=3 controlled with Laguerre MPC, Legendre MPC, Kautz MPC and GPC 0 2 4 6 10 12 vrijeme [s] 14 16 18 20 Figure 5. Step responses of the process for n=6 controlled with Laguerre MPC, Legendre MPC, Kautz MPC 137 Figure 6. Step responses of the process for n=7 controlled with Laguerre MPC, Legendre MPC, Kautz MPC Figure 7. Step responses of the process for n=8 controlled with Laguerre MPC, Legendre MPC, Kautz MPC 5 Conclusions This paper presents results obtained in the set of simulations for the set of processes presented with equation (17), starting from the first order process, up to the eight order process, controlled with different types of MPC controllers. The idea was also to use small and equal control horizon for all the controllers. MPC controllers are GPC and MPC based on Laguerre orthonormal functions, Legendre orthonormal functions and Kautz orthonormal functions. The step setpoint was treated. The goal was the fastest possible response without overshoot. As can be seen from the figures, for the concrete set of processes, under the conditions as stated above, only in the case of Legendre functions based MPC, it is possible to get the response without overshoot for all values of n. For some values of n, the goal is also achieved with other types of MPC controllers with even faster response, mainly Kautz functions based MPC and Laguerre functions based MPC. In other cases the goal could be achieved by setting constraints. In the last three types of processes, n being 6, 7 and 8 GPC did not give bounded output. 6 References [1] E.F. Camacho, C. Bordons. Model Predictive Control, Springer-Verlag, (1999). [2] D. Dovžan, I. Škrjanc . Predictive functional control based on an adaptive fuzzy model of a hybrid semi-batch reactor., Control Engineering Practice Vol. 18 Issue: 8 pp. 979989 (2010). [3] A. Nunez, D. Saez, S. Oblak et al. Fuzzy-model-based hybrid predictive control., ISA Transactions Vol. 48 Issue: 1 pp. 24-31 (2009). [4] S. Oblak, I. Škrjanc. Continuous-time Wienermodel predictive control of a pH process based on a PWL approximation., Chemical Engineering Science Vol. 65 Issue: 5 pp. 17201728 (2010). [5] J. Causa, G. Karer, A. Nunez et al. Hybrid fuzzy predictive control based on genetic algorithms for the temperature control of a batch reactor., Computers & Chemical Engineering Vol. 32 Issue:12 pp. 3254-3263 (2008). [6] B. Potočnik, G. Mušič, I. Škrjanc et al. Modelbased predictive control of hybrid systems: A probabilistic neural-network approach to realtime control., Journal of Intelligent & Robotic Systems Vol. 51 Issue: 1 pp. 45-63 (2008). [7] L. Wang. Discrete model predictive control design using Laguerre functions., Journal of Process Control. pp. 14:131-142 (2004). [8] B. Khan, J.A. Rossiter, G. Valencia-Palomo. Exploiting Kautz functions to improve feasibility in MPC. 18th IFAC World Congress, Milano (Italy), August 28 -September 2, (2011). [9] A. Dubravic, Z. Šehic. Using Orthonormal Functions in Model Predictive Control. Tehnički vjesnik - Technical Gazzete no. 19, Vol. 3, (2012). 138 Replacing reward function with user feedback Zvezdan LonCarevic, Rok Pahic, Aleš Ude, Bojan Nemec, Andrej Gams All authors are with the Department of Automatics, Biocybernetics and Robotics, Jožef Stefan Institute, and with the Jožef Stefan International Postgraduate School, Jamova 39, 1000 Ljubljana, Slovenia e-mail: zvezdan.loncarevic@ijs.si Abstract Reinforcement learning refers to powerful algorithms for solving goal related problems by maximizing the reward over many time steps. By incorporating them into the dynamic movement primitives (DMPs) which are now widely used parametric representations in robotics, movements obtained from a single human demonstration can be adapted so that a robot learns how to execute different variations of the same task. Reinforcement learning algorithms require carefully designed cost function, which in most cases uses additional sensors to evaluate some environment criteria. In this paper we explore possibilities of learning robotic actions using only user feedback as a reward function. Two reward functions have been used and their results are presented and compared. These were user feedback and a simplified reward function. Experimental results show that for the simple actions where only the terminal reward is given, these 2 reward functions work almost as good as having a reward function based on the exact measurement. 1 Introduction As robots become a mass consumer product, besides standard industrial environments, they are expected to be able to perform in unstructured environments, such as households or some other real-life situations. One of the biggest barriers to wider implementation of robots in our home environment is the lack of environment models. In most cases, a complex sensory system is required to estimate relevant environment parameters. That is why standard ways of programming robotic movements, that need an expert programmer for every variation of the task, are not sufficient. With humanoid robots with many degrees of freedom, autonomy is one of the main unresolved issues in contemporary robotics [1]. Imitation and reinforcement learning are the two most common approaches for solving this issue. Because robot actions are mainly recorded as parametric representations with many parameters search space for reinforcement learning algorithms that use gradient methods (finite difference gradient, natural gradient, vanilla gradient, etc.) is large. Only recently, probabilistic algorithms such as PI2 and PoWER have been developed and able to deal with high dimensional search space [2, 3]. Figure 1: Experimental setup with Mitsubishi PA-10 robot One of the major problems in reinforcement learning is determining the reward function. It was usually solved by modifying reward function according to the teachers behavior [4, 5, 6]. The main goal of this paper is to show that a simplified, reduced reward function can be used directly for some robot actions. An example of such is throwing a ball, i. e. the robot learns how to perform an accurate throwing action relying only on feedback from naive user or cheap imprecise sensors. The paper is organized as follows: In the next section, we briefly present dynamical movement primitives that are already a widely used method in programming by demonstration, and a probabilistic algorithm called PoWER. We used it to learn new DMP parameters for the task. In Section III we introduce the reduced reward functions that were used. Next section presents experimental setup and results obtained in simulation and on the real robot. The paper concludes with a short outlook on the obtained results and suggestions for future work. 2 Reinforcement Learning In this section we provide the DMPs and PoWER basics. ERK'2018, Portorož, 139-142 139 2.1 Dynamic Movement Primitives The basic idea of Dynamic Movement Primitives (DMPs) [7] is to represent the trajectory with the well known dynamical system described with equations for the mass on spring-damper system. For a single degree of freedom (DOF) denoted by y, in our case one of the joint task-space coordinates, DMP is based on the following second order differential equation: T2y = az (g - y) — Ty) + /(x) (1) where t is the time constant and it is used for time scaling (time in which the trajectory needs to be reproduced), az and 3z are damping constants (3z = az /4) that make system critically damped and x is the phase variable. The nonlinear term f (x) contains free parameters that enable the robot to follow any smooth point-to-point trajectory from the initial position y0 to the final configuration g [8]. The phase and kernel functions are given by / (x) ^i(x) = exp ( — (x - ci)2), (2) (3) where ci are the centers of radial basis functions (^¿(x)) distributed along the trajectory and 212 (also labeled as hi [9]) their widths. Phase x makes the forcing term f (x) disappear when the goal is reached because it exponentially converges to 0. Its dynamics are given by x = exp (—axt/T), h J(0) = £ $>krfc(0) k=0 (5) with varying policy parameters 0 G Rn [11]. In the last equation (5), E is the expectation value, rk is reward given for time step k and it depends of parameters that are chosen (0). H is the number of time steps in which reward is given and ak are the time step dependent weighting factors. Although there are numerous methods that can be used to optimize this function, the main problem is high dimensionality of parameters 0 (for DMP it is typically 20-50 per joint, we use 25 per joint). Stochastic methods as PI2 and PoWER were recently introduced. It was proven that PI2 and PoWER perform identically when only terminal reward for periodic learning was available. With PoWER it is easy to incorporate also other policy parameters [1] such as starting (y0) and ending point (g) and time of execution (t) of the trajectory for each DOF and not only DMP weights (w) so in this research the parameters that are learned are: 0 = [w, g, yo]. (6) During the learning process this parameters are updated using the rule: 0m+1 = 0m + )rk Z^k=1rk (7) where 0m+1 and 0m are parameters after and before update, L is number of parameters in importance sampler matrix and they represent L executions with highest rewards (rk). 0i is selected using stochastic exploration policy 0* = c + 6i, (8) where ei is Gaussian zero noise. Variance of the noise (a2) is the only tuning parameter of this method. Because 0 consists of three DMP parameters that cannot be searched with the same variance, it requires three different variances to be chosen. In general, higher a2 would lead to faster, and lower a2 to more precise convergence. (4) 3 Reward function where ax 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. The weight vector w, which is composed of weights wi, defines the shape of the encoded trajectory. Learning of the weight vector using a batch approach has been described in [10] and [7] and it is based on solving a system of linear equations in a least-squares sense. 2.2 PoWER Before the robots become more autonomous, they would have to be capable of autonomous learning and adjusting their control policies based on the feedback from the interaction with varying environment. Policy learning is an optimization process by which we want to maximize the state value of cost function: As the goal of this paper is to examine the possibility to avoid need for expensive and precise sensors that can be set and calibrated only in laboratories for some actions to be successful, and enable a user to train a robot to perform variation of some action with simple instructions, thus discretized reward function is introduced. Two reward functions are compared between each other and to the exact reward function based on the distance measured with sensors. In the first reward function (unsigned), rewards are given on a five-star scale where the terms {"one star","two stars","three stars","four stars" and "five stars"} have the corresponding rewards: r={ 1/5, 2/5, 3/5, 4/5, 1}. This means that the robot did not know in which direction to change its throws. Similar is presented in [12]. In the second reward function (signed), robot converged to its target using the feedback in which reward was formed using five possible rewards:"too short" (r = -1/3), "short" (r = -2/3), "hit" (r = 1), "long" (r = 2/3), and "too long" (r = 1/3). This allowed us to always put in importance sampler matrix the shots that are on the different sides of the target. This means that both functions are of the same complexity because they have only five possible rewards. Although the five-star system can discretize better, the second should be able to compensate its lower discretization 140 with the new way of choosing movements that will be in the importance sampler. 4 Experimental evaluation 4.1 Experimental setup The experiment was conducted in simulation and on a real-system. People as well as computer-simulated human reward systems were used. The participants used a GUI to rate (give terminal reward) to the shots until the robot manages to hit the target. In order to evaluate statistical parameters describing the success of learning, we have also created the program that should simulate human ratings with discretized reward function and with the variance between the reward borders (to simulate human uncertainty). The uncertainty was determined empirically. Simulation and this program allowed us to make much more trials without human participants. This way we tested our algorithm for ten different positions of the target with the diameter of 10 cm. (30 trials for each position) within the possible range of the robot (between 2.4m to 4m providing that the robot base was mounted on a stand of 1 m height). Finally, the functionality of the algorithm was confirmed in the real-world using the Mitsubishi PA-10 robot. It needed to hit the basket with a 20 cm diameter with a 13 cm diameter ball. The experimental setup with the real robot is shown In Fig. 1. 4.2 User study In the following, human-robot interaction (HRI) study with volunteer participants that are naive to the learning algorithm is described. Participants were using graphical user interface (GUI) in which they could rate the success of the shot in the five-star rating system (first reward function) and in the GUI where they could choose if the shot was "too short", "short", "hit", "long", or "too long" (second reward function) in a randomized order. They were not informed on how the reward function works, but only that learning was finished after they rate a shot with five stars in the first reward function system, or after they pressed "hit" in the second reward function system. The maximum number of iterations was 120. Tests with users were conducted using a simulation created in Matlab, where the robot model was made using the same measurements and limitations as on the real robot. 4.3 Results Figure 2 shows throwing error convergence, which tends towards zero for all experiments. The top plot shows the results where human judgment was simulated using Matlab environment and presents statistics of 300 trials. Each trial had update in 120 iterations. Bottom figure represents error convergence from the results with human judgment. Although human judgment criteria differs among participants, the robot was still able to converge to its goal. In Fig. 3 rewards that were given to the executed shot are shown. The top plot shows rewards (r) that were computer generated and the bottom one shows rewards that 20 r -exact ■ unsigned 0L 0 ---- ...... 10 20 30 40 50 60 70 ^ 20 .-.J.. 0 0 10 20 30 40 iterations 50 60 70 Figure 2: The top picture shows mean error convergence caused by computer simulated human judgment and the bottom one by real human judgment. Solid line denotes the results based on the real measurement reward function, dotted denotes the results for the unsigned reward function and dashed denotes results for the signed reward function. were given using human judgment. Statistics for computer generated rewards is taken from 300 trials and for human rewards from 10 participants that did the experiment. 0.5 _I | | , : « exact ■... unsigned — - - signed 0 10 20 30 40 50 60 70 ■it.....iwcnw— 0.5 —^-1-1-1-1-1-1- 0 10 20 30 40 50 60 70 iterations Figure 3: The top picture shows computer simulated reward and the bottom one real human mean reward convergence. Solid line denotes the results based on the real measurement reward function, dotted denotes results for the unsigned reward function and dashed denotes results for the signed reward function. Figure 5 (top) shows the statistics of average and the last (bottom) iteration in which the first shot happened in computer simulated judgment (shaded bars) and in the experiment with people (white bars). Results are shown for the cases where exact distance was measured, for five-star reward function (unsigned discrete), and for the reward function where people were judging according to the side of the basket where the ball fell (signed discrete). It shows that with computer simulated human judgment (shaded bars), unsigned works only slightly better, but with the signed one, the worst case scenario is better. Surprisingly, with the human judgment, signed reward function drastically outperformed the unsigned. This can be explained by the fact that people tend to rate the shots in comparison to the previous one and that way unintentionally form a gradient. This is a fact similar to what was discussed in [13]. 141 Figure 4: Experiment on the real robot: In the first row, exact distance was measured, in the second row unsigned reward system was used and in the third one signed reward function was used. The robot was throwing the ball from the right. 40 r EQ a 0 1 20 § 0 100 50 0 | computer | human unsigned discrete signed discrete TTo: unsigned discrete signed discrete Figure 5: Average first shot and its deviation in Nakagami distribution (top) and worst case first shot (bottom): computer (shaded bars), human (white bars) 5 Conclusion Results show that reinforcement learning of some simple tasks can be done with the reduced reward function almost equally good as with exact measurement based reward function. Even so, the problems related to reinforcement learning in general stay the same: it is very difficult and time-consuming task to set the appropriate noise variance (especially if more parameters are varied like in this case). Note that excessive noise variance results in jerky robot trajectories, which might even damage the robot itself. That is why in the future, we will test this using the latent space of the neural network, where we have less different search variances to tune and also a possibility to train neural network on executable shots so that too big variance cannot lead to the trajectories that differ a lot from the original, demonstrated one. References [1] B. Nemec, D. Forte, R. Vuga, M. Tamosiunaite, F. Wor-gotter, and A. Ude, "Applying statistical generalization to determine search direction for reinforcement learning of movement primitives," IEEE-RAS International Conference on Humanoid Robots, pp. 65-70, 2012. [2] E. Theodorou, J. Buchli, and S. Schaal, "A Generalized Path Integral Control Approach to Reinforcement Learning," Journal of Machine Learning Research, vol. 11, pp. 3137-3181,2010. [3] J. Kober and J. Peters, "Learning motor primitives for robotics," 2009 IEEE International Conference on Robotics and Automation, pp. 2112-2118, 2009. [4] P. Abbeel and A. Y. Ng, "Apprenticeship learning via inverse reinforcement learning," Twenty-first international conference on Machine learning - ICML '04, p. 1, 2004. [5] W. Knox, C. Breazeal, and P. Stone, "Learning from feedback on actions past and intended," In Proceedings of 7th ACM/IEEE International Conference on HumanRobot Interaction, Late-Breaking Reports Session (HRI 2012), 2012. [6] S. Griffith, K. Subramanian, and J. Scholz, "Policy Shaping: Integrating Human Feedback with Reinforcement Learning," Advances in Neural Information Processing Systems (NIPS), pp. 1-9, 2013. [7] 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 (Cat. No.02CH37292), vol. 2, no. May, pp. 1398-1403, 2002. [8] D. Forte, A. Gams, J. Morimoto, and A. Ude, "Online motion synthesis and adaptation using a trajectory database," Robotics and Autonomous Systems, vol. 60, no. 10, pp. 1327-1339, 2012. [9] A. Gams, A. J. Ijspeert, S. Schaal, and J. Lenarcic, "On-line learning and modulation of periodic movements with nonlinear dynamical systems," Autonomous Robots, vol. 27, no. 1, pp. 3-23, 2009. [10] A. Ude, A. Gams, T. Asfour, and J. Morimoto, "Task-specific generalization of discrete and periodic dynamic movement primitives," IEEE Transactions on Robotics, vol. 26, no. 5, pp. 800-815, 2010. [11] B. Nemec, A. Gams, and A. Ude, "Velocity adaptation for self-improvement of skills learned from user demonstrations," IEEE-RAS International Conference on Humanoid Robots, vol. 2015-February, no. February, pp. 423-428, 2015. [12] A.-L. Vollmer and N. J. Hemion, "A User Study on Robot Skill Learning Without a Cost Function: Optimization of Dynamic Movement Primitives via Naive User Feedback," Frontiers in Robotics andAI, vol. 5, no. July, 2018. [13] A. L. Thomaz and C. Breazeal, "Teachable robots: Understanding human teaching behavior to build more effective robot learners," Artificial Intelligence, vol. 172, no. 6-7, pp. 716-737, 2008. 142 Razvoj vibracijskega rotacijskega mikromotorja v tekočini 1 r 2 1 i v i BožidarBratina , Alvaro Baines Garcia , Matjaž Petek , Suzana Uran , Riko Safarič 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Smetanova ulica 17, 2000 Maribor 2Public University of Navarre, Campus de Arrosadia, 31006 Pamplona, Navarra, Španija E-pošta: bozidar. bratina@um. si Abstract. The paper presents a micromotor development based on vibration-induced rotation flow in a fluid, where a rotational velocity of the fluid which rotates the object (rotor) is obtained by external vibrations. Two types of fluidic motors are presented, firstly a micro sized motor as a microstructure consisting of four pillars (stator) and a hexagon ring made of glass micro-spheres (rotor). And secondly a submillimetre sized motor with rotating disk on the surface of the fluid in a pot. The paper explains calculations of the micro-motor design, and use of van der Waals and capillary force methods to build microstructures. The results confirm the vibration-induced rotation flow around pillars, where carefully designed pillar structure enables equilibrium point inside the pillars for micro rotor rotation. Several microstructure designs under different induced vibrations were tested. Both micro sized and submillimetre sized motor designed with different rotors (disk, ring and axis mounted ring) were tested and successfully rotated. 1 Uvod Sestavni del vsakega robota predstavljajo aktuatorji, pogosto elektromotorji, ki skrbijo za linearno ali rotacijsko premikanje robotskih delov. Trendi s področij biomedicine in nanotehnologij se kažejo v integraciji raznih miniaturnih robotskih sistemov, ki bi omogočali manipulacije na mikronivoju (gradnja mikrostruktur, ciljno doziranja zdravil, itd). Miniaturizacija oblik robotov pa zaradi velikosti sestavnih delov ter principov delovanja pogonskih sklopov (virov energije) ni enostavna. Elektromagnetne sile v mikrosvetu niso nujno prevladujoče ter je posledično potrebno izkoriščati druge sile za delovanje. Današnji mikro in nanopogoni temeljijo na mehanskih ali kemijskih principih. Takšni motorji se že uporabljajo v praksi (Piezo) za translatorna in omejena rotacijska gibanja, razne eksotične izvedbe pa služijo bolj kot dokaz delovanje in so v praksi še neuporabne. [1, 2] Mikromotor, ki bi deloval podobno kot elektromotor (vrtenje z možnostjo vodenja vrtljajev) pa v mikrosvetu ni enostavno zgraditi zaradi miniaturne zgradbe in vplivov različnih sil na objekte. V prispevku je predstavljen razvoj in izgradnja mikromotorja s funkcijo vrtenja osi s pomočjo zunanjih induciranih vibracij. Takšni mikromotorji so lahko aplikativno uporabljeni kot črpalke na področju mikrofluidike, pogonski stroji, itd. V nadaljevanju je opisan razvoj mikromotorja, kjer vrtenje rotorja v tekočini temelji na vrtečem se pretoku tekočine, ki ga ustvarjajo umetne vibracije okoli ali znotraj pritrjenih mikroobjektov. [3, 4] Opisan je princip delovanja in razvoj mikrostrukture motorja v tekočini, ter opis potrebne vibracijske naprave. V tretjem poglavju sledi prikaz testiranja vrtenja tekočine okrog pritrjenih mikroobjektov, mikroobjektov okrog mikrostruktur in znotraj mikrostrukture, v tekočini zaradi induciranih vibracij. Prispevek zaključujemo s prikazom razvoja motorja v lončku na submilimetrskem nivoju, kjer je kot rotor uporabljen disk, obroč in obroč nataknjen na os, ki se vrti na površini tekočine. Prikazani rezultati potrjujejo osnovni princip delovanja razvitih mikromotorjev z vrtenjem v ali na površini tekočine. 2 Vibracijski rotacijski mikromotor v tekočini Dandanes je z mikroobjekti že možno zgraditi mikrostrukture. Predstavljene metode z uporabo van der Waalsovih [5] ali kapilarnih sil [6] omogočajo relativno hitro izgradnjo, končno lepljenje ali sintranje pa utrdi mikrostrukture (zobnik, os, ležaj, itd), da so primerne za uporabo v različnih aplikacijah. Te enostavne strojne gradnike je mogoče sestaviti v reduktor ali kakšen bolj kompleksen gibajoč mehanski mikrostroj. Za pogon je seveda potrebno energija in njen prenos, kjer smo se osredotočili na princip vrtenja mikroobjekta (mikromotor) s pomočjo vibracij v ustreznih atmosferskih pogojih. Vibracije namreč vzbudijo pretok tekočine tankega filma na površini mikroobjekta, le-ta pa s kapilarnim principom posledično vrtenje mikroobjekta. Takšno primitivno in nekontrolirano vrtenje steklene krogle, smo omejili in nadgradili z valjasto obliko rotorja, ki se lahko vrti le v smeri vzdolžne osi. Zaradi nezadovoljivega vrtenja zaradi vpliva težnosti, pretankega filma vode in prenosa vibracij na mikrostrukturo, smo bili primorani koncept spremeniti. Glede na različne vire [3, 4], ki opisujejo razvoj mikrofluidnih generatorjev pretoka vzbujanih z mehanskimi vibracijami smo preizkusili tehnologijo za izdelavo mikro rotorjev različnih dimenzij. Vibracije, ki povzročijo gibanje tekočine omogočajo kontroliran transport mikroobjektov po tekočini. Z ustrezno načrtano strukturo je možno doseči vrteč pretok tekočine okoli ali znotraj pritrjenih mikroobjektov. Pri razvoju smo izkoristili predhodno znanje gradenj mikrostruktur, da smo zgradili testni poligon vrtenja mikroobjektov. Na mikro nivoju so strukture običajno ustvarjene z jedkanjem, v našem primeru pa so zgrajene iz mikrodelcev s pomočjo nanorobotskega manipulatorja z enoprstnim prijemalom [5], ki omogoča ERK'2018, Portoroz, 127-130 143 prenos mikroobjektov z Van der Waalsovo ali kapilarno silo. Prijemanje/ odlaganje mikroobjektov je kontrolirano s hlajenjem/gretjem v lokalni okolici. [6] Vse mikrostrukture v prispevku so sestavljene iz steklenih kroglic in utrjene z lepljenjem. 2.1 Pretok tekočine na osnovi vibracij Avtorji [3] so prikazali transport in vrtenje posameznega mikroobjekta (celice velikosti cca. 100150 ^m) s pomočjo pritrjenih stebrov na površino, ki je vzbujana z ustreznimi vibracijami. Rotacijo celice dosežejo z zaprto strukturo treh stebrov, kjer se ustvari ravnovesno stanje sil, ki vrtijo objekt z določeno hitrostjo in smerjo. S spremembo frekvence in/ali amplitude vibracij je mogoče premikanje oz. vrtenje kontrolirati, kar omogoča opazovanje celic v prostoru za namene biomedicinskih aplikacij. Vibracije, pravokotne na površino, okrog pritrjenega mikroobjekta v tekočini povzročijo usmerjen krožni tok tekočine okrog njega. Gibanje površine z vibracijami mora biti usklajeno po X-Y osi s sinusnim/ kosinusnim zbujanjem, da se doseže krožno gibanje. Glede na vir [3] je maksimalna hitrost krožnega toka dosežena pri razdalji cca. 100 ^m od površine stebra, seveda pa je odvisno od oblike in zasnove stebra. S postavitvijo več stebrov v zaprto obliko je možno krožni pretok okrog posameznih stebrov usmeriti v krožno gibanje tekočine znotraj strukture, kar izkoriščamo za vrtenje mikroobjektov v centru. S teoretičnimi izračuni glede na število stebrov in dimenzij mikroobjekta (rotor) je na sliki 1 prikazana zasnova poligona za testiranje vrtenja v centru. d > a - (1) Stranica enakostraničnega trikotnika med dvema stebroma in centrom rotorja je določena z izrazom (2). stranica = H + (c - —) (2) 1 2 Po (3) se lahko izračunamo zadostna razdalja med stebri. V d2 = c — 1 + d + c — 1 + d s2 (3) Glede na dimenzije je izračunana razdalja d2=226 ^m. Stebri so izdelani iz dveh večjih steklenih kroglic postavljenih ena na drugo ter prilepljeni na površino steklene ravnine z UV lepilom. Manjše steklene kroglice pa so sestavljene v rotor šestkotne ali trikotne oblike, ter zlepljene v čvrsto mikrostrukturo. Slika 2 prikazuje končno obliko poligona štirih stebrov z rotorjem v centru. Slika 1. Tlorisni prikaz pretoka tekočine (črtkane črte) okrog štirih stebrov in šestkotnega mikrorotorja znotraj stebrov. Dimenzije gradnikov so sledeče: polmer stebra a=40 ^m, polmer steklenih kroglic šestkotnika b=20 ^m, polmer šestkotnika c=60 ^m. Načrtovanje celotnega poligona, razmik med stebri, in razmik med stebri in rotorjem v centru je izveden po [3]. Po enačbi (1) se določi razmik med rotorjem in stebri dj=100 ^m, a da je zadoščen pogoj v enačbi, je izbran malce večji razmik d;=120 ^m. Slika 2. Prikaz različnih oblik rotorjev vstavljenih med štiri stebre v tekočini. Merilna skala velja za slike 2-4. 2.2 Vibracijska naprava Vibracijska naprava krožno vzbuja ravno stekleno površino (mizico) z nameščenim lončkom ali štirimi stebri, da povzroči krožno gibanje tekočine znotraj lončka ali okoli stebrov. Zgrajena je iz dveh linearnih piezo motorjev pravokotnega preseka 6 x 6 mm, ki sta nameščena medsebojno pravokotno, eden po x-osi, drugi po y-osi. Mizica vibracijske naprave je vpeta med oba linearna piezo motorja. Na obeh oseh vibracijske naprave so uporabljeni linearni piezo motorji proizvajalca Nanofaktur MPO 050015. Ta piezo motor izvaja pomike v območju 0-15 ^m s krmilno napetostjo med 0 in 150 V (max. -45V do +180 V). V osnovnem območju napetosti lahko ti linearni motorji proizvajajo silo potiska do 1125 N, silo vleka pa 50 N. Togost linearnega piezo motorja je 75 N/^m. Vsak linearni piezo motor krmilimo s pomočjo eno kanalnega gonilnika EOO-050100 istega proizvajalca. Ta gonilnik omogoča povečan obseg izhodne krmilne napetosti, nastavitev offset napetosti med 0 in 10V, na njegov vhod pa lahko priključimo napetost v območju -3 do 12V. Krožno gibanje mizice vibracijske naprave dosežemo tako, da krmilimo premikanje linearnega motorja na x-osi po sinusni funkciji, medtem ko 144 krmilimo premikanje linearnega motorja na y-osi po kosinusni funkciji. Sinusni in kosinusni časovni potek napetosti generiramo s pomočjo mikrokrmilnika PIC in pulzno širinske modulacije s frekvenco 50kHz. S filtriranjem pulzno širinskega signala dobimo sinusni in kosinusni signal s frekvenco v območju 0 do 1kHz. 3 Testiranje vrtečega pretoka tekočine okrog in znotraj poligona Testiranje smo pričeli s preizkušanjem vrtenja mikroobjekta, kjer je bila celotna ravna površina s poligonom in mikroobjektom potopljena v tekočino (kapljica vode). Potopljen poligon oz. površino steklene ravnine smo pričeli vzbujati z vibracijami ter tako ustvarili pretok tekočine okrog mikroobjektov. Intenziteto vibracij smo nastavljali s spreminjanjem napetosti aktuatorjev (vibrator), kjer je bilo za zadovoljivo krožno vzbujanje potrebno zagotoviti frekvenco cca. 250 Hz in amplitudo 10 ^m. Dokler je mikroobjekt (steklena kroglica) potopljen na dnu kapljice oziroma v kontaktu s površino ravnega stekla deluje kot steber, zaradi česar se okrog njega vzpostavi krožni tok. Če je pretok okrog njega dovolj močan se mikroobjekt prične vrteti. Če ga sila vzgona med vrtenjem dvigne od tal krožni tok okrog njega oslabi in izgubi vrtilno hitrost ter potone na dno. Z ustrezno nastavitvijo frekvence in amplitude vibracijske naprave je bilo mogoče doseči zanesljivo vrtenje mikroobjekta, ter krmiliti hitrost glede na intenziteto vzbujanja. Hitrosti krožnega vrtenja je bila med 1 < ra < 10 rad/s. Nadalje smo na stekleno površino pritrdili steber iz dveh kroglic ter posneli obnašanje mikroobjekta v krožnem toku tekočine okrog stebra. Opisan primer je predstavljen s serijo slik (slika 3), ki kažejo na vrtečo kroglico okrog stebra. Slika stebra je zaradi induciranih vibracij nejasna. Nazadnje smo izdelali še mikrostrukturo rotorja v obliki šestkotnika, ki ga lahko dogradimo v enostaven zobnik. Sestavljen in zlepljen je iz steklenih kroglic, ter vstavljen med štiri stebre. Izkazalo se je, da je bila lepljena mikrostruktura rotorja problematična saj se je del rotorja z UV lepilom zaradi velike adhezivnosti površine lepila večkrat dotaknil stebrov in rotor prilepil na steber. Zato smo izvedli poenostavljeno verzijo rotorja, ki je bil sestavljen iz le treh kroglic v obliki trikotnika zlepljenega v sredini. Zaradi manjših dimenzij nove oblike trikotnega rotorja le-ta ni pravilno usklajen z načrtovanimi dimenzijami poligona in je pri neustreznem vzbujanju zdrsnil iz centra poligona. Potreben bi bil nov preračun in postavitev poligona, da bi v notranjosti ustvarili ravnovesne pogoje za enakomerno vrtenje trikotnega rotorja. Slika 4 predstavlja zaporedje vrtenja trikotnega rotorja v tekočini med vzbujanjem z vibracijami, kjer je ušel iz centra poligona. Na slikah rotorja je opazna nepravilnost na kroglici, kar služi za indikacijo vrtenja. Slika 3. Krožno vrtenje steklene kroglice v tekočini okrog pritrjenega stebra na površino z induciranimi vibracijami. Slika 4. Inducirano vrtenje trikotnega rotorja na ravni površini, izven poligona (dva stebra od štirih sta vidna zgoraj). S povečanjem števila stebrov se poligon spremeni v zaprto obliko oziroma lonček. Zato smo vzporedno z razvojem fluidnega mikromotorja preverili tudi delovanje malo večje submilimetrske verzije motorja. 4 Submilimetrski vibracijski mikrofluidni rotacijski motor Na zgornji predpostavki smo nadaljevali razvoj submilimetrske verzije, kjer na ravno stekleno površino namestimo lonček višine cca. 1,5 mm in notranjim premerom 0,9 mm v katerem se nahaja voda z nadrobljenimi obruski papirja. Površino krožno vzbujamo s pomočjo vibracijske naprave, s frekvenco 260 Hz in amplitudo 10 ^m. Center vrtenja vode je bil točno v središču lončka. Če vibracij a ni bila natančno krožno vibriranje, se je center vrtenja premaknil izven središča ali pa so se v lončku ustvarili dva ali tri središča vrtenja. Cilj je doseči krožno gibanje medija z enim središčem v centru krožnice lončka. Z eksperimentom smo dokazali delovanje krožnega toka ob različnih amplitudah in frekvencah vibriranja in dosegli nastavljivo krmiljenje kroženja vode v urini ali protiurini smeri z rotacijsko krožno hitrostjo vode na površini v lončku -15 rd/s < ra < +15 rd/s. 145 Naslednji eksperiment, ki smo ga opravili je bil rotirajoči se disk z diametrom cca. 500 ^m, ki je "lebdel" neposredno pod konkavno površino vode, zaradi površinske napetosti na stiku med vodo in zrakom. Disk, narejen iz plastične folije debeline cca. 200 ^m smo vrteli v obeh smereh s krožno hitrostjo cca. -15 rd/s < ra < +15 rd/s. Eksperimentalno napravo vibrirajočega lončka in diska prikazuje slika 5a in njegovo skico slika 5b. Da bi sila zaradi površinske napetosti delovala mora biti vsaj en del diska (rotorja) v stiku z zrakom, čeprav je večji del diska potopljen pod gladino površine vode v lončku. Površinska napetost vode ima še eno dobro lastnost, to je, da disk centrira na dno konkavne ploskve površine vode v lončku, kjer je tudi center rotirajoče se vode, tako, da se disk med vrtenjem ne odmika proti robu lončka. Ta efekt je nujno potreben za delovanje mikrofluidnega vibracijskega rotacijskega motorja z osjo, ki ga prikazuje slika 6. spodnjem delu osi (luknjica v plastični foliji premera cca. 200 ^m). Os je bila izdelana iz steklenega vlakna premera 125 ^m. Lonček in vsi sestavni elementi motorja so bili pritrjeni ali lepljeni z UV lepilom. Z ustreznim vibracijskim vzbujanjem po drugih oseh bi bilo možno z zaprtim lončkom s tekočino takšen motor uporabljati tudi v horizontalni smeri. Slika 5. Eksperiment z rotirajočim diskom pod gladino vode. Zadnji eksperiment, ki smo ga izvedli je bil delujoči vibracijski mikrofluidni motor, ki je omogočal kotne hitrosti cca. -10 rd/s < ra < +10 rd/s, čeprav se je voda vrtela z večjo hitrostjo, to je cca. -15 rd/s < ra < +15 rd/s. Vzrok za ta pojav vidimo v tem, da se je del energije rotirajoče vode porabil, za premagovanje trenja v preprostih ležajih v spodnjem in zgornjem delu osi motorja, na katerega je prilepljen disk (rotor ali turbina) motorja. Skico opisanega motorja prikazuje slika 6. Os z diskom se je vrtela le, če smo gladino vode postavili natančno na višino diska, kjer je vsaj del zgornje ploskve diska imel stik z zrakom. S tem smo omogočili delovanje sil površinske napetosti na disk, ki je bil s tem centriran na sredino lončka, na dno konkavne ploskve površine vode v lončku, naravnost v sredino krožeče se vode v lončku. To je imelo blagodejen vpliv na zmanjšanje sil trenja v preprostem ležaju v zgornjem in Slika 6. Vibracijski mikrofluidni motor z osjo. 5 Zaključek V članku je predstavljen razvoj različnih vibracijskih rotacijskih mikromotorjev v tekočini za namene izdelave mikrostrojev. Kontrolirane vibracije površine na kateri so nameščeni mikroobjekti in potopljeni v tekočino, ustvarijo gibanje tekočine, kar s pravilnim načrtovanjem omogoča vrtenje mikrostruktur. Hitrost vrtenja je odvisna od frekvence in amplitude vzbujanja vibracij, smer vrtenja pa od sinusnega/ kosinusnega vzbujanja po X-Y osi. Dosežene hitrosti vrtenja in sile vrtenja so zadostne za izkoriščanje kot pogonsko silo mikromotorjev. Izvedba predstavljenih mikromotorjev je trenutno še v fazi razvoja in testiranja različnih oblik ter še ni primerna za aplikativno rabo. Literatura [1] B. Jurado-Sánchez, M. Pacheco, R. Maria-Hormigos, A. Escarpa: Perspectives on Janus micromotors: Materials and applications. Applied Materials Today, str. 407-418, 2017. [2] M. Guix, C.C. Mayorga-Martinez, and A. Merkoci: Nano/Micromotors in (Bio)chemical Science Applications. Chemical Reviews, str. 6285-6322, 2014. [3] T. Hayakawa, S. Skuma, F. Arai: On-chip 3D rotation of oocyte based on a vibration-induced local whirling flow. Mycrosystems & Nanoengineering, 2015. [4] M. Hagiwara, T. Kawahara, F. Arai: Local streamline generation by mechanical oscillation in a microfluidic chip for noncontact cell manipulations. Applied Physics Letters, št. 101, str. 074102, 2012. [5] R. Šafarič, D. Lukman: One-finger gripper based on the variable van der Waals force used for a single nano/micro-sized object. Journal of micromechanics and microengineering, št. 24, str. 1-13, 2014. [6] S. Uran, R. Šafarič, B. Bratina: Reliable and accurate release of micro-sized objects with a gripper that uses the capillary-force method. Micromachines, 2017. 146 Eksperimentalni haptični vmesnik za visoko kvalitetno upodabljanje haptičnih kod Mitja Golob, Aleš Hace Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru, Slovenija E-pošta: mitja.golob@um.si, ales.hace@um.si The Experimental Haptic Interface for High Quality Rendering of Haptic Codes This paper describes the design of a novel, highperformance experimental linear haptic interface. The paper shortly presents the whole system. The main purpose of this paper is to show a comparison between conventional Proportional Integral (PI) force control and Sliding Mode Control (SMC) for the haptic interface. The experimental results confirm the validity of the proposed haptic interface design with the advanced SMC algorithm. 1 Uvod Haptični vmesnik je naprava, ki človeku omogoča interakcijo z navideznimi ali fizično oddaljenimi okolji. V splošnem so lahko haptični vmesniki vodeni kot impedančno ali admitančno. V admitančnem modelu haptične interakcije haptični vmesnik generira premike kot odziv na izmerjeno interakcijsko silo. V impedančnem modelu haptične interakcije haptični vmesnik generira sile kot odziv na vsiljen položaj oz. hitrost. Impedančna regulacijska shema, ki je pogosto uporabljena za vodenje vmesnikov človek-stroj zahteva poznavanje mehanske dinamike vmesnika vključno s trenjem. Slednje je velikokrat zelo težko točno modelirati, čeprav ga je po drugi strani treba za kvalitetno realizacijo želenega obnašanja popolnoma kompenzirati, kar moramo zagotoviti z ustrezno načrtovano regulacijsko shemo. Najbolj preprost pristop za zagotovitev ustreznega odziva haptičnega vmesnika je primer odprtozančnega vodenja. V tem primeru v regulacijsko shemo vodenja ne vključujemo povratne informacije o interakcijski sili. Natančnost vodenja sile je odvisna predvsem od dinamike haptičnega vmesnika, ki mora biti zanemarljiva v primerjavi z dinamiko modeliranega okolja. V tem primeru se trenje, gravitacija, vztrajnostne sile, modelne netočnosti in napake na pogonih neposredno prištevajo k silam, ki jih človek zaznava. Prednost takšnega pristopa je, da ni potreben senzor sile. Drugi pristop za zagotovitev ustrezne povratne sile je primer zaprtozančnega vodenja. V tem primeru v regulacijsko shemo vodenja vodi povratna informacija o sili. Bistvena prednost pri tem je možnost odprave sistemskih motenj, kar pomeni boljšo upodobitev povratne haptične informacije [1]. Poleg vodenja pa ima pomembno vlogo na kvaliteto haptičnega prikaza tudi strojna oprema. Treba je upoštevati, da lastna dinamika haptičnega vmesnika povzroča popačenje, kar občuti tudi uporabnik. To pomeni, da je treba zagotoviti haptični vmesnik z minimalno lastno impedanco, ob tem pa je treba zagotoviti še čim večjo pasovno širino, togost, ločljivost in ne nazadnje tudi sposobnost generiranja sil, ki odločilno vplivajo na kvaliteto haptičnega prikaza [2] [3]. V nadaljevanju članka bomo tako predstavili eksperimentalni linearni haptični vmesnik, ki omogoča zelo kakovostno upodabljanje različnih haptičnih kod. Predstavili bomo posamezne gradnike kot celotno arhitekturo sistema vključno z vodenjem sistema. Na koncu bodo še predstavljeni eksperimentalni rezultati. 2 Opis haptičnega vmesnika Haptični vmesnik v splošnem omogoča komunikacijo človek-stroj oz. navidezno okolje. Sistem lahko predstavimo s sliko 1, pri čemer pomenijo in f) položaj in silo človeka, haptičnega mehanizma in navideznega okolja. Haptični vmesnik torej z velikostjo in obliko povratne sile pri premikanju ročice uporabniku sporoča različne informacije v obliki t. i. haptičnih kod. Sistem linearnega haptičnega vmesnika sestavljajo: krmilnik, mehanizem s servo pogonom in ročica. Haptični vmesnik f Človek Mehanizem s pogonom fm Krmilnik _ f Navidezno okolje V J Slika 1: Sistem haptičnega vmesnika. 2.1 Haptični mehanizem Haptični mehanizem z linearnim motorjem je prikazan na sliki 2. Linearni motor je vgrajen v modul, ki se sestoji iz kompaktnega ohišja, palice iz trajnih magnetov, ki je vpeta v ohišje modula, ter iz gibalnega dela linearnega motorja, tj. ohišje z navitjem, ki je povezano na voziček linearnega vodila. Vodilo slednjega pa je povezano na ohišje linearnega pogonskega modula. Na ohišje motorja je pritrjena ročica, s katero lahko uporabnik opravlja premike, pri čemer se generirajo predprogramirane haptične kode. Ročica Senzor Palica Iz trajnlh m magnetov \ ^ l Ohišje Digitalni modula dajalnik Vodilo in voziček Linearni motor Slika 2: Zgradba linearnega haptičnega vmesnika. Vezna palica, Pospeškometers Gibalni del ERK'2018, Portoroz, 127-130 147 Na linearnem pogonu haptičnega vmesnika so nameščeni senzorji za položaj (digitalni dajalnik), pospeškometer in senzor sile. Vgradnja senzorja sile predstavlja precejšen izziv, saj je treba poskrbeti za ustrezno mehansko zaščito pred preobremenjevanjem (slika 3). Apliciranih sil uporabnika namreč ni mogoče omejevati. Mehanska Ročica Senzor Vezna 7™ \ "V pa\ca U _ ► VlLO ;i Voziček / Vodilo Podatkovni zbiralnik | Uporabniški vmesnik Pospeškometer [""Dajalnik položaja | Senzor sile | >| ' |- SPIA | SCIB I PSU _ DSP |PWMA i^J F28335 E^EP I Procesor ADC ' 1 JTAG I DIO Haptični krmilnik X Napajalna enota AC/DC Servo Motor „ gonilnik O- i i Tipke, J' ' Končna stikala 3 Vodenje in zajem podatkov 3.1 Impedančni vmesnik Slika 5 prikazuje shemo vodenja haptičnega vmesnika. V našem primeru enoprostostni linearni haptični vmesnik načrtujemo tako, da izkazuje impedančno obnašanje. To pomeni, da mora zagotavljati želeno impedanco, ki jo človek zaznava, ko premika ročico haptičnega vmesnika. ^^^ Vodenje 77777777777777777777777777777777777777777777777777777777777777777 Motor Slika 3: Vgradnja in izvedba mehanske zaščite senzorja sile. Senzor sile je na eni strani togo povezan na ohišje motorja, medtem ko je na drugi strani z vezno palico, preko katere se prenaša aplicirana sila uporabnika, povezan na ročico. Ročica pa je togo povezana na precizno linearno vodilo oz. voziček. Precizno linearno vodilo je namenjeno zgolj kompenzaciji vpliva tistih sil in navorov, ki ne delujejo v delovni smeri. V delovni smeri je senzor sile zaščiten z mehansko zaporo, ki nudi obojestransko mehansko zaščito senzorja sile pred preobremenitvijo. Mehanska zapora namreč omejuje pomik vozička in s tem tudi odmik senzorja sile (odmik senzorja sile je proporcionalen pomiku vozička). Največji dovoljen odmik senzorja sile znaša 0.16 mm. 2.2 Haptični krmilnik Haptični mehanizem X Človek Navidezno okolje Haptični krmilnik sestavljajo digitalni signalni procesor TMS320F28335 družine Delfino, vhodno-izhodni in komunikacijski vmesniki ter napajalna enota [4]. Haptični krmilnik omogoča priklop digitalnih dajalnikov položaja, analognih in logičnih signalov, ter vključuje komunikacijske vmesnike USB, UART (RS232) in CAN, ki omogočajo povezavo z zunanjimi napravami. Logični signali, vključno z izhodi PWM, dopuščajo široko območje priključenih napetosti. Funkcionalna razširitev krmilnika je možna z notranjimi kom. vmesniki po protokolih I2C, SPI ali SCI. Slika 4: Blokovna shema haptičnega krmilnika s priključenimi zunanjimi enotami. Blokovna shema na sliki 4 predstavlja haptični krmilnik s priključenimi zunanjimi enotami. Strojno opremo za zajem podatkov sestavljajo digitalni dajalnik položaja, digitalni pospeškometer in senzor sile z uporovnimi merilnimi lističi, medtem ko za sprotni prikaz oz. shranjevanje podatkov služita uporabniški vmesnik oz. podatkovni zbiralnik. Na PWM izhodno enoto je priključen servo gonilnik z linearnim motorjem. Slika 5: Blokovna shema vodenja haptičnega vmesnika. V primeru, ko človek izvaja premik haptičnega vmesnika, na ta način posledično tudi aplicira določeno silo na ročico haptičnega vmesnika. Tipični vhodi v impedančna navidezna okolja so položaj x, hitrost x in pospešek x haptičnega vmesnika ter izmerjena sila fh. Silafe, kot izhod navideznega okolja predstavlja referenčno silo za izbran algoritem vodenja, ki mora zagotoviti realizacijo želene impedance haptičnega vmesnika. V tem članku bomo podali primerjavo dveh zaprtozančnih sistemov vodenja, in sicer: a.) klasična PI regulacije sile [5], b.) regulacijska shema izpeljana po postopku vodenja v drsnem režimu (SMC) [6]. Za takšno (robustno) vodenje je značilna visoka robustnost na motnje sistema (kompenzira nemodelirano dinamiko, kot je trenje, modelne netočnosti, dinamike višjega reda itd.). Pri uporabi klasične PI regulacije sile pogrešek sil fe in fh predstavlja vhod v regulator sile. V primeru uporabe robustne sheme vodenja pa je za estimacijo in kompenzacijo motnje potrebna še informacija o dejanski hitrosti x. Izhod iz algoritma vodenja pa je regulacijska silafc, ki jo mora realizirati linearni pogon. 3.2 Zajem podatkov Blokovna shema na sliki 6 predstavlja strukturo krmilja linearnega haptičnega vmesnika. Pri tem strojno opremo predstavljajo haptični mehanizem, haptični krmilnik, servo gonilnik, uporabniški vmesnik (osebni računalnik) ter podatkovni zbiralnik (ang. Data Logger). Algoritem vodenja je v celoti implementiran na haptičnem krmilniku z DSP kontrolno enoto. Sprotno spremljanje in nadzor delovanja haptičnega vmesnika pa poteka v celoti preko uporabniškega vmesnika, ki se izvaja na osebnem računalniku (PC). Zaradi dokaj počasne komunikacije z uporabniškim vmesnikom (100 ms) in omejene količine pomnilnika RAM (68 kB) na haptičnem krmilniku oz. DSP kontrolni enoti smo dodali še enoto za zbiranje podatkov (Nexys 2 Digilent s FPGA vezjem). Slednja ima na razpolago 16 MB pomnilnika RAM, v katerega lahko shranjujemo podatke. Te podatke lahko nato na zahtevo prenesemo na osebni računalnik preko vmesnika USB. + 148 Inkr. dajalnik Pospeškometer Senzor sile Haptični mehanizem Linearni servo motor Uporabniški vmesnik (PC) Podatkovni zbiralnik Položaj, pospešek, sila r Algoritem gonilnik CRef. tok vodenja ^-' Haptične kode Haptični krmilnik Slika 6: Struktura krmilja linearnega haptičnega vmesnika. Merilni sistem se sestoji iz naslednjih sklopov: - Digitalni inkrementalni dajalnik omogoča natančno meritev položaja ročice haptičnega vmesnika. Optični dajalnik omogoča ločljivost 0.1 fim. Za estimacijo hitrosti je uporabljena MT metoda, ki omogoča natančno merjenje tudi nizkih hitrosti v razredu nižjem, kot je en pulz na tipalni interval. - Digitalni MEMS 3-osni senzor pospeška omogoča meritev pospeška ročice haptičnega vmesnika. Merimo pospeške v območju ±2 g z 10-bitno natančnostjo in frekvenco zajemanja 1600 Hz. - Senzor sile z uporovnimi merilnimi lističi omogoča meritev tako tlačnih kot nateznih sil v območju ±55 N. Izhodni napetostni signal je ojačan in nato pretvorjen v digitalno obliko z 12-bitnim A/D pretvornikom. 4 Haptično prikazovanje V predhodnih poglavjih smo pokazali tako posamezne gradnike kot celotno arhitekturo sistema haptičnega vmesnika. Pomemben preizkus haptičnega vmesnika in algoritmov vodenja pa predstavlja, kako realistično lahko prikažemo različne haptične kode. Treba vedeti, da pasovna širina, togost, ločljivost in generirana sila skupaj odločilno vplivajo na kvaliteto haptičnega prikaza. V nadaljevanju bomo zato, predhodno predstavljen sistem ovrednotili s pomočjo namensko izbranih modelov haptičnih kod: masa-dušilnik-vzmet in trenje. a) b) hAAA/H -dx Drsenje dx Drsenje Viskozno trenje impedančno kavzalnost, slednje zasnovati tako, da je sila trenja aktivna zgolj v fazi premika haptičnega vmesnika [7]. Slednje lahko dosežemo z uporabo navidezne vzmeti v modelu trenja. V primeru majhnih pomikov od območja lepenja xi, se generira sila trenja Ft ~ -kt (x-x), ki je proporcionalna dejanskemu odmiku x. 5 Eksperimentalni sistem Linearni motor, ki je vgrajen v haptični vmesnik omogoča visoko dinamiko in nima samodržne sile (ang. Cogging Force). Poganja ga zanj prirejen servo gonilnik, ki deluje v tokovnem načinu. Programska oprema haptičnega krmilnika s frekvenco izvajanja regulacijske zanke 10 kHz je bila zasnovana v MATLAB/Simulinku. 5.1 Eksperimentalni rezultati Izvedeni eksperimenti so razdeljeni v dva sklopa. Prvi sklop rezultatov predstavlja emulacijo navideznega dušenja in togosti (slika 8 in 9) ter emulacijo navidezne mase (slika 10 in 11). Drugi sklop rezultatov pa predstavlja emulacijo trenja (slika 12 in 13). Pri vsakem eksperimentu so podani rezultati za primer uporabe tako klasičnega PI vodenja (slika 8-13a), kot za primer uporabe naprednega robustnega vodenja (slika 8-13b). Na slikah 8-13 so prikazane: dejanska hitrost (rdeča krivulja) in dejanski pospešek (zelena krivulja) na zgornjem grafu, referenčna sila (rdeča krivulja) in dejanska sila (zelena krivulja) na sredinskem grafu ter razlika med referenčno in dejansko silo - pogrešek sile (rdeča krivulja) na spodnjem grafu. Striebeckov efekt^^iepenje Slika 7: Modeli haptičnih kod: a) model masa-dušilnik-vzmet in b) Karnoppov model trenja. - Model masa-dušilnik-vzmet na sliki 7a predstavlja pogost način preizkusa kvalitete haptičnega prikaza. Model je podan s F = mx + bx + kx, pri čemer so m, b, k, x masa, koef. viskoznega trenja in togosti ter položaj [3]. - Model trenja. Različni modeli trenja se razlikujejo po načinu opisa, kompleksnosti, natančnosti, itd. V našem primeru smo uporabili Karnoppov model trenja, ki je prikazan na sliki 7b in vključuje tako statično trenje Fs kot dinamično trenje Fc, odvisno od hitrosti i-. Prednost uporabe Karnoppovega modela trenja je v vpeljavi umetno vsiljenega intervala drsne hitrosti .t = 0 pri absolutni vrednosti drsne hitrosti manjše od dx (na ta način obidemo težavo nezveznosti in singularnosti). V praksi pa je potrebno v zahtevi, da trenje izkazuje Slika 8: Emulacija dušenja in togosti -(haptični parametri: m = 0 kg, b = 10 Ns/m a) IS b) J primer 1 k = 50 N/m). i Slika 9: Emulacija dušenja in togosti - primer 2 (haptični parametri: m = 0 kg, b = 10 Ns/m, k = 300 N/m). Motor U Hall U> F. F F m -F 149 Slika 10: Emulacija mase - primer 1 (haptični parametri: m = 1 kg, b = 0 Ns/m, k = 0 N/m). Slika 11: Emulacija mase - primer 2 (haptični parametri: m = 5 kg, b = 0 Ns/m, k = 0 N/m). a) Z0123466789 10 Slika 12: Emulacija trenja - primer 1 (haptični parametri: Fs= 5 N,Fc = 3 N,B = 5 Ns/m, dx = 5 mm/s). Slika 13: Emulacija trenja - primer 2 (haptični parametri: Fs = 10N,Fc = 8N,B = 5Ns/m, dx = 5 mm/s). 150 Pri emulaciji dušenja in togosti lahko vidimo, da je pogrešek sile pri obeh strategijah vodenja v primeru enakomernega pomika majhen. Večji pogrešek sile pa se pojavi pri PI algoritmu vodenja (slika 8a in 9a) v primeru spremembe smeri gibanja, takrat namreč dejanska sila (zelena krivulja) ne uspe slediti referenčni sili (rdeča krivulja). V primeru izbranega robustnega algoritma vodenja (slika 8b in 9b) pa slednji zelo dobro kompenzira vpliv trenja, zato je tudi pogrešek sile manjši. Podobno je tudi v primeru emulacije mase, kjer PI algoritem vodenja (slika 10a in 11a) v primeru spremembe smeri gibanja ne zmore dovolj dobro kompenzirati vpliva trenja, zato se pojavi določen pogrešek sile v trenutku spremembe smeri gibanja. V primeru izbranega robustnega algoritma vodenja (slika 10b in 11b) pa je pogrešek sile manjši. V primeru emulacije trenja je razvidno, da sta tako PI algoritem vodenja (slika 12a in 13a), kot robustni algoritem vodenja (slika 12b in 13b) zagotavljala dobro sledenje referenčni sili v primeru aktivnega dinamičnega trenja, medtem ko v trenutku nastopa statičnega trenja boljše sledenje ref. sili zagotavlja robustno vodenje. 6 Zaključek V članku smo predstavili eksperimentalni sistem linearnega haptičnega vmesnika. Pokazali smo tako posamezne gradnike kot celotno arhitekturo sistema haptičnega vmesnika. Na kratko je bilo predstavljeno tudi vodenje in zajem vseh potrebnih podatkov. Eksperimentalni rezultati so pokazali, da je možno z ustrezno strojno implementacijo na eni strani in na drugi strani z vključitvijo robustnega vodenja doseči bolj kvalitetno upodobitev različnih haptičnih kod. 7 Literatura [1] Ueberle, M.W.: Design, Control, and Evaluation of a Family of Kinesthetic Haptic Interfaces. PhD thesis, Technische Universität München (2006). [2] T.A. Kern (ed.): Engineering Haptic Devices, Springer -Verlag Berlin Heidelberg (2009). [3] M. Mihelj, J. Podobnik: Haptics for Virtual Reality and Teleoperation. Intelligent Systems, Control and Automation: Science and Engineering, vol. 64, Springer (2012). [4] M. Čurkovič, R. Pučko, M. Golob, A. Hace: Dvoosni krmilnik za hitro eksperimentiranje v robotskih aplikacijah, UM-FERI, AIG'17, Maribor, Slovenija (6. - 7. april 2017). [5] T. Sirithanapipat: Haptic Interface Control Design for Performance and Stability Robustness. PhD thesis, Nashville, Tennessee (May, 2006). [6] A. Hace, M. Golob: Chattering-Free Sliding Mode Control Algorithm for a Haptic Throttle Lever, IECON 2016 -42nd Annual Conference of the IEEE Industrial Electronics Society, Florence, Italy (23-26 Oct. 2016). [7] C. Richard: On the Identification and Haptic Display of Friction. PhD thesis (August 2000). Generalizirani robotski algoritmi za specifične funkcije pri kuhanju - rezanje Jan Vodopivec1, Matej Amon2, Sebastjan Šlajpah1, Marko Munih1, Matjaž Mihelj1 'Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana 2 BSH Hišni aparati d.o.o. Nazarje, Savinjska cesta 30, 3331 Nazarje E-pošta: jv8 760@studentuni-lj.si Generalized robotic algorithms in cooking -food slicing Abstract. In this paper we present one of the possibilities of using robots in kitchen. In collaboration with BSH Hišni aparati we focused on slicing different types of food with a robot. Motion capture system was used to track human motion and JR3 sensors to measure forces and torques while slicing different types of food. Captured trajectories were processed and implemented on a Motoman MH5 robot. Minimum-jerk-based interpolation was used in combination with impedance control. The robot successfully repeated slicing of food. 1 Uvod Družba zadnja leta stremi k avtomatizaciji in robotizaciji na praktično vseh področjih. V trgovinah uporabljamo samopostrežne blagajne, avtomobilska podjetja razvijajo samovozeča vozila, pri rehabilitaciji pomagajo robotski mehanizmi, travo lahko kosi robotska kosilnica, kmalu pa bodo verjetno v uporabo prišli tudi roboti, ki bodo pomagali pri raznih hišnih opravilih in v kuhinji. Podjetja, kot je Moley Robotics, že razvijajo kuhinjske pomočnike, ki naj bi nas ob kuhanju opazovali, nato pa znali sami poustvariti te jedi [1]. V sodelovanju s podjetjem BSH Hišni aparati smo na primeru rezanje hrane preverili možnost uporabe robotov pri kuhinjskih opravilih. Kuharski strokovnjak naj bi predstavil pravilne tehnike rezanja, pridobljene podatke pa bi uporabili za vodenje robota, da bi ta lahko samostojno narezal različne vrste živil. Poudarek je torej predvsem na zajemu in analizi trajektorij pri človeškem rezanju različnih vrst hrane ter implementaciji naloge na robotu. 2 Metodologija 2.1 Merjenje aktivnosti človeka Meritve človekovih aktivnosti so bile osnova za načrtovanje trajektorij in analizo sil, ki nastopajo pri rezanju. Večina raziskav se osredotoča predvsem na sekanje hrane, vendar s tem poškodujemo hrano, rez pa ni čist. Zato ljudje uporabljamo tudi strig, torej vlečenje noža pri rezanju, na ta način pa se tudi snov lažje reže [2]. Pri pravilnem rezanju nastopata zato dve komponenti sile, normalna in tangencialna na površino rezane snovi. Za meritve sta bila uporabljena dva senzorja sil in navorov JR3 50M31A-I25, sistem za merjenje gibanja Optotrak Certus in sedem inercialnih merilnih enot. Slika 1. Postavitev merilnega mesta z označenim koordinatnim sistemom, pogled od zgoraj. Optotrak Certus kameri sta bili postavljeni na desni strani delovnega mesta, saj je merjenec nož med rezanjem držal v desni roki. Koordinatni sistem je bil poravnan z robovi mize, os z je bila usmerjena pravokotno iz mize (Slika 1). Slika 2. Postavitev markerjev in merilnih inercialnih enot. Levo postavitev na merjencu, desno zgoraj postavitev skupka markerjev na deski, desno spodaj postavitev skupka na nožu ter prikaz obeh desk, pod katerimi sta JR3 senzorja. Na merjenca je bilo nameščenih 14 optičnih markerjev. Iz skupkov treh markerjev določimo pozicijo in orientacijo ploskve v prostoru, na kateri so nameščeni. Skupki so bili nameščeni na podstavku za desko, na nožu, dlani in na hrbtu, po en marker pa na komolcu in rami (Slika 2). Inercialne merilne enote so bile postavljene na dlani, podlakti in nadlakti obeh rok, še ena pa je bila na prsnici. Senzorja sil in navorov sta bila postavljena pod dvema rezalnima deskama (Slika 2), s ciljem ločitve sil, s katero pritiskamo ob držanju hrane in s katero potiskamo nož in režemo. Na levi deski smo hrano držali, na desni pa rezali. ERK'2018, Portoroz, 127-130 151 2.2 Analiza trajektorij Rezali smo več različnih živil (Slika 3): bučke, jabolko, por, korenje in banano. Živila smo rezali na kolobarje in rezine, por pa smo tudi sekljali. 2.2.1 Rezanje bučke na kolobarje Slika 3. Primeri rezanja: a) rezanje bučke na kolobarje in b) sekljanje pora. Trajektorije pri rezanju so na Sliki 4 prikazane v ravnini y — z, za lepši prikaz je iz skupkov treh markerjev na dlani in nožu prikazan samo po eden. Pri rezanju se je komolec premikal približno premo naprej in nazaj, z dlanjo smo med posameznimi rezi delali krožne gibe, nož pa je pol reza opravil skupaj z dlanjo in naredil polkrog, drugo polovico reza pa se je premikal premo, saj se je z delom rezila dotikal deske. Položaj markerja na rami je v prostoru miroval, zato na grafu ni prikazan. Potrebno je poudariti, da navkljub trudu, da bi rezali tako, kot je pokazal šolani kuhar, tehnika rezanja še vedno ni bila povsem pravilna. V našem primeru smo rezali navpično navzdol in izvajali večjo silo v smeri osi z, nato pa naredili poteg v smeri y, namesto da bi cel rez izvedli s potegom noža v smeri y. 400 F 300 B S 200 150 100 50 -200 0 100 y / mm 200 300 samem držanju bučke silo zazna tudi desni senzor, medtem ko se pri rezanju sila prenese tudi na levi senzor. Za optimalno meritev bo potrebno nož opremiti s senzorjem sil in navorov. Normalna sila je delovala na ploščo v nasprotni smeri osi z, zato je bila njena vrednost negativna. V nadaljevanju bomo govorili o večjih in manjših silah, pri čemer bo govora o absolutnih vrednostih sile v posamezni smeri. Sila Fz v normalni smeri med posameznim rezom narašča do maksimalne vrednosti. Takrat je bila bučka prerezana in po dvigu noža se sila zmanjšuje (Slika 5a). Vsota sil obeh senzorjev je enaka teži živila in sili, s katero smo pritiskali na desko med držanjem živila. Med rezanjem smo opazovali tudi tangencialno silo Fy, ki deluje v smeri potega noža (Slika 5b). Zaradi prej opisane napačne tehnike rezanja se tangencialna sila pojavi šele proti koncu reza, saj smo šele takrat naredili poteg z nožem, nato narašča do konca potega, ko pa nož dvigujemo z deske, zopet pade na prvotno vrednost. Ob pravilnem rezanju naj bi se sicer normalna in tangencialna sila pojavili skupaj. a) £ - b) 10 1 2 3 4 5 6 t / s Slika 5. a) Sili Fz, b) sili Fy in c) kot med nožem in mizo dN pri rezanju bučke na kolobarje. Graf na Sliki 5c prikazuje kot noža glede na mizo. Med rezanjem živila je kot približno konstanten, ob koncu reza pa smo nož privzdignili in s tem za nekaj stopinj povečali kot. Pri pripravi na nov rez smo nož zopet postavili v začetni položaj, kot pa je bil približno konstanten do novega dviga. Rezali smo tudi jabolko na rezine, rezultati pa so podobni kot pri rezanju bučke. Slika 4. Trajektorije pri rezanju bučke na kolobarje v ravnini 2.2.2 Sekljanje pora y — z. Bučko smo držali na levi deski, z nožem pa rezali na desni deski. Sila Fz z levega senzorja je obarvana z modro, sila desnega pa z rdečo (Slika 5a in 5b). Sile se preko bučke prenašajo z ene deske na drugo. Tako že pri Pri sekljanju pora (Slika 3b) smo uporabljali samo desno desko, saj smo eno roko položili na zgornji rob rezila, z drugo pa držali za ročaj. Prikaz trajektorij na Sliki 6 je v tem primeru omejen na 13 ponovitev giba. Med sekljanjem smo enkrat 20 -4 350 250 0 100 152 dvignili nož in ga ponovno postavili na desko. Opazimo, da imamo povsem drugačne trajektorije kot pri rezanju bučke; dlan in nož premikamo po manjšem območju. 350 - 250 Jj 200 * 150 100 50 -200 -100 0 100 y / mm 200 300 3 4 t / s Med posameznimi točkami robotski krmilnik izvede interpolacijo. Uporabljena je zaprtozančna oblika metode minimalnega časovnega odvoda pospeška (»minimum-jerk trajectory«) [3]. Enačba (1) opisuje omenjeno metodo v prostoru stanj: xr 0 1 ir = 0 0 60 36 xr. D3 D2 xr 0 xr + 0 Xr_ 60 D3. (1) Slika 6. Trajektorije pri sekljanju pora v ravnini y — z. Kot se relativno glede na silo Fz zopet spreminja podobno kot pri prejšnjem primeru (Slika 7). Ko nož pritisnemo ob desko in s tem odsekamo del pora, sila naraste na maksimalno vrednost, kot pa se v tistem trenutku približa 0°, saj je nož skoraj poravnan z desko. Ko nož dvigamo, se sila zmanjša, kot pa se poveča. a) 10 [ y 0L b) Slika 7. a) Sila Fz in b) kot med nožem in mizo dN pri sekljanju pora. 2.3 Načrtovanje trajektorij za robota Ker naj bi robot premikal nož podobno kot človek pri rezanju oziroma sekljanju, smo se osredotočili na trajektorije noža. Preizkusili smo rezanje na kolobarje, kjer so trajektorije noža podobne elipsam. Izmerjeno trajektorijo smo interpolirali, ker so bili markerji občasno zakriti. Nato smo trajektorijo (Slika 4, zelena trajektorija), razdelili na posamezne reze in pogledali, kateri rez je bil najpočasnejši, torej je imel največ vzorcev. Vsem ostalim rezom smo nato s kubično interpolacijo z zlepki povečali število vzorcev, da se je ujemalo z najpočasnejšim. Iz posameznih rezov smo izračunali povprečno trajektorijo, na enak način pa hkrati tudi pripadajoče kote pri rezih. Kot rezultat postopka smo pridobili povprečno trajektorijo s pripadajočim povprečnim kotom noža v danem trenutku glede na mizo. Temu smo dodali še gib v stran po vsakem posameznem rezu, s tem smo dobili gibanje še vzdolž živila, rezultat rezanja pa so na ta način kolobarji. Število točk za zapis trajektorije je lahko majhno, pomembno je le zajeti spremembe smeri trajektorije. kjer sta z xr označeni točka na interpolirali trajektoriji in Xf želena lega robota na osnovi meritev človeka, D = tf — t pa je razlika med časom, ko naj bi robot dosegel točko xf in trenutnim časom. Interpolacija zagotavlja gladko trajektorijo, s spreminjanjem časa tf pa je mogoče vplivati na hitrost izvajanja naloge. 2.4 Vodenje robota Rezanje je bilo izvedeno z robotom Motoman MH5 s šestimi prostostnimi stopnjami, nosilnostjo 5 kg in ponovljivostjo ±0,02 mm (Slika 8). Izdelali smo prijemalo za nož, s katerim smo nož pritrdili na senzor, ki je bil na vrhu robota. Implementirano je bilo impedančno vodenje (Sliki 9), trajektorija pa je bila podana kot referenca v zunanjih koordinatah. Želeni položaj in orientacija xr skupaj z merjenima silo in navorom dotika h so vhodne vrednosti v impedančno enačbo, ki generira želeno lego podajnosti xc, uporabljeno kot reference za vodenje gibanja robota. Lega podajnosti je enaka želeni legi xr, če sta sila in navor dotika enaka nič, sicer pa se trajektorija prilagodi glede na izmerjene sile in navore ter impedančne parametre. Prednost impedančnega vodenja je ravno vnos podajnosti pri sledenju lege. V primeru, da želimo povsem podajen mehanizem, lahko nastavimo parameter togosti Kp na 0. Z večanjem togosti Kp povečujemo togost robota in posledično natančnost sledenja želeni trajektoriji tudi pod vplivom zunanjih sil. Slika 8. Robot Motoman MH5 s pritrjenim nožem. Impedančno *cl Vodenje a Inverzna U Mehanizem/ vodenje xe> lege dinamika okolje Slika 9. Vodenje na osnovi aktivne impedance [4]. 300 x f 0 0 2 5 6 7 153 3 Rezultati rezanja z robotom Z robotom smo preizkusili rezati banano, kot referenčno trajektorijo pa smo uporabili trajektorijo rezanja bučke na kolobarje. Banana je bila uspešno narezana na želene 3 mm debele kolobarje (Slika 10), kar dokazuje, da lahko robot uspešno izvede nalogo. a) Slika 10. Banana, rezana z robotom. 0,04 b) 5 0 5 "5 k,Mo "15 "20 6 4 2 0 m\ I jjJJL/uu^ 0 2 4 6 8 10 12 14 16 18 20 t / s Slika 13. a) Sila Fz in b) navor M med rezanjem z večanjem hitrosti robota. 4 Zaključek 0,14 0,13 S N 0,12 0,11 0,10 0,42 0,43 0,44 0,45 0,46 0,47 0,48 0,49 x / m Slika 11. Robotsko sledenje trajektoriji: z modro je označena referenca, z rdečo pozicija robota. Na Sliki 11 sta prikazani referenčna in dejanska trajektorija pri rezanju z robotom. Sledenje ni povsem natančno, kar je posledica podajnosti impedančnega vodenja. Zaradi tega lahko z nožem zadenemo tudi v rezalno desko, sistem pa je še vedno stabilen. Preizkusili smo tudi rezanje, pri katerem je robot povečeval svojo hitrost in rezal vse hitreje. Posledica impedančnega vodenja je v tem primeru odstopanje dejanske trajektorije od referenčne (Slika 12). S pospeševanjem sta se večala tudi sila Fz (Slika 13a) in navor (Slika 13b), ki sta sicer s parametrom Kp do neke mere nastavljiva. 0,44 0,45 0,46 0,47 0,48 0,49 0,50 0,51 0,52 0,53 x / m Z meritvami aktivnosti človeka smo pridobili uporabne podatke, ki smo jih analizirali in implementirali na robotu. Robot reže z zadovoljivo natančnostjo in zanesljivo. Projekt je mogoče nadaljevati, saj ostaja še ogromno nerešenih izzivov, zaradi katerih roboti še niso primerni kuhinjski pomočniki. Optimizirali bi lahko merjenje človeškega rezanja, predvsem z zmanjšanjem števila merilnih naprav. Koristno bi bilo tudi merjenje sile preko noža, ter s tem pridobitev dejanske sile, s katerimi nož reže. Po optimizaciji merjenja bi bilo potrebno meritve ponoviti s kuharskim mojstrom, ki bi rezal na različne načine. Kot primer, rezanje surovega mesa je povsem drugačno od rezanja na kolobarje, kar bi bilo potrebno upoštevati in najti ustrezno rešitev za implementacijo na robotu. Izboljšali bi lahko tudi metode pridobivanja trajektorij in izvajanja na robotu, na primer z dinamičnimi primitivi gibanja DMP (ang. Dynamic movement primitives) [5], s čimer bi imeli trajektorije opisane z enakim številom parametrov, ne glede na čas izvajanja. Literatura [1] Moley - The world's first robotic kitchen [Online]. Dosegljivo: http://www.moley.com/. [Dostopano 11. 1. 2018]. [2] E. Reyssat et al., "Slicing softly with shear," Physical review letters, vol. 109, št. 24, str. 244301, 2012. [3] S. Šlajpah. »Vodenje štirih robotov v arhitekturi dvoročnega teleoperacijskega sistema.« Univerzitetno diplomsko delo, Fakulteta za Elektrotehniko, Univerza v Ljubljani, Ljubljana. 2011. [4] M. Mihelj, T. Bajd, M. Munih, Vodenje robotov, Ljubljana: Založba FE in FRI, 2011. [5] Stefan Schaal, "Dynamic Movement Primitives - A Framework for Motor Control in Humans and Humanoid Robotics" Adaptive Motion of Animals and Machines, str. 261-280, 2006. Slika 12. Rezanje z večanjem hitrosti robota. 0,10 0,08 0,06 154 Hapticno vstavljanje igle z uporabo teleoperacije Žiga Bizjak, Tim Kambic, Robi Ravnikar, Damjan Panic, Janez Podobnik, MatjaZ Mihelj, Marko Munih, Sebastjan Slajpah Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-mail: zb3444@student.uni-lj.si, tk2777@student.uni-lj.si, robi.ravnikar@gmail.com, dp0678@student.uni-lj.si, janez.podobnik@fe.uni-lj.si, matjaz.mihelj@fe.uni-lj.si, marko.munih@fe.uni-lj.si, šebaštjan.šlajpah@fe.uni-lj.ši Teleoperated needle insertion Haptic needle insertion is one of the key components in haptic teleoperation surgery. In this paper we present the use of one Omega.7 (master device) and three Phantom robots connected with a triangle platform (slave device) to insert a needle into lower arm. Pseudoadmittance control was implemented to control the pose of the slave device and also to provide feedback to master device. In addition, an augmented reality was used to further enhance the performance of the operator. The application was divided into six phases: initialisation, moving slave device from the workspace, selecting working point, moving slave robot to that working point, hold robots, and teleoperation. The performance of the presented system was tested on a mockup (artificial arm with integrated tube representing vein) by successfully extracting fluid from artificial vein. 1 Uvod Uporaba teleoperacijsko vodenih robotov v medicini je zelo pomembna, saj nam omogoča izvajanje preciznih gibov, ki presegajo zmoZnosti kirurga. Z robotom pa lahko uporabnikove gibe ustrezno zmanjšamo, omejimo delovno območje, zmanjšamo nevarnost postoperativnih zapletov ter posledično vplivamo na samo trajanje ho-spitalizacije po operaciji. Vstavljanje igle je naloga, ki prikazuje uporabnost robotskega sistema v medicini. Na temo robotov v medicini je objavljenih kar nekaj del [1, 2, 3]. Teleoperacija predstavlja delo na daljavo, kjer tako delo kot razdalja nista natancno dolocena. Razdalja se lahko se nanaša na fizicno razdaljo, kjer je operater locen od robota z veliko razdaljo, lahko pa pomeni tudi razliko v merilu, kot na primer pri kirurških mikromanipulator-jih za operacije na mikroskopski ravni. Teleoperacijski sistem je sestavljen iz treh delov: upravljalne naprave, izvršne naprave ter regulatorja. Primer teleoperacijskega sistema v medicini je kirurški sistem DaVinci [4]. Uporaba teleoperacijskih sistemov je smotrna v primeru, kjer je manipulacija nevarna za cloveška zivljenja ali pa fizicne zahteve za manipulacijo presegajo cloveške zmoznosti. Teleoperacija se uporablja v vesoljskih in vojaških aplikacijah, varnostnih sistemih, podvodnih vozilih in v medicini [5]. Robotski sistemi in slikovne tehnologije so revoluci-onirale medicinsko področje. Kljub naprednku pa algoritmi umetne inteligence zaenkrat se niso sposobni člove-ske razsodnosti in intuicije, zato je pomembno sodelovanje kirurga z robotom. Tako izvedeni posegi so manj in-vazivni ter pozitivno vplivajo na postoperativne procese. V tem delu bomo predstavili aplikacijo za teleoperacijsko robotsko vstavljanje igle v zilo. Operater preko hapticne povratne zanke dobi informacijo o kontaktu igle in zile, kot pomoc operaterju pa je v aplikacijo vkljucena tudi obogatena resnicnost. 2 Metodologija Teleoperacijski sistem sestavljata upravljalna in izvrsna naprava. Upravljalno napravo predstavlja hapticni robot Omega.7 (Force Dimension, Švica). Robot ima 7 pro-stostnih stopenj (tri pozicije, tri orientacije ter se dodatno prijemalo na vrhu). Robot ima aktivno vodeno pozicijo in prijemalo, medtem ko je orientacija vrha robota zgolj pasivna. Robot lahko generira hapticno povratno informacijo samo v obliki sil v smeri x, y in z. Izvrsna naprava je sestavljena iz treh robotov Phantom, ki so preko trikotne plosce povezani v paralelni mehanizem (glej sliko 1). Vsak robot ima tri prostostne stopnje, medtem ko ima plosca sest prostostnih stopenj. Roboti so zaradi varnosti na plosco pritrjeni preko magnetnih sfericnih sklepov. Dodaten nivo varnosti pa predstavlja varnostno stikalo, ki mora biti pritisnjeno celoten cas izvajanja gibanja. V sistem je vkljucen se projektor NEC VT570 z lo-cljivostjo 1024 x 768 slikovnih pik. Sluzi kot prikazovalnik za obogateno resnicnost. Izvrsna naprava je opremljena s kirursko kanilo, za simulacijo pacientove roke pa je uporabljena plasticna roka opremljena s cevko, ki predstavlja zilo. Celotno vodenje je narejeno v programskem paketu Matlab/Simulink, vizualizacijapaje realizirana s programsko knjiznico OpenCV Vzorcna frekvenca robotskega sistema znaša 5 kHz. 2.1 Direktna in inverzna kinematika izvršne naprave Globalni koordinatni sistem x0-y0-z0 izvršne naprave (plo-šce) sovpada s koordinatnim sistemom robota Phantom 1. Homogene transformacijske matrike Hi, H2 in H3, ki ERK'2018, Portoroz, 127-130 155 Slika 1: Shema sistema (upravljalna in izvršna naprava) z označenimi koordinatnimi sistemi povezujejo globalni koordinatni sistem plosče z globalnimi koordinatnimi sistemi posameznih Phantom robotov (enačba (1)), smo določili na podlagi znane konfiguracije sistema. [ Pjh 1 Î H [ ph Pjh 1 (1) Pi Ppftl + Ppft2 + PphS 3 (2) XR ZR yr Rin Pph2 — P phl |Pph2 — Pphl | Pphl — Pph3 XR X |Pph1 — Pph3 | ZR X Xr [ XR yR ZR ] (3) (4) (5) (6) Pphl Pph2 Pph3 r, 4_ ^Ên r _i i y in i 0 J-Mn Pin + 2 o a/3 2 3 0 ] (7) R-in [ b 3 0 ] (8) Pin + —y-R-in [ 0 I o ]T . (9) Dobljene pozicije vrhov robotov Phantom smo z uporabo matrik Hi, H2 in H3 pretvorili iz globalnega koordinatnega sistema izvrsne naprave v globalne koordinatne sisteme posameznih robotov Phantom (enačba (10)). r phP t L Pph 1 H"M pt ph 1 (10) Phantom roboti, pritrjeni na plosčo, tvorijo enako-stranični trikotnik. Določanje direktne kinematike plosče temelji tako na računanju geometrije trikotnika. Vrh izvrsne naprave je definiran v sredisču plosče. Pozičija vrha pin je določena z enačbo (2). 2.2 Regulacija lege izvrsne naprave Za znano lego izvrsne naprave lahko določimo zeljene polozaje robotov Phantom (ph1pr,phi, ph2Pr,ph2, ph3p enačbe (7)-(9)). Za regulačijo polozaja vrha Phantom robotov smo implementirali proporčionalno-diferenčirni (PD) regulator v zunanjih koordinatah na osnovi tran-sponirane Jačobijeve matrike Jjh. PD regulator lahko zapisemo z Vektorji pph1, pph2 in pph3 so pozičije vrhov posameznih robotov Phantom izrazene v globalnem koordinatnem sistemu (slika 1). Orientačija vrha izvrsne naprave Rin je določena s sistemom enačb (3)-(6). F ph Tph Kp (phPr,ph — PhPp^ — KdPhPph (11) jThFph (12) Inverzna kinematika izvrsne naprave ni direktno vezana na sklepne spremenljivke robotov Phantom, ampak se prevede na določitev pozičije vrha posameznega robota Phantom. Glede na geometrijo (plosča je enako-stranični trikotnik s straničo a =150 mm) se jih določi kot kjer sta Kp in Kd proporcionalno in diferencirno ojacenje regulatorja (določena eksperimentalno), phpph hitrostvrha robota Phantom, rph pa določeni navori za posamezne motorje. 2.3 Psevdoadmitancno vodenje Teleoperacija na podlagi psevdoadmitance [6] temelji na uporabi virtualnega posrednika. Pri tem izvrsna naprava sledi virtualnemu posredniku, sama izvrsna naprava pa na upravljalno enoto vpliva preko hapticne povratne povezave. Virtualni posrednik se giblje kot funkcija razlike med pozicijama upravljalne (p„„) in izvrsne (pin) naprave. Za vodenje izvrsne naprave dolocimo silo virtualnega posrednika Fp z uporabo PD regulatorja F Fp Kpp(pun pin ) + KdpP (13) Z uporabo admitancnega modela zapisanega v Laplaceo-vem prostoru P F s2 + bs + k (14) s 156 lahko določimo hitrost virtualnega posrednika pp 13 p _F.,. ms2 + bs + k p (15) Pri tem veličine m, b in k opisujejo dinamične parametre sistema (maso, dušenje in togost). Hitrost virtualnega posrednika pp predstavlja tudi referenčno hitrost izvršne naprave pr,in = pp, po integraciji pa tudi Zeljeno lego Pr,in J Pr,indt. Sila, ki deluje na virtualnega posrednika Fp, nam pred stavlja tudi nasprotno povratno silo, s katero izvršna naprava vpliva na upravljalno enoto Fun model vodenja je prikazan na sliki 2. —Fp. Celoten Slika 2: Model teleoperacijskega sistema na podlagi psevdoad-mitance s haptično povratno zanko 2.4 Gibanje upravljalne naprave Pri zagonu aplikacije kot tudi med samo aplikacijo je potrebno upravljalno napravo postaviti v zeleno lego. Ker ima upravljalna naprava aktivne samo pozicije, rotacije pa so pasivne, lahko vodimo samo pozicijo vrha pun. Trajektorijo gibanja generiramo po metodi minimalnega casovnega odvoda pospeška [7]. Spremembo pospeška upravljalne naprave pun lahko zapišemo z enacbo (16) Ko manipulatorja dosezšeta zacšetni legi, se sistem avtomatsko premakne v stanje začetna lega. ZAČETNA LEGA: V tem stanju se izvršna naprava odmakne na rob delovnega prostora. S tem omogocimo, da lahko bolnik varno namesti roko v za to predvideno delovno obmocje. Upravljalna naprava v tem primeru sledi gibanju izvšne naprave. Koncno lego ter hitrost izvršne naprave se lahko prilagodi glede na potrebe aplikacije. Ko izvršna naprava doseze zeljeno lego, se aktivira stanje nastavitev tocke. NASTAVITEVTOCKE: To stanje vkljucuje obogateno resnicnost. Z upravljalno napravo premikamo virtualno tocko (rdeco piko), ki sejo s projektorjem projecira v delovni prostor. Z postavitvijo pike dolocšimo grobo pozicijo delovne tocke oziroma zile. Ker je premikanje tocke zgolj ravninski problem, so premiki upravljalne naprave mozšni zgolj v ravnini (premiki v vertikalni smeri so one-mogoceni). Naslednje stanje se aktivira, ko uporabnik zapre prijemalo na vrhu upravljalne naprave. PREMIK K TOCKI: V tem stanju se vrh izvršne naprave (igla) premakne nad prej dolocšeno delovno tocško. Izvršna naprava se premika zgolj po horizontalni ravnini. Ker smo v prejšnjem stanju upravljalno napravo uporabili za nastavitev delovne tocške, je potrebno po koncšanem gibanju izvrsšne naprave upravljalno napravo postaviti v zacetno lego, legi obeh naprav pa ustrezno resetirati in poravnati. Ko vrh izvršne naprave doseze delovno tocke, se aktivira stanje ohranjanje lege. OHRANJANJE LEGE: To stanje je pogojeno z uporabo prijemala na vrhu upravljalne naprave. Le-to je uporabljeno kot stikalo: ko je prijemalo odprto, je signal Sun = 0, ko pa je prijemalo zaprto, je signal Sun = 1. 9 D1 36 60 jj2'Pun 3 Pttn) (16) INICIALIZACIJA kjer je p f,un koncna pozicija upravljalne naprave, D pa razlika med dolocenim casom izvedbe naloge tf in trenutnim ze pretecenim casom t (D = tf — t). Zeljeno lego upravljalne naprave dolocimo s trojno integracijo odvoda pospeška prj[in = fff Pund t d t d t. Z implementacijo PD regulatoija izračunamo potrebno silo Fun, da premaknemo upravljalno napravo v zšeleno lego Fun Kpun(pr,un pun) Kdunpun • (17) To silo pošljemo na krmilnik robota Omega, ki poskrbi za ustrezen premik robota. 3 Aplikacija Aplikacija robotskega vstavljanja igle v zilo je razdeljena na šest stanj. Diagram prehajanja stanj je prikazan na sliki 3. INICIALIZACIJA: Na zacetku aplikacije se tako upravljalna kot izvrsšna naprava postavita v svoji zacšetni legi. ZACETNA LEGA NASTAVITEV TOCKE PREMIK K TOCKI OHRANJANJE Sun = 1 LEGE S„„ = 0 TELEOPERACIJA Slika 3: Diagram prehanja stanj pri izvajanju naloge. Med stanjema ohranjanje lege in teleoperacija preklapljamo s prijema-lom na vrhu upravljalne naprave (odprto prijemalo Sun = 0 oziroma zaprto prijemalo Sun = 1). p 157 To stanje je aktivno ob odprtem prijemalu. V tem stanju tako upravljalna kot izvršna naprava držita trenutni legi. Uporabi se ga takrat, ko je premikanje izvršne naprave nezaželjeno, npr. ko je igla vstavljena v žilo. TELEOPERACIJA: Ob preklopu prijemala izvršne naprave v Sun = 1 se aktivira teleoperacijsko vodenje. V tem primeru je lega vrha upravljalne naprave posredna referenca za gibanje izvršne naprave, kot je to opisano v poglavju 2.3. Vodimo lahko tako pozicijo kot orientacijo izvršne naprave, preko hapticne povratne informacije pa uporabnik tudi čuti sile interacije izvršne naprave. To stanje se uporablja za izvedbo ustrezne manipulacije igle (vstavljanje igle v zilo, odstranitev igle). Z uporabo prijemala se lahko preklaplja med tem stanjem in stanjem ohranjanje lege. Za namen aplikacije smo pripravili tudi preprost uporabniški grafi cni umestnik, ki omogoca zagon in ustavitev aplikacije. 4 Razprava Aplikacijo smo testirali s pomocjo umetne roke in teko-cine, kije predstavljala umetno kri. Prvi operaterje skrbel za zagon aplikacije in za nadzor varnostnega stikala na robotih Phantom, drugi operater pa je preko robota Omega vodil izvajanje teleoperacije. Na sliki 4 je prikazana uspešna izvedba aplikacije vstavitve igle v roko in pretok tekocine v posodo, namešceno na platformi. Prednost arhitekture teleoperacije je, da lahko operater spremeni merilo premikov, kar pomaga pri natancnosti vstavljanja igle. V aplikaciji lahko nastavljamo merilo premikov tako za rotacijske kot za translacijske premike. V testnih pogojih je celoten proces vstavljanja igle trajal okoli 30 sekund. Samo izvajanje bi sicer lahko pohitrili, ampak smo zaradi varnostnih razlogov pustili daljše case izvajanja dolocenih stanj. Medicinski roboti verjetno ne bodo nikoli prevzeli nalog zdravstvenega osebja, vendar pa so jim lahko v veliko pomoc. S pravo uporabo aplikacije lahko rešimo veliko problemov v moderni medicini. Robotsko vstavljanje igle bi lahko uporabili v kontaminiranih podrocjih, v podrocjih kjer medicinsko osebje fizicno ne more dostopati do bolnika ali pa bi lahko aplikacijo razšili na uporabo pri operacijah. Primer uporabe bi lahko bil vstavljanje infuzije kesonskim delavcem, ki delajo globoko pod morjem na velikih pritiskih, kjer zdravstveno osebje nima dostopa. Primer uporabe je tudi bolnik v karanteni, kjer ne zelimo dodatno izpostavljati zdravstvenih delavcev. V tem primeru bi lahko vbrizgali zdravila ali vzeli kri z robotom. Zaradi uporabe umetne roke in zile, bi za realno uporabo morali nekatere parametre (predvsem za togost sistema) na novo oceniti in preizkusti. Stanja smo dolocili z ozirom na varnost bolnika, kar posledicno pomeni, da je vecina gibov izvedenih z majhno hitrostjo. Graficni vsmesnik za operaterja je zelo enostaven in omogoca le vklop in izkop sistema, kar pomeni, da uporabnik ne potrebuje dodatnega izobrazevanja za uporabo aplikacije. Za to aplikacijo je bila uporabljena genericna oblika Slika 4: Slika uspešnega testa na umetni roki. Na sliki vidimo realizacijo postavitve igle ter ciljne posode za tekočino. Na roki je vidna tudi umetna Žila, s pomočjo katere smo tekočino pripeljali do mesta vboda. platforme. Za realno aplikacijo bi bilo potrebno realizirati namenskega robota za izvajanje medicinskih operacij. Prav tako bi bilo potrebno prilagoditi tudi ostale sklope sistema. Čeprav je ta aplikacija zgolj testiranje principa delovanja, predstavlja osnovo za prihodnje aplikacije namenjene v medicinske namene in aplikacije, kjer je teleoperacije potrebna za uspešno izvedbo. Literatura [1] F. T. Čullen, Technology and Terrorism. Routledge, 2017. [2] P. F. Hokayem and M. W. Spong, "Bilateral teleo-peration: An historical survey," Automatica, vol. 42, no. 12, pp. 2035-2057,2006. [3] N. Abolhassani, R. Patel, and M. Moallem, "Needle insertion into soft tissue: A survey," Medical Engineering and Physics, vol. 29, no. 4, pp. 413-431,2007. [4] G. H. Ballantyne and F. Moll, "The da Vinci telero-botic surgical system: the virtual operative field and telepresence surgery," Surgical Clinics of North America, vol. 83, no. 6, pp. 1293-1304,2003. [5] S. Lichiardopol, "A survey on teleoperation," Technische Universitat Eindhoven, DCTreport, 2007. [6] J. J. Abbott and A. M. Okamura, "Pseudo-admittance bilateral telemanipulation with guidance virtual fixtures," The International Journal of Robotics Research, vol. 26, no. 8, pp. 865-884,2007. [7] A. Piazzi and A. Visioli, "Global minimum-jerk trajectory planning of robot manipulators," IEEE Transactions on Industrial Electronics, vol. 47, no. 1, pp. 140-149,2000. 158 Design and preliminary testing of a pneumatic exoskeleton for walking assistance Marko Jamsek1,2, Jan Babic1 1 Laboratory for Neuromechanics and Biorobotics, Department of Automation, Biocybernetics and Robotics Jozef Stefan Institute, Ljubljana, Slovenia 2 Jozef Stefan International Postgraduate School, Jamova cesta 39, 1000 Ljubljana, Slovenia E-mail: marko.jamsek@ijs.si Abstract Tripping is one of the major causes of falls in elderly people. Injuries that originate from falls usually have severe consequences on their quality of life. The best solution for this problem is prevention of such traumatic events which proves to be a challenge in the current state of elderly care. This is why we are in an urgent need of developing new solutions that could help in the prevention of falls and fall related injuries in this ever increasing part of our entire population. One possible preventive solution could be the use of assistive devices such as exoskeletons. In this work we present a design of a pneumatic exoskeleton for walking assistance primarily designed as a platform to study active control solutions for preventing falls caused by tripping. We also present a preliminary evaluation of the exoskeleton capabilities on affecting the gait characteristics of a subject during walking. 1 Introduction Population ageing is one of the many global issues we are facing. In 2012, 11.5 % of the global population was older than 60 years and by 2050 this percentage is projected to increase to 21.8 % [1]. This is a problem because elderly people usually require more assistance for even simple everyday tasks and they are more prone to injuries. One of the big causes of injuries in elderly people are falls which usually have severe consequences on their quality of life [2]. And one of the main causes of falls is tripping [3, 4, 5]. The mechanisms of tripping have been widely explored in the past [6, 7]. In order to prevent a fall caused by a trip the support limbs have to counteract the angular momentum gained by the body during impact with the obstacle. This can be achieved with the adaptation of different recovery strategies. In the work of Eng et al. [8] two such strategies were described which depended on the part of the swing cycle the perturbation occurred. If the perturbation occurred in late swing, a lowering strategy of the swing leg was adopted followed by a step of the contralateral limb to overtake the obstacle. When perturbations occurred in early swing phase (at approximately 20 % of the swing phase) an elevating strategy was adopted by the subjects. This comprised of a flexion of the swing limb and extension of the stance limb. This strategy was further investigated in the works of Pijnappels et. al. [9, 10]. Here more focus was put towards the support limb and its contribution in the control of angular momentum after tripping. It was shown that the support limb provided subjects with more time and clearance for proper positioning of the recovery limb. Additionally the support limb also restrained or reduced the angular momentum ob the body acquired when tripping. Further work with elderly people showed that some individuals cannot properly reduce the angular momentum after a trip [11, 12]. This was due to a lower rate of change of moment generation in all support limb joints. One possible solution for this could be the use of an as-sistive exoskeleton to provide additional torque to counteract the uncompensated forward momentum. Only one similar device was successfully presented in the work of Monaco et. al. [13] where an assistive exoskeleton was used to help regain stability of a human after a slip. In this work we present the design and preliminary testing of an exoskeleton that will provide a platform to explore possibilities of assistance in tripping scenarios. Additionally we present an early investigation in the effects of the exoskeleton on the kinematics of human gait. Figure 1: Subject wearing the exoskeleton. Main components: a) chest strap, b) hip strap, c) leg strap, d) Xsens sensors, e) adjustable hip mount, f) encoder, g) pneumatic actuator. ERK'2018, Portoroz, 127-130 159 2 Design and experiment We developed a bilateral powered pneumatic exoskele-ton. The main mechanical components are presented in Figure 1. They include a belt, chest strap, leg strap, adjustable hip mount and an actuation mechanism on each side. The actuation mechanism consists of a bidirectional pneumatic cylinder and a rotational joint (This is more clearly visible in the schematic diagram in Figure 3). The Xsens sensors (Xsens, Enschede, Netherlands) are not an integral part of the exoskeleton but were used in this work to evaluate the effects of the exoskeleton on the human kinematics. 2.1 Actuation mechanism The applied pressure in the cylinder chambers produces torque at the hip to aid in the flexion or extension of the legs. Due to the constraints of the mechanism's kinematic chain the torque in the hip joints can be calculated based on the angle of the rotational joint and the applied pressure. The angle is measured by rotational encoders mounted in these joints. Whereas the pressure in the cylinders is measured with the feedback loop provided by the valves used for controlling the cylinders. 2.1.1 Calculations of insertion points One of the most important design aspects of such an actuation mechanism are the insertion points of the cylinder. These define the maximum torque produced at the rotational joint and the range of motion of the mechanism. An analytical formulation difficult to achieve for such a problem. This is why a numerical approach was used to calculate the optimal solution. At first, the requirements for the range of motion were set to —20° to 110°. Then different cylinders were taken into account from a list of possible configurations of length and cylinder width. Cylinders of same lengths with different diameters provide more force, but are also heavier. Our optimization procedure included weight as a parameter for finding the best possible solution. After the mathematical calculations we designed a 3D model of the actuation mechanism to check for mechanical constraints that would limit the construction of the mechanism (thickness of the rotational joint, encoder mount, etc.). The model is presented in Figure 2. After minor modifications of the insertion points placement in the modelling environment, the parts for the fixation of the cylinders were 3d printed. This enabled us to achieve the desired mechanism characteristics. Figure 2: 3D model of the actuation mechanism. Pneumatic Figure 3: Schematic diagram for the exoskeleton control. 2.2 Control The schematic diagram for the exoskeleton control is presented in Figure 3. Each actuation mechanism is controlled with two pneumatic valves (Norgren VP50-10SBJ1-11H00, Norgren Ltd, Blenheim Way, Fradley Park, Lichfield) which enable precise control of the pressure in both cylinder chambers. These valves are controlled via analog signals (0-10 V) and provide an analog output (0-10 V) for feedback of the current pressure. The controller was developed in Simulink Real-Time (Mathworks, Nat-ick, MA, United States) and runs on a PC 104 with added connectivity of a Sensoray 526 card (SENSORAY, 7313 SW Tech Center Dr., Tigard, OR 97223). 2.2.1 Modes of operation Our exoskeleton actuation mechanism and controller enables us to use different modes of operation. The ex-oskeleton can be operated in a torque control mode or position control mode. In torque mode the pressure in the cylinders is controlled so that for the given position of the mechanism the torque produced by the mechanism remains constant. A position control scheme was also tested where the pressure in the cylinders was controlled to position the mechanism at a given angle. However, this mode of operation was not used in this work. Figure 4: Human model in MVN Analyze software. a) hip angle of left leg 160 2.3 Experiment For preliminary testing of the exoskeleton capabilities we tested the system on one subject. During normal walking with a constant speed on a level floor the left actuator was activated to aid in the flexion of the left leg (4 bar input pressure in the bottom chamber). The activation occurred in mid swing phase at a 10 degree flexion of the left leg (measured with the encoder) and was randomly enabled or disabled. The duration of the activation was set to 200 ms. During the experiment, kinematic data of the subject were recorded using the Xsens Awinda motion capture system (Xsens, Enschede, Netherlands). Figure 4 shows the human model during the experiment. Ad-hoc post-processing of the acquired data was performed in Matlab (Mathworks, Natick, MA, United States). Data from the controller (encoder angles, pressure in cylinder chambers) and data exported from MVN Analyze (human joint angles) was synchronized and combined. 3 Results One of the most critical aspects of control is timing. In our set-up we analysed the weakest link, to asses the capabilities of the exoskeleton. One of the most important characteristics for the actuation mechanism is the delay of the pneumatic valves after an input signal. There are two key temporal characteristics that are of interest in our system. The delay time (the time it takes for the output to Figure 6: Mean and standard deviation of 20 responses to the 4 bar step signal. td marks the delay and tr marks the response time. reach 10 % of the end value) and the response time (the time it takes for the output to reach 90 % of the end value) of the pneumatic valves. We measured this based on the mean and standard deviation of 20 responses to the 4 bar step input signal used in our experiment. For the pneumatic actuation mechanism used in this experiment we measured a delay time td of 35 ms and a response time tr of 100 ms. The graph is presented in Figure 6. Data from the Xsens MVN Analyze software was used to evaluate the effect of the exoskeleton on gait kinemat- Figure 5: Joint angles for flexion/extension at the hip and knee joint. 161 ics. To achieve this we first had to synchronize various steps in time space. We did this by selecting points in the gait cycle when the value of the left leg hip angle crossed the threshold of -5 degrees with a positive gradient. This threshold corresponds to the activation of the exoskeleton but can be used to compare steps when the exoskeleton was disabled as it marks the same period of the gait cycle. This points established the start of a 600 ms time window for each step. We randomly selected 20 of this time windows for when the exoskeleton was activated or deactivated to compare the effects of the ex-oskeleton. For these two sets of steps we calculated the mean and standard deviation of the hip and knee angles for flexion/extension of both legs. We present this data graphically in Figure 5. Time zero represents the time when the exoskeleton was activated. As mentioned before, the activation occurred only for the left leg when it was in the swing phase. It can be clearly seen that there is a significant change in the hip joint angle for the left leg. A smaller change is also noticeable for the left knee angle. If we compare the delay from Figure 6 to the delay in Figure 5 the latter appears longer. This is due to the mass inertia of the legs as the applied torque in the joint needs to accelerate the leg in order for a change in the hip angle to be visible. On the right hand side graphs we observe that there was no significant effect on the hip and knee angles of the right leg. This was expected as the right exoskeleton actuator remained passive throughout the experiment. However this information is useful as it shows, that we can compare two separate sets of steps in the experiment. 4 Conclusion The presented exoskeleton prototype is capable of inducing significant changes in the gait cycle in a controlled manner. This will enable further experiments and validation of various control algorithms for walking assistance or other tasks such as forward bending, squatting etc. A more precise measuring of the system parameters would be needed (delay and response times at different pressures and for different volumes) in order to conclude if the exoskeleton is viable for tripping prevention i.e. if it could react fast enough. This will be addressed in future work, where the exoskeleton design and experimental setup will be further optimized. Acknowledgement This work was supported by the European Union's Horizon 2020 through the SPEXOR project (contract no. 687662); AnDy project (contract nr. 731540); and by the Slovenian Research Agency (research core funding no. P2-0076). The authors would like to thank Rok Goljat for developing the pneumatics control setup. 5 References [1] United Nations Population Fund (UNFPA) and and Hel-pAge Internationa, Ageing in the Twenty-First Century: A Celebration and A Challenge, 2012. [Online]. Available: https://www.unfpa.org/sites/default/files/pub-pdf/ Ageingreport.pdf [2] M. C. Nevitt, S. R. Cummings, and E. S. Hudes, "Risk Factors for Injurious Falls: A Prospective Study 1991, Vol.46. No. 5. M164-I70," Journal of Gerontology: MEDICAL SCIENCES, vol. 46, no. 5, pp. M164-M170, 1991. [3] P. W. Overstall, A. N. Exton-Smith, F. J. Imms, and A. L. Johnson, "Falls in the elderly related to postural imbalance." BMJ, vol. 1, no. 6056, pp. 261-264, jan 1977. [Online]. Available: http://www.bmj.com/cgi/doi/ 10.1136/bmj.1.6056.261 [4] W. P. Berg, H. M. Alessio, E. M. Mills, and C. Tong, "Circumstances and consequences of falls in independent community-dwelling older adults," Age and Ageing, vol. 26, no. 4, pp. 261-268, 1997. [5] B. S. Roudsari, B. E. Ebel, P. S. Corso, N. A. M. Moli-nari, and T. D. Koepsell, "The acute medical care costs of fall-related injuries among the U.S. older adults," Injury, vol.36, no. 11, pp. 1316-1322, 2005. [6] a. M. Schillings, B. M. van Wezel, T. Mulder, and J. Duy-sens, "Muscular responses and movement strategies during stumbling over obstacles." Journal of neurophysiology, vol. 83, no. 4, pp. 2093-2102, 2000. [7] A. M. Schillings, B. M. Van Wezel, and J. Duysens, "Mechanically induced stumbling during human treadmill walking," Journal of Neuroscience Methods, vol. 67, no. 1,pp. 11-17, 1996. [8] J. J. Eng, D. A. Winter, and A. E. Patla, "Strategies for recovery from a trip in early and late swing during human walking," Experimental Brain Research, vol. 102, no. 2, pp. 339-349, 1994. [9] M. Pijnappels, M. F. Bobbert, and J. H. Van Dieen, "Contribution of the support limb in control of angular momentum after tripping," Journal ofBiomechanics, vol. 37, no. 12, pp. 1811-1818, 2004. [10] M. Pijnappels, M. F. Bobbert, and J. H. Van Dieen, "How early reactions in the support limb contribute to balance recovery after tripping," Journal ofBiomechanics, vol. 38, no. 3, pp. 627-634, 2005. [11] M. Pijnappels, M. F. Bobbert, and J. H. Van Dieen, "Push-off reactions in recovery after tripping discriminate young subjects, older non-fallers and older fallers," Gait and Posture, vol. 21, no. 4, pp. 388-394, 2005. [12] M. Pijnappels, M. F. Bobbert, and J. H. Van Dieen, "Control of support limb muscles in recovery after tripping in young and older subjects," Experimental Brain Research, vol. 160, no. 3, pp. 326-333, 2005. [13] V. Monaco, P. Tropea, F. Aprigliano, D. Martelli, A. Parri, M. Cortese, R. Molino-Lova, N. Vitiello, and S. Micera, "An ecologically-controlled exoskeleton can improve balance recovery after slippage," Scientific Reports, vol. 7, no. May, pp. 1-10, 2017. [Online]. Available: http://dx.doi.org/10.1038/srep46721 162 Kalibracija inercijskih merilnih enot brez dodatne merilne opreme Jernej Puc, Janez Podobnik, Marko Munih Laboratorij za robotiko Fakulteta za elektrotehniko, Univerza v Ljubljani Tržaška 25, 1000 Ljubljana E-posta: jp4745@student.uni-lj.si, {janezp, marko} @robo.fe.uni-lj.si Abstract This paper covers a full calibration process of all sensors incorporated in an inertial measurement unit (IMU): the gyroscope, accelerometer and magnetometer. Sensor characteristics are discussed and different methods presented with respect to the specifics of each sensor. The presented methods assume no aid of additional measuring equipment and inevitably differ in complexity; particular focus is given to the scalar calibration of the magnetometer, as it is the most complex. Method effectiveness is compared to two approaches from literature. 1 Uvod Inercijske merilne enote (ang. inertial measurement unit - IMU) predstavljajo pomemben merilni sistem na področju sledenja gibanja, kjer se na podlagi meritev različnih količin, kot so kotna hitrost, pospešek in gostota magnetnega polja, ter metodami za senzorno fuzijo določa orientacijo objekta glede na globalni koordinatni sistem. Navadno vsebujejo triosni ziroskop in pospeškometer ter pogosto magnetometer. Poleg širše uporabnosti je razvoj majhnih in lahkih naprav (ang. microelectromechanical systems - MEMS) omogočil različne aplikacije v povezavi z določanjem gibanja pri človeku in stroju [1, 2]. Tovrstni problemi, kot je npr. določanje orientačije z integriranjem kotne hitrosti, so občutljivi na nekompen-zirane napake, zato je kalibračija senzorjev ključnega pomena; kot bo vidno pri rezultatih, imajo lahko meritve z nekalibriranimi senzorji velika odstopanja, ki lahko vodijo do napačnega končnega rezultata. Kalibračija IMU naprav pojmuje določitev parametrov, s katerimi poskušamo zmanjšati vpliv sistemskih pogreškov vseh senzorjev, ki napravo sestavljajo (ziroskop, pospeškometer, magnetometer). Želimo jo izvesti v do-glednem čšasu na načšin, ki je preprost in v praktičšnem smislu ponovljiv. Potreba je torej po kalibračiji brez dodatne merilne opreme, kjer se zahteva zadostno zanesljivost uporabljenega analitičšnega pristopa. Žaradi pomembnih razlik med značšilnostmi senzorjev se do kalibračije posameznega senzorja v splošnem pristopa različno. Cilj prispevka je podati praktično osnovo za samostojno kalibračijo IMU naprav v čeloti. Predstavljenim modelom senzornih napak sledijo opisi pristopov kali-bračije in ovrednotenje učinkovitosti glede na primerljive metode iz literature. 2 Metodologija Slika 1 prikazuje primer IMU naprave uporabljene v tem prispevku. Osi lokalnega koordinatnega sistema so skladne z osmi posameznega senzorja in prikazane glede na zaščitno ohišje. Slika 1: Realen IMU s pripadajočimi osmi. V idealnem primeru so izmerjeni odzivi ziroskopa (wm), pospeškometra (am) in magnetometra (hm) odvisni le od merjenih količin (kotna hitrost pospešek a in gostota magnetnega polja, v literaturi pojmovana kot magnetno polje h), kjer vsi simboli predstavljajo tridimenzionalne vektorje. Zaradi raznih lastnosti uporabljenih materialov in neizogibnih napak pri izdelavi navedena razmerja odstopajo, kar se lahko glede na vsak senzor ponazori z ustreznim matematičšnim modelom. 2.1 Viri senzornih napak Poleg visokofrekvenčnega šuma, ki se pojavlja pri vseh senzorjih, so glavni viri napak še skalirni faktor (2.1.1), neortogonalnost (2.1.2) in ničelni odmik (2.1.3). 2.1.1 Skalirni faktor V splošnem občutljivosti senzorjev niso enake za vse osi. Za skaliranje po oseh zato namesto navadne sorazmerne konstante uvedemo diagonalno matriko S s skalirnimi ko-efičienti K: S = diag(Kx, Ky, Kz) (1) ERK'2018, Portoroz, 127-130 163 V primeru magnetometra vpliv prisotnih feromagne-tnih materialov popaci zunanje magnetno polje, kar se odraža v odzivu senzorja (ang. soft iron error) [3]. Sh je tako polna kvadratna matrika velikosti 3 x 3. 2.1.2 Neortogonalnost Odstopanja v poravnavi osi senzorjev z lokalnimi osmi enote privedejo do neortogonalnosti; prava vrednost za eno os tako ni odvisna le od odziva tiste osi, temvec vsebuje tudi manjšinska prispevka preostalih. Vsak stolpec v matriki neortogonalnosti N je vektor treh vrednosti, ki za pripadajočo os določa opisano razmerje glede na lokalni koordinatni sistem: N = [nx z ] (2) h„ Sw Nw u + bw + eu S0N0 a + b0 + ea ShNh h + bh + eh (3) (4) Matriki S in N zdruzimo v transformacijsko matriko A-1 in zanemarimo šum e. S preoblikovanjem enacb (3), (4) in (5) izpostavimo priblizke pravih vrednosti, ki predstavljajo kalibrirani senzorni odziv: U3 ■ Aw (um - bw) Aa (am - ba) (6) (7) h = Ah (hm - bh) (8) Problem kalibracije tako privede do iskanja ustreznih transformacijskih matrik in nicelnih odmikov za posamezni senzor na enoti. 2.3 Kalibracija Ziroskopa Za zanesljivo dolocitev iskane transformacijske matrike Aw bi potrebovali stabilen vir referencne kotne hitrosti, kar pomeni uporabo drage merilne opreme in daljših me-ritvenih postopkov. Zavoljo preprostosti smo primorani privzeti idealno sorazmerje, ponazorjeno s konstanto K. Preostane nam povprecenje meritev v mirovanju za kompenzacijo nicšelnega odmika: 2.4 Kalibracija pospeškometra Pri dolocšanju odziva na pospesšek imamo zanesljivo referenco vedno na voljo; gravitacijsko polje Zemlje je stabilno in za omejeno geografsko območje prakticno nespremenljivo. Navadno je vektor polja g normaliziran in definiran z enoto g = 9.80665m: g = [0 0 1]T g (10) Glede na definicijo (10) so prave izhodne vrednosti v lokalnem sistemu pri vsaki orientaciji enote dolocljive s preprostimi trigonometricnimi zvezami. Za kalibracijo obicajno zadostujejo meritve v vseh 6 medsebojno pravokotnih polozajih; tako je pricakovani odziv ene osi vedno ±1, preostalih dveh pa 0. Pri tem je kljucno mirovanje za vsako os, sicer se v meritve vnašajo motnje translacij-skega pospesška. V nadaljevanju izhajamo iz enacbe (7) in jo s substitucijo ba = Aa ba preoblikujemo v linearno vsoto, da za pricakovano vrednost n-tega vzorca an velja: 2.1.3 Ničelni odmik Nicšelni odziv zaradi specificšne narave senzorja izkazuje odmik od nicšelne vrednosti, npr. zaradi vpliva magneti-ziranih feromagnetnih materialov (ang. hard iron error). Nicelni odmik predstavimo z vektorjem b, ki naceloma ni povsem konstanten; poleg nakljucšnega nihanja ima zlasti odmik ziroskopa znatno temperaturno odvisnost, ki ni predstavljena v opisanem modelu, zaradi katere prihaja do casovnega lezenja. 2.2 Modeli senzornih odzivov Glede na opisano so odzivi za posamezni senzor predstavljeni sledece: Aa am,n ba (11) To nam omogoča, da sestavimo matrični sistem oblike X/ = y: -1 -1 -1 Aa b*T (5) / (12) Sistem je predolocen in zato nima enolicne rešitve. Rešimo ga po linearni metodi najmanjših kvadratov, tako da ga preoblikujemo na minimizacijski problem, kjer za A T1 išcemo priblizek /: b / = argmm||X/ - y||2 (13) Numerično stabilne rešitve problema najmanjših kvadratov vključujejo ortogonalne razcepe. Rešitev poiščemo npr. s singularnim razčepom (ang. singular value decomposition - SVD) [4]. Iz enačb (11), (12) in rešitve /, podane po vrstičah in stolpčih, sledi: Aa — 01:3,1:3 ba A- /3T3!4 (14) (15) b, (9) 2.5 Kalibracija magnetometra Z nadzorovano referenco homogenega magnetnega polja bi zveze med primerjanimi vektorji lahko zopet iskali neposredno po metodi najmanjših kvadratov, a se brez merilne opreme zanasšamo na Zemljino magnetno polje. Slednje je zaradi relativne šibkosti (red 10-5 T) zlahka preglasšeno z elektromagnetnimi motnjami. Poleg tega ima horizontalno in vertikalno komponento, kar dodatno otezuje pristop. Pri kalibraciji tako izhajamo iz privzete konstantne magnitude Zemljinega magnetnega polja Hmag in stremimo k njeni ohranitvi, zato gre v tem smislu za skalarno kalibracijo. n n y n xi a a a xi a a a x y z a a a x z U m a m 164 Idealno je norma oz. skupna velikost senzornega odziva h ne glede na orientacijo magnetometra konstantna: hh = -M-1 n (22) = konst. = Hm mag (16) Posledično bi morali vzorci magnetometra, vzeti v različnih orientacijah, opisovati sfero s polmerom, ki je enak podani magnitudi (cca. 47, 95 ^T), in središčem v lokalnem koordinatnem izhodišču. ax + by + cz + 2fyz + 2gxz + 2hxy + 2px + 2qy + 2rz + d = 0 (17) Koeficiente poiščemo po splošnem algoritmu za pri-leganje vzorcev na elipsoid (Li [5]). Ta se prevede na resševanje matricšnih sistemov po metodi najmanjsših kvadratov; rezultat končnega sistema sta lastna vektorja vi in v2, ki skupaj tvorita vektor koeficientov kvadrične enačbe v, na podlagi katerih je elipsoid v celoti določen: v = [a b c f g h p q r d]T (18) Preoblikovanje izraza (17) v matrični zapis s substitucijami hx = x, hy = y in hz = z privede do oblike: hT Mh + hT n + d kjer so h, M in n definirani kot: 0, hx a h g p h = hy , M = h b f , n = q g f c r (19) (20) Izraz (19) dopolnimo do popolnega kvadrata, da izrazimo središče (iskani odmik bh): hT Mh + hT n + d = (h - bh)T M (h - bh) - C , (21) kjer velja: C bT M- bh d (23) V nadaljevanju določimo skalirne vrednosti, vsebovane v iskani transformacijski matriki A. Velja, da lastni vektorji matrike M (h>) predstavljajo polosi danega elip-soida (ang. principal axis theorem [6]): (hVfc,e - bh)T M (hAa t c - bh) = A (hVt,o - bh)T (hAa t o - bh) = A ||(hAa,t,o - bh)||2 = C Polosi so tako določene z izrazom (25): (24) sa,b,c (hK,b,c - bh) C A a,b,c (25) Slika 2: Sfera glede na koordinatno izhodišče, kot jo opisujejo vzorci magnetometra pred in po kalibraciji. Kot je razvidno iz slike 2, je v skrajnem primeru oblika sfere popačena, njeno središče pa od izhodišča znatno odstopa, zato je smiselna umestitev na povrsšino elipsoida s premaknjenim središčem. V primeru znanih polosi se lahko te po velikosti izenači in ustrezno skalira, središče elipsoida pa prestavi v lokalno izhodišče, s čimer dobimo pričakovano sfero. Pri določanju elipsoida izhajamo iz enačbe drugega reda v prostoru treh spremenljivk, ki v splosšnem opisuje različšne kvadričšne povrsšine: Dolzine polosi izenačimo glede na poljubno polos, npr. sa. Skalirna matrika S je tako: '1 0 0 ^ 0 Sb 0 0 ^ 1 0 0 v^b 00 'y/ATa 0 0 " 0 vAb 0 0 0 VAC Aa - ^ (26) Za pravilno skaliranje polosi poravnamo z osmi koordinatnega sistema; spremenimo orientačijo elipsoida in ga po skaliranju vrnemo v prvotno lego. Orientacijo elipsoida določajo orientacije pripadajočih polosi oz. normalizirani lastni vektorji matrike M; slednji tvorijo stolpce rotacijske matrike V, ki opisuje omenjeno orientacijo. Pravilno skaliranje tako dosezemo z zaporedjem operacij VSVT. Za kvadratno matriko M z ortogonalnimi lastnimi vektorji, ki tvorijo stolpce matrike V velja [7]: M = VAV- (27) Z upoštevanjem izrazov (26) in (27) ter lastnosti rotacijskih matrik V-1 = VT lahko zapišemo: VSVT VA 2 V A 1 — M 2 (28) V zadnjem koraku uposštevamo zvezo (25) in skali-ramo polmer sfere na zeleno dolzino, npr. Hmag ali 1. Poleg izraza (22) sta tako določena oba kalibracijska parametra: Ah Hm mag VC M 2 (29) 3 Rezultati Sledi ovrednotnje metod za kalibracijo pospeškometra in magnetometra na podlagi primerjave z dvema metodama iz literature (Merayo [8], Frosio [9]). Prva temelji na kalibraciji s prileganjem vzorcev na elipsoid, medtem ko je druga iterativna in sloni na Gauss-Newtonovi optimizaciji. 1 S 1 165 3.1 Ovrednotenje kalibracije pospeškometra Opaznejša odstopanja se pojavljajo pri RMS vrednostih napake (ang. Root-Mean-Square). Vzrok odstopanj leZi v izračunanih ničelnih odmikih, ki RMS vrednostim dodaja izrazito enosmerno komponento; primerjanim metodam pritiče večje odstopanje kot pri navadnem skaliranju, kalibracija po metodi najmanjših kvadratov pa daje boljše rezultate. Tabela 1: RMS napake odstopanj kalibriranih meritev od pričakovanih vrednosti; skupno in po oseh. LSTSQ označuje opisani postopek po metodi najmanjših kvadratov, Merayo [8] in Frosio [9] pa sta primerjani metodi. Razdelek brez predstavlja originalne rezultate brez kalibračije. RMS brez LSTSQ Merayo Frosio x-os 0.06343 0.00640 0.08447 0.04743 y-os 0.03357 0.00620 0.03284 0.08435 z-os 0.04977 0.02745 0.03312 0.03339 vse osi 0.08734 0.02886 0.09649 0.10237 3.2 Ovrednotenje kalibracije magnetometra Pri ovrednotenju smo obravnavali magnetometer z velikim ničelnim odmikom kot najslabši mozni primer. Netipično veliki odmiki so se pri iterativni metodi ([9]) izkazali za problematične; konvergenca ni bila nikoli dosežena, zato je metoda na sliki 3 izpuščena. Uj 0.0 -0.5 2000_4000_6000_SOOO_WC00 Tabela 2: RMS odstopanja norme od pričakovanega radija konstantne dolžine 1 (eh = 1 — ||h||) za vse pristope pred in po predhodnem odštevanju povprečja. Li [5] se nanaša na opisano metodo, Merayo [8] in Frosio [9] sta primerjani metodi, razdelek brez pa se navezuje na originalne rezultate brez kali-bračije. RMS brez Li Merayo Frosio Pred Po 0.62576 0.24736 0.05010 0.04122 0.04220 0.03997 0.04372 0_2000_4000_6000_SOOO_10000 0 2000 4000 6000 8000 10000 n Slika 3: Napaka norme vzorčev eh = 1 — ||h|| v odvisnosti od n-tega vzorča hn. eLi [5] označuje opisani postopek, eMerayo [8] primerjano metodo in ebrez originalni rezultat na podlagi nekalibriranih vzorčev. Pomanjkljivost iterativne primerjane metode seje odpravilo tako, da se je skupini vzorčev predhodno odsštela njihova povprečna vrednost; končni odmik je tako določala vsota povprečja in novo izračunani odmik. Za ustrezno primerjavo je bil enak pristop uporabljen tudi pri drugih metodah. Iz tabele 2 je razvidno, da je predhodno odštevanje povprečšja povzročšilo splosšno izboljsšanje; napake so pri vseh metodah manjše oz. vsaj manj razpršene. Po izboljšanju opisana metoda le še minimalno odstopa od primerjanih. 4 Zaključek V prispevku je bil predstavljen hiter in praktičen postopek za čelotno kalibračijo inerčijskih merilnih enot. Podani so bili modeli senzornih napak in glede na spečifične lastnosti vsakega senzorja opisani pristopi za njihovo kalibračijo. Obe metodi, ki sta bili primerjani s pristopoma iz literature, sta dosegli zadovoljive rezultate in predstavljata smiselno alternativo na področju enostavne kalibračije. Od teh se je dokaj neposredna uporaba metode najmanjših kvadratov pri kalibračiji pospeškometra kljub očšitni preprostosti izkazala za posebej natančšno in robustno. Na podlagi rezultatov je bil utemeljen tudi sklep, da z majhnim posegom pred kalibračijo v obliki odštevanja povprečne vrednosti od skupine vzorčev dosezemo vidne izboljsšave. Literatura [1] O. J. Woodman. An introdučtion to inertial navigation. University of Cambridge, Computer Laboratory, Tečhničal Report UCAM-CL-TR-696. Avgust, 2007. [2] J. Podobnik, M. Munih. Določanje transformačije med triado optičnih markerjev in inerčijsko merilno enoto. ERK'2014, Portoroz, A:103-106. [3] V. Renaudin, M. H. Afzal, G. Lačhapelle. Complete Tri-axis Magnetometer Calibration in the Magnetič Domain. Hindawi Publishing Corporation, Journal of Sensors. Vol. 2010. [4] B. Plestenjak. Razširjen uvod v numerične metode. DMFA - zalozništvo (2015), ISBN 978-961-212-264-5. [5] Q. Li, J. G. Griffiths. Least Squares Ellipsoid Spečifič Fitting. IEEE Computer Sočiety, Pročeedings of the Geome-trič Modeling and Pročessing 2004. [6] J. N. Franklin. Matrix theory. Dover Publičations (2012), seč. 4.6, 95. ISBN 978-048-641-179-8. [7] H. Abdi. Eigen-dečomposition: eigenvalues and eigenveč-tors. SAGE Publičations, Enčyčlopedia of Measurement and Statističs (2007), 304-308. [8] J. M. G. Merayo, P. Brauer, F. Primdahl, J. R. Petersen, O. V. Nielsen. Sčalar čalibration of večtor magnetometers. IOP Publishing, Meas. Sči. Tečhnol. 11 (2000), 120-132. [9] I. Frosio, F. Pedersini, N. A. Borghese. Autočalibration of MEMS Aččelerometers. IEEE Transačtions on Instrumentation and Measurement, Vol. 58, No. 6, June 2009. 166 Implementation of autonomous SLAM on a robotic rover using ROS Guillaume Peter1, Tadej Petric2 and Andrej Gams2 1IUT of Cachan, Université Paris-Sud, 9 Avenue de la Division Leclerc, 94234 Cachan, France 2 Department of Automatics, Biocybernetics and Robotics, Jožef Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia E-mail: guillaume.peter@u-psud.fr, andrej.gams@ijs.si Abstract In this paper we present an implementation of autonomous rover-robot navigation. This robot makes mapping using a SLAM system implemented with ROS. The robot can make a map of the environment and navigate in this environment without the intervention of a human. Initial implementation results are presented. 1 Introduction Autonomous and mobile robots are the future of robotics in our world. To operate in the world, robots need to navigate in unknown environments. In order to locate themselves, robots typically use SLAM (Simultaneous Localization And Mapping) algorithms. Robots equipped with such technology are able to explore and understand a complex environment. Programing of these robots is very complicated, as many things have to be taken into consideration. Building on previously developed and published tools makes it easier. This is the reason why we are using ROS (Robot Operating System) [1, 2]. This powerful and professional tool permits to make a link between simulation, programming and 3D visualization. This paper presents the implementation of autonomous rover navigatoin behavior using a SLAM system within ROS. In Section 2 the meta-operating system called ROS is presented with its advantages and weaknesses. In Section 3 we discuss autonomous mapping with different approaches. Finally, Section 4 presents initial implementation results in the Piborg rover. 2 ROS ROS is an open source software used to easily develop robotic applications. It was created in 2007 and since then the ROS community is getting bigger every year. It is being used by independent programmers and companies because of its compatibility. When you program with ROS you have the choice between C++ and Python and for the OS it's compatible with Linux, Mac OS and Windows. When a project combines numerous micro controllers with a lot of different actions, their communication and integration quickly become overly complex. ROS simplifies all the communications between micro controllers and computers. Like this the calculation part is made by the computer and the micro controller makes only basic calculations. This environment is a multi-task environment with a very precise architecture. First, you need to run a master program which will setup the environment. Then we can run tasks in the environment. A task is called a node and it is used to communicate with another node. It can be used for different actions like read a sensor, control motors or make calculations. All the nodes can subscribe and publish topics. A topic is a named bus over which nodes exchange information. For example, a node which reads a temperature sensor will publish a topic with the value of the temperature. The big advantage of ROS is all the nodes can access to the topics, so data communications are easier. But ROS doesn't have only advantages. This software need specific version of the OS. You can't adapt the version of ROS to your OS, you have to adapt your OS to the version of ROS. It's a very big forward jump concerning robotic interfaces but it takes some times to understand it clearly. 3 Autonomous Mapping 3.1 Hardware Figure 1: The small robot Piborg used in the project. Figure 1 shows the robot we used for the project. To ERK'2018, Portoroz, 127-130 167 implement a SLAM algorithm we need a mobile robot. For the chassis of the robot we used a simple 6 wheels rover which turns by inverting the rotation of the wheels. Like this the robot can turn on the spot. Each wheels is equipped with a motor in order to have total control of the robot. To control the motors we use a Piborg card communicating in I2C with a Raspberry 2B, hence the name of the robot is Piborg [4]. This controller is a 2 channels controller. You can choose the way of rotation and the speed of rotation with it. In order to make the mapping we use a rotating range finder lidar sensor. It is situated at the top of the robot. This sensor is a distance sensor that measures distances on a plane around it. From the position of the sensor we can create a map with the collected data. We are using the Hokuyo UTM-30LX [3] which has a distance range of 30 meters and a resolution of 0.25 degree on 270 scanning degrees. It communicates by a USB cable with the Raspberry and the Raspberry is linked to the computer through a local network (for now ethernet cable, but we will make it wireless in the next implementation). We can summarize the connections with the schematic presented in Fig. 2. It shows the schematic of the connection between all the materials Figure 2: Schematic of the connections. In Fig. 2, Ordinateur stands for computer, Controleur de moteurs is the Motor controller, and Moteurs are Motors. The cloud symbolizes Internet, because you need to be connected to Internet. 3.2 Software Concerning ROS we are using ROS Kinetic which is known as a very stable version. On the computer we are using Ubuntu 16.04 and in the Raspberry we are using Ubuntu Mate. At the beginning of the project we first tried with Raspian for the Raspberry but quickly we concluded it was not appropriate for the application. In order to visualize the output of the sensor for mapping we use the vizualization software package Rviz. 3.3 SLAM A robot equipped with a SLAM system is an autonomous robot. The objective is not limitied only to avoiding a wall. The robot must also understand its environment and how it can navigate in this environment. In the next section we give a brief overview about 2D navigation. Here we do not take in the consideration the z axis, since the robot navigates on a flat surface. The first step is to create a map with the robot. The robot needs to know everything about its environment. It will explore and scan it with the lidar. Result of a scan is shown in Fig. 3. The software regroups all the collected data with the scans and builds a map in 2D. Figure 3: Result of a scan in Rviz The robot needs numerous scans because like this it can confirm clearly the position of a wall or of an object. The robot needs to create a closed space, on the map there is no open door. To improve the quality of the mapping it's recommended to put encoders on the wheels. Once it's made, the robot knows its environment but it needs to know its own position as well. It will navigate in a closed space with walls and objects, so the size of the robot is very important. A free space is not all the time a space where the robot can go. When the robot will move in the environment the lidar will scan all around it. Then the software will compare the obtained data with the map and find the position of the robot. This technique works better in an irregular space. In a square room with nothing on the ground, everything is too similar. Each scan has to indicate a unique space. The SLAM method with ROS can be used easily because it can exploit the main feature of ROS - re-usability of robotic software. We just need to change some parameters. The tool named "hector slam" [6, 5] permits to create maps and we can visualize it with Rviz. Odome-try is taken in consideration by the software so it's very complete. But without odometry, if you don't have a referential point in a square room the localization doesn't work. 4 Results In this part we discuss more about the project. What we have made, how we have made and how we want to exploit the project? 168 As you can see on the schematic in Fig. 4, our implementation relies on 3 nodes and 2 topics. We decided to separate the tasks to be more efficient. Figure 4: Schematic of architecture of the program. The hokuyo sensor node is a task taken from the libraries of ROS. It permits to exploit correctly the lidar connected by the USB cable. This node publishes some topics, like the topic named scan. So the first node creates a link between the sensor and the Raspberry. The node named laser listener is a subscriber of the topic scan. It receives different data concerning the scans made by the sensor. Every 0.25 degrees made of the rotating sensor, the distance to objects around the robot is measured. Every revolution of the lidar the topic scan contains an array, each case corresponding to a distance taken at a precise angle. It is in the node laser listener we will detect objects in front of the robot. The robot needs to create a map and to not touch walls or objects. So if we see something in front of the robot it will turn in another direction. But it is not the only task made by the laser listener node. The two nodes we have seen are implemented in the Raspberry. As said, the raspberry cannot make all the calculations to make the mapping. It would take too much time and we need a fixed screen where we can see the robot moving in the map. So we need to transmit all the data from the raspberry to the computer. For this we use an ethernet cable. Like this all the data are received on the computer and we can create and visualize the map in real time. The software Rviz is able to locate the topic scan as if it was running on the computer. It is one of the reason why ROS is very helpful. Once you are connected to the device you can visualize data as if everything is one system. The topic chatter permits to read the data of the sensor and the node listener permits to receive them. Concerning the project, we are creating the map from the collected data as you can see in the Fig. 5 The final target of this is to put the robot in a room. Then with the SLAM system it makes a map of the room and we save it. But we want an autonomous navigation from the robot. Our goal is to put the robot in the room and on the software we select a point to go on the map. The robot should autonomously navigate to that position using the collected data from the sensor. Note that no odometry data will be present. The final goal is to build up the knowledge to implement similar autonomous behavior on a more advanced mobile robotic platform. References Figure 5: Visualization of a map on Rviz [2] ROS,http://www.willowgarage.com/papers/ros-open-source-robot-operating-system [3] Hokuyo, https://www.hokuyo-aut.jp/ [4] Piborg, https://www.piborg.org/ [5] SLAM, https://husarion.com/tutorials/ros-tutorials/6-slam-navigation/ [6] SLAM, https://www.mrpt.org/ [7] Ubuntu MATE, https://ubuntu-mate.org/raspberry-pi/ [1] ROS, http://www.ros.org/ 169 Razvoj strojne in programske infrastrukture za module rekonfigurabilne robotske celice Jakob Purg1, Timotej Gaspar2 lFakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, 2Institut "Jožef Stefan", Jamova cesta 39, 1000 Ljubljana E-pošta: jakobpurg@gmail.com Developement of hardware and software infrastructure for reconfigurable robot cell modules Frequent product launches and changes in demand require rapid adaptations in industrial manufacturing. Small and medium sized enterprises (SMEs) are feeling the arising pressure the most as they tend to fine tune their production in a "just-in-time" manner. To tackle these problems there is an increase of research in the field ofrecon-figurable robotic cells. Those robot workcells can have different peripheral equipment. In this paper we present peripheral modules that can be quickly plugged or unplugged to the cell with the custom made "plug-and-produce" (P&P) connector. The connector allows the pass-through of pressured air, electrical power and communication via Ethernet. This allows the modules to receive all the necessary for their operation and at the same time they are connected to the cell's software network. To ease the access to the functionalities of these modules, we built a web Server that runs on a micro-computer on board of the module. The web server was built using NodeJS and JavaScript programming language so that it can be easily transferred to different modules and set working with as little modifications as possible. 1 Uvod Globalni trg je zelo kompetitiven in pritiski po zagotavljanju dovoljsne proizvodnje ter zagotavljanje kakovosti so za proizvodno usmerjena podjetja visoki. Te pritiske se bolj občutijo majhna oz. srednje velika podjetja z maloserijskimi proizvodnjami. Prav v tovrstnih podjetjih pa je avtomatizacija redka saj je vlozek sredstev vanjo večinokrat previsok. Visoki stroski pa ne izhajajo le iz visokih cen strojev ampak tudi iz porabljenega časa za postavitev avtomatizirane proizvodne linije [1]. Da bi priblizali avtomatizacijo in robotiko tudi takim podjetjim je v porastu trend razvoja prilagodljivih oz. rekonfigu-rabilnih robotskih celic. To so celice, ki jih je mogoče relativno hitro postaviti, je njihovo obliko enostavno prilagoditi in so v principu modularne. Primere implementacije modularnih celic lahko vidimo tudi kot trend h kateremu se giblje razvoj rekonfigu-rabilnih celic [2, 3,4]. Dober primer take implementacije predstavi Chen v svojem delu, ki se osredotoca na iskanje optimalnih konfiguracij modulov celice za izvajanje specifične naloge [5]. Robotska celica, ki je predmet tega dela, je bila razvita s sledenjem smernicam za rekonfigurabilne robotske celice v sklopu projekta "ReconCell" [6, 7]. Celica je zgrajena iz ogrodja, ki omogoca hitro postavitev ter re-konfiguracijo. Ima dva robota UR-10m, oba opremljena s sistemom izmenjevalcev orodja. Celica je seveda tudi modularna, kar omogocajo posebni konektorji, ki so bili razviti v sklopu projekta. Informacijski sistem celice je bil zgrajen na podlagi sistema "Robot Operating System - ROS". Gre za odpr-tokodno delovno okolje (ang. framework), ki ponuja velik nabor knjiznic in orodij za hiter razvoj robotske programske opreme [8]. V tem delu bomo predstavili opremo ter orodja, ki smo jih razvili za podporo uporabe modulov celice. Cilj je bil module opremiti z mikroracunalnikom, ki omogoca povezovanje posameznih modulov v ROS omrezje ter njihovo krmiljenje. Hkrati pa smo zeleli, daje na mikroracunalnikom postavljen streznik, ki omogoca upravljanje z nekaterimi funkcionalnostimi modula preko spletnega brskalnika. Razvito strojno opremo bomo opisali v poglavju 2, programsko opremo pa v poglavju 3. 2 Moduli v rekonfigurabilni celici Da bi povecali stopnjo rekonfigurabilnosti robotske celice, smo dolocene komponente celice razvili kot module. Namen je bil omogociti hitro spremembo namembnosti celice s tem, da se lahko module v celico poljubno priklopi ali od nje odklopi. Zahteva po hitrih priklopih in odklopih pa je privedla do razvoja dodatne strojne kot tudi programske opreme. Tekom projekta je bil razvit poseben konektor za priklop modulov v celico ter programska oprema za podporo hitrih priklopov in odklopov modulov. 2.1 Konektorji za hiter priklop modulov Moduli morajo biti zasnovani na taksen nacin, da dopuscajo hiter priklop in odklop. Hkrati pa mora ta priklop zagotavljati togo in ponovljivo sklopitev s celico, saj v nasprotnem primeru robot ne more natancno uporabljati modulov. Dodatna lastnost, ki jo mora konektor zagotavljati je, da modul dobi vse potrebne priklope za obratovanje, ERK'2018, Portoroz, 127-130 170 Slika 1: "Priklopi in Proizvajaj" konektor. t. j. napajanje, komprimiran zrak ter komunikacijski kanal. Tem zahtevam zadošča konektor, ki smo ga tekom projekta razvili in sicer t. i. "Priklopi in Proizvajaj" (ang. Plug and produce - P&P) konektor. Ženski del konek-torja je togo priCvrščen na ogrodje celice, moški pa na perifernih modulih. Konektor omogoca poleg toge sklopi-tve tudi pretok komprimiranega zraka, omrezno napetost ter Ethernet povezavo. Tako lahko zagotovimo, da periferni moduli dobijo vse potrebno za delovanje ob sklopu na konektor. Konektor je okrogle oblike in ima na sredini zaklepni mehanizem, ki hkrati sluzši kot ventil za dovod zraka v module. Na spodnjem delu ima prikljucke za elektricne signale, kar pomeni ethernet povezavo ter omrezšno napetost. Ethernet povezava se sklene z RJ45 konektor-jem, omrezšna napetost pa preko namenskih prikljucškov. Ob straneh ima centrirne luknje (zenski del) oz. zatice (moški del), za natancno orientacijo ter togo sklopitev (slika 1). Ventil na sredini je zgrajen tako, da je zaprt, torej zraka ne prepusšcša, ob odsotnosti modula. Konek-torjev zaklepni mehanizem se odklene s pomocjo pnevmatike, ki je dovedena na vrhu zenskega konektorja. To pomeni, da je potrebna le takrat, ko zelimo modul od celice odklopiti, kadar pa zelimo modul v celico priklopiti, pa je dovolj, da dva konektorja sklenemo skupaj s potiskom. 2.2 Obstoječi moduli Razvito robotsko celico smo do sedaj preizkusili na treh razlicšnih proizvodnih procesih v laboratorjiskih pogojih, kar pomeni, da se nismo osredotocšali na hitre cikle ampak na izvedljivost. Prvi proces je bil sestavljanje dveh razlicšnih avtomobilskih lucši, drugi se je osredotocšal na sestavljanje pogonskega sklopa motoriziranega pohisštva, tretji pa je predvideval sestavljanje elektromagnetne sklopke. Da bi lahko vse te proizvodne procese izvedli v eni celici, je bilo razvitih nekaj različnih modulov. S tem smo dosegli zeleno fleksibilnost celice in zadostili zahtevi po hitri rekonfiguraciji. Za naštete primere smo razvili sledece module: • pilagodljiv vpenjalni modul za avtomobilske luci, • vpenjalni modul za pogonski sklop motoriziranega pohištva (slika 2), • modul s prešo za sestavljanje elektromagnetne sklopke, • modul z naborom robotskih orodij, kijih lahko robota po potrebi uporabita, • modul s katerega robota pobirata kose za sestavljanje. Trenutno so vsi razviti moduli na kolesih in jih je za premikanje potrebno potiskati. Namen je, da se v bodoce razvije tudi avtonomne module, ki bi se lahko v celico priklopili in odklopili sami. Hkrati, pa je zelja tudi robote v celico dodati kot modul, saj bi na ta nacin lahko dosegli vecjo fleksibilnost pri sprotni rekonfiguraciji celice. 3 Programska oprema Kot ze prej omenjeno, je informacijska infrastruktura robotske celice zgrajena na podlagi sistema ROS (slika 3). Vsi programski gradniki med seboj komunicirajo tako, kot predvidevajo konvencije v ROS-u. To nam omogoca relativno enostaven razvoj novih gradnikov oz. funkcionalnosti celice. Da smo lahko module vkljucili v ROS, jih je bilo potrebno opremiti z neke vrste racšunalnikom, na katerem lahko tecejo ROS programi. V našem primeru je bil to mikroracunalnik Raspberry Pi 3 model B, kije zelo popularen v ROS-ovi mednarodni skupnosti, ima zadostno število vhodno/izhodnih vrat ter je primerno majhen. 171 Slika 2: Vpenjalni modul za pogonski sklop motoriziranega pohištva. 3.2 Strežnik StreZnik je bil razvit v programskem jeziku JavaScript, poganja pa ga Node.js [10]. Za dostop do nekaterih ROS funkcionalnost, znotraj programskega okolja JavaScript, smo uporabili knjiznico rosnode. Tako samo lahko razvili streznik, ki tece na modulu in streze HTML stran komurkoli, ki se nanj poveze. Dostopnost do strani je omogočena le, ce je odjemalec v omrezju celice. Streznik najprej iz datoteke, ki vsebuje celoten zaga-njalni paket - roslaunch, prebere imena ter tipe storitev, ki so na voljo na posameznem modulu, se prijavi na storitve, ki so pod istim imenom ze v ROS omrezju, ter prebere trenutna stanja in tipe posameznih funkcij oz. funkcionalnosti. To informacijo nato preko JSON-a (ang. JavaScript Object Notation) pošlje do odjemalca (ang. Client). Odjemalec samodejno zgenerira primeren tip ter stanje funkcije oz. funkcionalnosti na graficnem vmesniku v HTML datoteki, glede na prejete podatke. To stori s pomoco knjiznice jQuerry. Funkcije na strezniku krmilimo preko JSON POST formata, kjer je za delovanje potrebna tudi primerena prošnja (ang. Request) na streznik (glej sliko 5). Do teh funkcij lahko nato s poznavanjem URL-ja ter prošnje dostopamo tudi preko drugih storitev, v kolikor smo v istem ROS omrezju. 3.1 ROS infrastruktura Centralni del sistema ROS sestavlja t. i. ROS jedro (ang. roscore). To je program, ki mora teci na enem od gradnikov celice, do katerega imajo vsi ostali gradniki dostop. Jedro nosi informacije o vseh ostalih programih oz. vozliščih (ang. node) ter o podatkih, ki jih ta vozlišca od sebe dajajo oz. prejemajo. To je narejeno po sistemu "prijavi" in "objavi" (ang. subscribe and publish). Ti podatki so nato v omrezju dostopni vsak na svoji temi (ang. topic). Spisek vseh objavljenih tem je v jedru, tako da vozlišca ne potrebujejo informacije o tem kdo podatke obljavlja, ampak le informacijo na kateri temi podatke najti. Krmiljenje modulov smo zastavili tako, da na mikro-racunalniku tece program, ki ob ukazu spremeni stanje digitalnih izhodov. Posluzili smo se ROS mehanizma storitev (ang. service). Ta mehanizem omogoca, da vozlišce v sistemu objavi katere storitve lahko izvede in na kakšen nacin se jih prozi. Storitev, ki smo jo razvili omogoca spreminjanje stanja digitalnih izhodov mikroracšunalnika. Ti so nato povezani na elektromagnetne pnevmatske ventile. Slednji lahko nato odpirajo ter zapirajo vpenjala ali pa sprostijo zavore prilagodljivih vpenjal [9]. Razvoj vozlišca na modulovem mikroracunalniku sicer omogoca dostop do funkcionalnosti modula znotraj ROS omrezja. Tezava tega pristopa je, da mora racunalnik, iz katerega zelimo dostopati do teh funkcionalnosti, imeti nalozene knjiznice in programe, ki omogocajo komunikacijo s sistemom ROS. Da bi povecali dostopnost do teh funkcionalnosti, smo razvili streznik, ki uporabnikom, s poznavanjem IP naslova modula, preko internetnega brskalnika ponuja nekatere od teh funkcionalnosti. Slika 3: Komunikacijska shema robotske celice. 3.3 Spletni vmesnik Stranje tako uporabniški vmesnik za modul. Primer vmesnika, ki je bil razvit za vpenjalni modul je viden na sliki 4. Prednost takšnega pristopa je, da uporabnik ne potrebuje ROS orodij za dostop do nekaterih funkcionalnosti celice. Dostop do funkcionalnosti vpenjalnega modula preko vmesnika med proizvodnim procesom seveda ni potreba, saj takrat celica deluje popolnoma samostojno oz. avtonomno. Taki vmesniki so predvsem uporabni med nacrtovanjem ter programiranjem proizvodnega procesa. 4 Zaključek in nadalnje delo V pricujocem clanku smo predstavili podporno strojno in programsko opremo za module v rekonfigurabilni robotski celici. Pokazali smo, kako lahko s posebnimi "Priklopi in proizvajaj" konektorji dosezemo hitro izmenjavo 172 Slika 4: Uporabniški vmesnik za uporabljanje vpenjalnega modula. Zagon programa z orodjem roslaunch Ime storitve j j Tip storitve r ; — - "i API Strežnik Stanje t., * (Izvršitev prošnje) k- ai ROS Services storitve odjemalca | l funkcije Odjemalec Prošnja t Stanje uporabnika | j funkcije Spletni vmesnik Slika 5: Diagram poteka izmenjave informacije. [3] Z. M. Bi, S. Y. T. Lang, M. Verner, and P. Orban, "Development of reconfigurable machines," The International Journal of Advanced Manufacturing Technology, vol. 39, pp. 1227-1251, Dec. 2008. [4] M. Fulea, S. Popescu, E. Brad, B. Mocan, and M. Murar, "A literature survey on reconfigurable industrial robotic work cells," Applied Mechanics and Materials, vol. 762, p. 233, 2015. [5] I.-M. Chen, "Rapid response manufacturing through a rapidly reconfigurable robotic workcell," Robotics and Computer-Integrated Manufacturing, vol. 17, no. 3, pp. 199-213, 2001. [6] T. Gaspar, B. Ridge, R. Bevec, M. Bem, I. Kovac, A. Ude, and v. Gosar, "Rapid hardware and software reconfiguration in a robotic workcell," in 18th International Conference on Advanced Robotics (ICAR), pp. 229-236, IEEE. [7] "ReconCell." http://www.reconcell.eu/. Accessed: 2018-07-10. [8] "ROS - The Robot Operating System." http:// www.ros.org/. Accessed: 2018-07-10. [9] M. Bem, M. Denisa, T. Gaspar, J. Jereb, R. Bevec, I. Kovac, and A. Ude, "Reconfigurable fixture evaluation for use in automotive light assembly," in 2017 18th International Conference on Advanced Robotics (ICAR), pp. 61-67, July 2017. [10] "NodeJS - JavaScript Node library." https:// nodejs.org/en/. Accessed: 2018-07-11. modulov celice in s tem tudi hitro spremembo njene namembnosti. Da bi zagotovili enostavnost uporabe modulov smo razvili HTTP streZnik, ki uporabnikom v spletni brskalnik streZe uporabniški vmesnik. S tem smo pripomogli k dodatnemu lajšanju postopka programiranja doticšne robotske celice. Nadalnje delo vključuje vlaganje v razvoj avtonomnih modulov, ki bi se lahko v celico, preko P&P konektorjev sami prikljucili. Taki moduli bi lahko v industrijskih okoljih dodatno pripomogli k povecanju avtonomije rekonfi-guracije robotske celice. Literatura [1] T. Dietz, U. Schneider, M. Barho, S. Oberer-Treitz, M. Drust, R. Hollmann, and M. Hagele, "Programming system for efficient use of industrial robots for deburring in SME environments," in 7th German Conference on Robotics; Proceedings of ROBOTIK 2012, pp. 1-6, VDE. [2] R. M. Setchi and N. Lagos, "Reconfigurability and reconfigurable manufacturing systems: state-of-the-art review," in IEEE International Conference on Industrial Informatics (INDIN), pp. 529-535, 2004. 173 Simulacije in modeliranje Simulations and Modeling Approaching Industry 4.0 Simulation Modelling Paradigm with General Purpose Tools Blaž Rodič1 'Faculty of Information Studies in Novo mesto, Ljubljanska cesta 31A, Novo mesto, Slovenia E-mail: blaz.rodic@fis.unm.si Abstract. We aim to present the evolution of the simulation modelling paradigm as influenced by the Industry 4.0 paradigm and two real-life examples of the application of the new simulation modelling paradigm. Currently the development of a Digital Twin requires considerable resources and expertise, limiting the accessibility to SMEs. However, we demonstrate that data driven automated process modelling and integration of manufacturing information systems and simulation models is achievable without specialized tools or large budgets, and is thus within reach for research and development projects for SMEs. 1 Introduction The aim of this contribution is to present the evolution of the simulation modelling paradigm in connection with the Industry 4.0 paradigm and two real-life cases of the application of the new simulation modelling paradigm using off-the-shelf simulation modelling tools. The presented cases introduce methodologies and solutions which enable the automation and integration of general purpose simulation modelling tools by using data exchange standards such as XML, and the development of automation solutions using the Digital Twin concept with widely available sensor technologies. The »Industry 4.0« term was coined by the German federal government in the context of its High-tech strategy in 2011. It describes the integration of all value-adding business divisions and of the entire value added chain with the aid of digitalisation. In the "factory of the future", the machines, sensors and other automation technologies are integrated via information and communication technology (ICT) into one system, the cyber-physical production system (CPPS). The CPPS also integrates the non-producing subsystems such as R&D as well as sales partners, suppliers, original equipment manufacturers (OEMs) and customers' information systems. While the large industrial are concerned with the development of standardized methodologies and architectures that would allow integration within their R&D processes and existing ERP and MES solutions [1], and the purchase or development of automation technologies is not presented as problem, the SMEs have to consider using economical, off-the-shelf simulation modelling tools and commercially available sensors to build proprietary automation solutions, which would allow them to implement selected Industry 4.0 concepts, in order to remain a competitive supplier to their (larger) business partners. Even though Industry 4.0 standards are still developed, the manufacturing and automation technology developers already market many technologies and solutions as "Industry 4.0". Currently the development of a Digital Twin requires considerable resources and expertise, limiting the accessibility of many solutions to bigger companies to the disadvantage of SMEs. [2] But even without specialized vendors there are many of the building blocks necessary for implementation of Industry 4.0 ideas already available -such as digital and networkable sensors and control elements (actuators), cloud computing, (industrial) communication networks, and general purpose simulation modelling tools as presented in this paper. [1] 2 The evolution of the simulation paradigm Today, the use of simulation modelling in science and engineering is well established. In engineering, simulation modelling helps reduce costs, shorten development cycles, increase the quality of products and greatly facilitates knowledge management. Several methods have been developed for mathematical modelling of real systems. Each of them was motivated by the problem itself and the researcher in that field. System dynamics (SD), which is based on cybernetics and system theory ( [3] and [4]) and discrete event simulation (DES) were developed several decades ago and are today well-established. Agent based modelling (ABM) [5], [6] is a more recent methodology, and has gained attention outside social sciences due to its flexible abstraction level and applicability to modelling of complex systems [7]. In a simulation modelling project the methods are selected depending on the complexity of the modelled system and required abstraction level. In the traditional simulation paradigm, the connectivity of a simulation model typically involves integration with a static database with business variables, a user friendly front-end and additional decision support tools such as expert systems (ES) or group decision support systems (GSS) [8]. The schematic of such a system is shown in Figure 1. ERK'2018, Portoroz, 127-130 177 business process, stored in the business database and then transferred to the Digital Shadow. The Digital Master model's operation is adjusted according to the data in the Digital Shadow, allowing on-line optimization and decision support, and control of the process automation, creating a controlling feedback loop, which is the basis of cybernetic systems [4]. Figure 1: Schematic of a typical simulation modelling based decision support system [8] 2.1 New simulation modelling paradigm in Industry 4.0 Increasing product variants and products customized to order request more flexible production systems. The advent of the Industry 4.0 paradigm has brought changes to the simulation modelling paradigm as well. Part of the Industry 4.0 paradigm is modelling the manufacturing systems using the concept of a virtual factory or Digital Twin. These three points summarize the main changes to the simulation and modelling paradigm in the change from stand-alone simulation-based decision support system to the Digital Twin: - Connectivity and integration in a wider IS (manufacturing or enterprise resource planning (MRP, ERP) is the norm, - The modelled system is modelled with a holistic, multi-level/resolution approach, which includes physical modelling. Aspects of the simulation model require a high level of details and low level of abstraction, - Modelling and modification of models is automated (data-based). The concepts themselves are not new, the novel aspect is the unifying paradigm of Industry 4.0, which promises standardization of methods and the new technologies that make their implementation easier. In Industry 4.0 paradigm every instance of an individual product or production system produces a "digital shadow", which is the name for the structured collection of data generated by operation and condition data, process data, etc. Hence an instance of a Digital Twin consists of: a unique instance of the universal Digital Master model of an asset, its individual Digital Shadow and an intelligent linkage (algorithm, simulation model, correlation, etc.) of the two elements above [9]. Schematics of a decision support system incorporating the concept of Digital Twin is shown in Figure 2. In such systems, the Business System Simulator contains a Digital Twin model of the Business process. The Digital Twin is used to supply the array of decision support tools with a detailed, dynamically update digital representation of the real-life business process (e.g. a manufacturing plant). The process data is gathered realtime by the array of sensors and smart machines in the Process Automation Decision Support Tools: Machine Learning Optimisation / Digital Twin ^ Digital Maste nn Figure 2: Schematic of a simulation modelling based decision support system implementing the Digital Twin 3 Implementing the simulation modelling paradigm Implementing the new simulation modelling paradigm and the Industry 4.0 remains a serious challenge for researchers and companies. There are however novel ways to improve the integration of models built in general purpose simulation modelling tools, automate their construction and modification, and implement such solutions without major financial investments, which is a very attractive prospect especially for the SMEs. A number of solutions have been developed for automated generation of DES simulation models corresponding to manufacturing systems, with a good overview of solutions presented in [10]. We will present two cases of the implementation of the aspects of new simulation modelling paradigm, ranging from the development of new methods for data-driven automated simulation model construction to the development of a Digital Twin concept for SMEs. 3.1 Example 1: case of automated model building using XML and Java This case involves a novel automated DES model construction method, using the customer order data obtained with SQL queries to modify the XML (Extensible Markup Language) file containing the simulation model structure and data. The method was applied in a manufacturing process optimisation project. Authors used discrete event simulation (DES) to build a model that reflects the current manufacturing processes and allows them to test optimisation methods. Construction of a DES simulation model requires that the data that describe the manufacturing processes are 178 obtained, analysed, extracted and prepared in a suitable format for the model. In order to maintain model accuracy despite changes in manufacturing processes, integration of simulation software, auxiliary applications and databases is necessary. System optimisation through modification of model structure can be performed by constructing several versions of the model and input data (i.e. scenarios) and comparing simulation results. To accelerate the development of model versions and scenarios one can construct algorithms that build or modify simulation models according to model input data. This is especially useful in cases of large simulation models and if the model variants are prepared by an algorithm, e.g. an optimisation algorithm. Automated model building and modification however requires that the model structure can be modified with an algorithm, without manual interventions. [11] Developing a static simulation model that would cover all possible (i.e. 30,000) products that may appear in client's orders is not realistic as it takes approximately 15 minutes to complete a model of a process for each product, and a model containing 30.000 process also exceeds the memory limitations of the modelling tool used (Anylogic, http://www.anylogic.com/). While other DES tools would also serve the purpose, Anylogic was used as its licence is already owned by the faculty and the models are stored in XML files, allowing relatively easy modifications to model structure. Manual modifications of the simulation model can be time consuming, especially if a large set of variations of the model needs to be built. In Anylogic, simulation model is typically constructed by adding different blocks and connections to the canvas by "click and drag" technique. Instead, a method for ad-hoc model construction using a set of open orders was developed using Java. The Java application builds the model from a model template, the database of technical procedures and the database of currently open orders. Based on the list of ordered products and technical procedures only the necessary machines are placed in the model. Anylogic models are standard XML files, which allows easy manual or algorithmic modifications of the model. Anylogic XML simulation model file stores information on standard and user-defined blocks and agents, connectors between blocks, statistical monitors, input readers, output writers, etc. The data are stored as elements (nodes) and nested in a tree-like structure. An element can contain several attributes, describing type of the element and all the parameters describing element properties. The attributes can contain several lines of programming code describing how the block operates in different situations and states. [11] The developed Java application manipulates XML code to change data on machines and all other relevant abstract objects such as connectors, sources and sinks that are connected to the blocks of machines. Specifically, the Java application reads the blocks in the template file and copies them according to input data. A new element (block) is added to the model by the following procedure: - find a node representing a template block in XML tree according to the searched attributes, - copy the node and connect it to the parent of the original node, - change the data of the copied block (name of the block, position on the canvas, properties of the block, part of the programming code, etc.). The resulting XML structure is then saved to a new Anylogic file. Products and carts play a role of transactions in DES and are therefore constructed dynamically during simulation. The resulting modelling and simulation system, shown in Figure 3 is composed of four main elements [11]: - Core manufacturing process simulation model in Anylogic environment. - Java application that constructs XML Anylogic model from a template file. - MS Excel as an intermediate input and output data storage, and analysis tool. MS SQL server database describing technical procedures and client's orders. MS Excel ' |npa Output results) orders) Required machines*" Figure 3. Automated DES model generation system schematic 3.2 Example 2: A Digital Twin for SMEs Authors [12] present a concept for the realization of a Digital Twin of the production system within SMEs. Their concept is feasible by assuring sufficient data quality with minimized investment costs, and without compromising the advantages of the Digital Twin and of the CPPS. Their concept proposes a database structure and guidelines for the implementation of the Digital Twin in production systems in SMEs. The further concept of the Digital Twin for a production process enables a coupling of the production system with its digital equivalent as a base for an optimization with a minimized delay between the time of data acquisition and the creation of the Digital Twin. This allows the construction of a CPPS, opening up powerful applications. To ensure a maximum concordance of the cyber-physical process with its real-life model a multimodal data acquisition and evaluation has to be conducted. Even though Industry 4.0 is one of the most prevalent subjects in production engineering, the methods of Industry 4.0 are still under-represented within manufacturing operations in SMEs. Authors furthermore describe the following main difficulties in the course of the realization of the Digital Twin in SMEs [12]: - manual acquisition of motion data is widely used, but not with real-time availability, which limits the potential of simulation, 179 - in-house implementation of Industry 4.0 is frequently insufficient, - slow standardization of data acquisition in productions systems hinders agile and adaptable system implementations, - high costs for new IT and a centralised IS inhibit the application of vertical Industry 4.0, - coupling of simulation and optimization is not sufficiently ensured to take full advantage of near real-time models, and - data security concerns. As the database of production data in SME is extremely heterogeneous, and its quality regularly insufficient for the realization of the Digital Twin, the authors [12] introduced sensor based tracking and machine vision for manufacturing process data acquisition. Sensor-based tracking provides information regarding routes and position of production employees and routes and position of large and highly mobile production devices, e.g. forklifts. The required technologies, i.e. sensor-based tracking systems and extensive program libraries for the machine vision implementation are commercially available, and therefore the implementation of the proposed concept is feasible. In the last step, the data acquisition hardware is implemented into a real model process and linked with the data layer. This forms the final and major step within the realization of the CPPS in SME as part of the presented concept. The schematic of the proposed Digital Twin concept is shown in Figure 4. = A- ■ Digital Twin Digital Shadow ■ M in Digital Master: Data based & Optimized Optimized In 1 Production System Data Layer Information StOptimization Figure 3. Concept of the implementation of a Digital Twin in SMEs (adapted from [12]) The described concept is novel in comparison to approaches prevalent in large enterprises, which focus on full automation. Automated gathering of machine data is not considered, as the low degree of digitalisation of manufacturing in SMEs data does not allow it. Furthermore, the collection of detailed machine data is not required with the presented concept. The innovative aspect of the concept is in the integration of well adopted and commercially available components, which are already available as isolated solutions [12]. 4 Conclusion The research presented in this paper includes novel solutions, that allow researchers and engineers to develop solutions that automate the model generation and solution seeking aspects of simulation based decision support and engineering systems. Presented methodologies and solution allow the development of Industry 4.0 automation solutions using the Digital Twin concept with widely available sensor technologies. The adoption of new simulation modelling paradigm in research environment requires closer cooperation with industry partners, and diversification of knowledge of researchers, in order to build integrated, multi-level models of systems. As shown by the presented examples, lack of tools is not a problem, as the current generation of general purpose simulation modelling tools offer sufficient integration options. As the CPPS concept involves the integration of diverse information systems and multi-level simulation models, the Industry 4.0 and Digital Twin concept present researchers with a new motivation for closer cooperation with industry and transfer of knowledge between research groups and institutes. Literature [1] KPMG, "The Factory of the Future - Industry 4.0: The challenges of tomorrow," 02 06 2016. [Online]. Available: https://assets.kpmg.com/content/dam/kpmg/pdf/2016/0 5/factory-future-industry-4.0.pdf. [Accessed 20 4 2017]. [2] S. Jain and D. Lechevalier, "Standards based generation of a virtual factory model," in Proceedings of the 2016 Winter Simulation Conference (WSC '16), Piscataway, 2016. [3] J. W. Forrester, Industrial Dynamics, Cambridge, MA: MIT Press, 1961. [4] M. Kljajic, Teorija sistemov, Kranj: Moderna organizacija, 2002. [5] N. Gilbert, Quantitative Applications in the Social Sciences: Agent-Based Models, London: SAGE, 2007, p. 1-20. [6] A. Borshchev, The Big Book of Simulation Modeling, AnyLogic North America, 2013. [7] A. Fereidunian, A. Lesani, M. Zamani, A. Kolarijani, N. Hassanpour in S. Mansouri, „A Complex Adaptive System of Systems Approach to Human-Automation Interaction in Smart Grid," v Contemporary Issues in Systems Science and Engineering, Piscataway, IEEE Press, 2015, pp. 425-485. [8] M. Kljajic, I. Bernik and A. Skraba, "Simulation Approach to Decision assessment in Enterprises," Simulation, vol. 75, no. 4, pp. 199-210, 2000. [9] R. Stark, S. Kind in S. Neumeyer, „Innovations in digital modelling for next generation manufacturing system design," CIRP Annals - Manufacturing Technology, 2017. [10] P. Barlas and C. Heavey, "Automation of Input Data to Discrete Event Simulation for Manufacturing: A 180 Review," International Journal of Modeling, Simulation, and Scientific Computing, vol. 7, no. 1, 2016. [11] B. Rodic in T. Kanduc, „Optimisation of a complex manufacturing process using discrete event simulation and a novel heuristic algorithm," International Journal Of Mathematical Models And Methods In Applied Sciences, Izv. 2015, st. 9, 2015. [12] T. H.-J. Uhlemann, C. Lehmann in R. Steinhilper, „The Digital Twin: Realizing the Cyber-Physical Production System for Industry 4.0," v Procedia CIRP: Proceedings of The 24th CIRP Conference on Life Cycle Engineering, Kamakura, 2017. [13] J. D. Sterman, Business dynamics: Systems Thinking and Modeling for a Complex World, Boston: Irwin/McGraw-Hill, 2000. [14] S. Robinson, Simulation: the practice of model development and use 2nd ed., Basingstoke/New York: Palgrave Macmillan, 2004. 181 Analysis of mesh density in electrical simulations of heterojunction silicon solar cells Jošt Balent, Janez Krč and Marko Topič University of Ljubljana, Faculty of Electrical Engineering, Tržaška 25, 1000 Ljubljana E-mail:jost.balent@fe. uni-lj.si Abstract. Solar cells convert solar energy into electricity. Numerical modelling has been proven as an efficient tool in the process of optimisation of solar cell performance. In this contribution we focus on electrical modelling of a silicon heterojunction solar cell, employing the Sentaurus TCAD simulation tool. In particular we studied the impact of an adaptive mesh density on accuracy of the J-V characteristics and the main output parameters of the solar cell. It is shown that, for a broad range of densities (134 - 15962 discrete elements), parameters vary below 3 % for the analysed solar cell structure. Relatively low variation is a consequence of the adaptive character of the mesh -denser mesh in the vicinity of interfaces and in the regions of high gradient changes of the internal quantities, such as defect regions. 1 Introduction Energy demand is on the rise as population soars above 7.6 billion. Meeting this demand by fossil or nuclear fuels proved to be unsustainable. Photovoltaics (PV) presents a promising renewable energy solution to supply the world with clean and low-cost electrical energy as it uses solar cells to convert sunlight directly into electrical energy. Among various PV technologies [1] crystalline silicon (c-Si) wafer-based solar cells are dominating the market today (>90 %) [2], with commercial PV modules reaching conversion efficiency in the range of 17-20 %, whereas the research cell record efficiency is currently 26.7 % [3]. This record-braking Si cell design has a structure of a so called heterojunction (HJ-Si) device. The term hetero refers to the use of different energy band-gap materials. In particular, HJ-Si combines the advantages of Si thin-film and wafer-based technology. The HJ-Si solar cells are also the subject of our numerical investigation in this paper. State-of-the-art HJ-Si devices are quite complex, both optically and electrically, as they are comprised of ultra-thin (few nanometres) and thick layers (hundreds of micrometres), made of semiconductor, oxide and metal materials. Various textures and contacting schemes are applied to obtain superior performance of the device [1]. Numerical modelling proved to be an indispensable tool in the R&D cycle as it offers an in-depth analysis of such complex devices which consequently leads to cost reduction and improvement of efficiency. In this paper we are going to use both optical (SunShine [4]) and electrical (Sentaurus TCAD [5]) numerical simulations, with the emphasis on the latter, to simulate optoelectronic properties of the HJ-Si solar cell. In particular we will show the importance of meshing density when doing finite element method analysis (FEM) on such layered structures. This analysis is a key step towards reliable simulations of realistic devices and further optimization of their operational performances. 2 Structure and principle of operation of a HJ-Si device The HJ-Si cell (Figure 1) employs a lightly doped p or n type crystalline silicon (in our case n-type) as an absorber with a thickness of around 100 - 200 ^m. Both sides of the absorber are capped with a thin (1-5 nm) passivation layer (typically intrinsic hydrogenated amorphous silicon, i-a-Si:H or other alternative material) in order to passivate c-Si surface defects - fill the free, dangling bonds of Si. Passivation layers are usually covered with a highly doped p-type (one side) and n-type (other side) a-Si:H material (10-50 nm thick) to assure selectivity of electron/hole extraction and to supply them to the front (top) and rear (back) contact. o-+ o- Figure 1: Structure of a typical HJ-Si solar cell. A highly doped n-type transparent conductive oxide (TCO) is used as a front contact in combination with a metal grid (the grid is not shown in the figure). Indium tin oxide (ITO) is usually employed in HJ-Si devices as the TCO. Also at the rear side a TCO layer is often used in combination with Al or Ag metal contacts to ensure good optical and electrical characteristics of the rear part of the device. A cell with contacts solely at the rear has also been developed in the form of an Inter-digitated-back contact (IBC) scheme (not shown here). The device employs some form of light trapping by Ligbt def. reg. 2 nni 1.12 eV n-c-Si 150jim 1.12 eV? ITO 70 Dm p-a-Si:H 10 nm 1.75 eV i a Si:H 5 nm 1.75 eV 2 mu 1.12 «V i a Si:H 5 nm 1.74 eV n-a-Si:H 10 nm 1.80 eV ITO 100 nm Al 500 nm ERK'2018, Portoroz, 127-130 182 interface micro-texturing and anti-reflection coating (ARC) to maximize the absorption of light in c-Si and minimize the reflection loss (in Figure 1 the texturing of the interfaces is not shown, but it was considered in optical simulation of the device). Optical simulations were performed on the entirety of the schematic shown in Figure 1, whereas electrical simulations omitted the ITO layers at this stage and assumed ideal ohmic contacts instead. 3 Numerical models In electrical simulations with the Sentaurus TCAD we used the drift-diffusion based model to solve the transport equations of free electrons and holes in the HJ-Si device. The densities of electrons and holes were calculated with Fermi-Dirac statistics in both low and highly doped regions. Mobility and diffusivity were modelled by the Einstein relation. We also included the Masetti model for doping dependence of mobility [6]. Band-gap narrowing effects were considered negligible and were not included in the simulations. We incorporated Auger, Shockley-Read-Hall (SRH) and radiative recombination mechanisms. Passivation quality at front and rear surfaces of the c-Si absorber was modelled by the 2 nm thick defective regions (def. reg. in Figure 1). In these two regions amphoteric Gaussian-like trap distributions were introduced, similar to those used in modelling of the a-Si:H layers, which included exponential tail-states and Gaussian-like dangling bonds. Amphoteric nature of dangling-bonds was modelled as donor and acceptor Gaussian functions whose peak trap densities were apart by correlation energy. Quantum tunnelling was included at layers thinner than 10 nm. The model used is based on Wentzel-Kramers-Brillouin (WKB) approximation and takes into account only intra-band tunnelling. Doping ionization was assumed to be 100 %. All material parameters were taken from our previous publication [7]. The generation rate profile across the structure, due to absorbed sunlight, was calculated by the SunShine simulator. The performed electrical simulations of the solar cell were two-dimensional (2-D), although the structure of the device would allow for a 1-D simulation (device planar dimensions are much larger than its thickness and all parameters are also uniform in the planar directions). However, a 2-D model was used instead since it will be required in our further work, where the device structure will be changed (e.g. different lateral contacting schemes). Here, a 2-D model with appropriately small planar dimensions was applied. In finite element method (FEM) linear interpolation between the calculated points (nodes of the discrete triangles) was applied, which was in our previous studies indicated to be an effective solution compared to higher order interpolations. In the analysis presented here the attention was paid on variation of mesh density - variation of number of discrete elements in 2-D FEM simulations with the Sentaurus TCAD tool. In case of a 2-D simulation these elements are represented by triangles. There is a trade-off between validity and accuracy of simulations on one hand and computational time and processing power of computing on the other. Many simulations have to be performed during the optimization process of a device, therefore it is very important to find optimal settings for reliable, accurate and time-efficient simulations. 4 Simulation results Figures of merit of a solar cell performance are the current density - voltage (J-V) characteristic and the corresponding parameters under full sun (1000 W/m2) illumination: the short-circuit current density (Jsc), the open-circuit voltage (Voc), the maximum power-point (MPP) current density and voltage (Jmpp,, Vmpp), the fill-Factor (FF, see definition in Figure 2) and the conversion efficiency (n) To demonstrate these characteristics we show in Figure 2 the J-V curve obtained by the optoelectrical simulations of the HJ-Si solar cell where 5654 discrete triangular elements were used in electrical simulations. As shown later, this number of elements used in an adaptive mesh is recognized as a proper discretization setting in simulations of the device under scope. V [mV] Figure 2: Simulated J-V curve and parameters of the HJ-Si cell. 5654 of discrete elements were used in the simulation. The Jsc is the maximum current density a cell can produce under given illumination (short-circuit condition, load with zero resistance). The Voc is the maximum voltage obtained (under open circuit condition-no load). Fill-factor tells us what percentage of the product of Jsc and Voc we can utilize when applying optimal load to obtain the maximum power point (MPP) condition. Conversion efficiency, as a final parameter, defines how much of the incoming solar energy is being converted into electricity. All parameter values shown in Figure 2 are given for the simulated solar cell reaching a conversion efficiency of 23.8 % (the cell was not optimized). 183 4.1 Analysis of mesh density in electrical simulations In FEM analysis mesh density can play a crucial role when it comes to validity and accuracy of simulations. It is prudent to use denser mesh near material interfaces or regions with high gradients of internal quantities, such as defect densities near interfaces. The Sentaurus TCAD tool allows for a definition of an adaptive mesh according to various conditions (doping density gradients, material or region interfaces etc.). Meshing starts by defining maximum and minimum triangle element dimensions (x-lateral and y-vertical axis for 2-D). In our case minimum and maximum values for the x axis were both equal to 1 ^m. Depth of the device was assigned to the y axis and element dimensions were restricted to the interval between 1 pm-10 ^m. We implemented an adaptive mesh for all material interfaces by defining a starting triangle element height-yo and an enlargement factor-k when going away from the interface or high gradient region. The adaptive mesh algorithm uses a material interface as its starting point where it applies triangles with the height yo (see Figure 3). Next step repeats the procedure by multiplying yo with k and forming larger triangles. The height y remains constant when it reaches the maximum value defined at the beginning of this section. Interface edge Figure 3: First two steps of the adaptive mesh algorithm. In our analysis 20 different mesh densities were included with the total number of discrete elements ranging from 134 to 15962 obtained by varying the factor k from 1.005 to 200 (yo =1 pm and was kept constant) An example of low, medium and higher schematic mesh densities can be seen in Figure 4. No. of elements: p, i, def. reg. 132 3568 5654 n-c-Si def. reg., i, n Figure 4: Examples of different mesh densities. Results of our analysis are shown in Figure 5 (a-d). Simulated values of the parameters Jsc, Voc, FF and n are presented as a function of number of mesh elements. The span of No. of elements is relatively broad. We can see that the results of all parameters vary the most for the smallest No. of elements. a) > E b) c) 39.7 39.6 39.5 39.4 39.3 39.2 39.1 39.0 38.9 — ■■ » • • 1.5 % • • • 100 250 500 1000 2500 500010000 25000 No. of elements ---------------- 0.3 % • 100 250 500 1000 2500 500010000 25000 No. of elements 83.0 82.8 82.6 -82.4 82.2 -82.0 81.8 -81.6 81.4 -»--------------- 1.2 % • -----■»■■ il« «mti 100 250 500 1000 2500 500010000 25000 No. of elements d) Figure 5: Parameters of the solar cell vs No. of elements. 747.5 747.0 746.5 746.0 745.5 745.0 0 184 1.5 1.0 0.5 - a o.o -4 -1.0 --1.5 - 0.000 0.005 0.010 0.015 50.000 60.000 70.000 80.000 90.000 150.010 150.015 150.020 150.025 150.030 Depth [i m] Figure 6: Energy-band diagram of a reference cell at MPP with 5654 elements. 2 -0.5 - -2.0 The values of JSc (Figure 5a) and n (Figure 5d) settle down in two regions (250 - 500 and 550 - 1100) before they finally reach their constant value after 5654 No. of elements. The values of Voc vary slowly after the first two points up until 2500 No. elements when the value changes to the final and constant value at 5654. Values for FF are quite constant right after the first two points due to it being a kind of composed parameter (in the definition products of J and V are present) and the variations of the components can cancel each other out. Maximum relative variation was observed for n and was 2.7 %, followed by Jsc with 1.5 %, FF with 1.2 % and Voc with 0.3 %. We have to point out that these values are really low (low sensitivity to the mesh density) due to the utilization of an adaptive mesh. Mesh density as low as 134 elements can be used when doing preliminary research, but for an accurate and still time efficient simulation we recommend at least 5654 elements (triangular element dimensions range from 1.15e-6 ^m2 -1.17 ^m2). We also have to take special care if the gradients of internal parameter distribution change significantly during optimization - in this case the mesh has to be changed accordingly during the optimization process. 4.2 A view into internal quantities After our simulations pass the test of validity and accuracy we can use them to get an inside view in the device. Distributions of internal quantities, which often cannot be accessed by measurements, can be determined by simulations. This presents a key advantage when we do further optimisation of the devices. These internal quantities are for instance the energy band diagram, free charge carrier densities, recombination rates, electric field and others. Here we show, as an example, only the energy band diagram (Figure 6) calculated with 5654 elements and under MPP. The result of the 2-D simulation is presented as a function of the vertical direction (depth) only, belonging to a vertical cross-section taken at the middle position of the 2-D structure. Results corresponding to cross-sections taken at different positions differ only in the range of numerical errors. From the diagram we can see, for example, how conduction and valence bands change throughout the front and rear heterojunctions. We can also see the splitting of quasi-fermi levels which is the voltage we have at the terminals (Vmpp). The shape of the bands at material interfaces (i-a-Si regions in our case) can tell us the level of carrier selectivity (energy barrier for electrons in p,i-a-Si regions at the front and an energy barrier for holes in i,n-a-Si at the rear). We can also see regions where there are high gradients of internal quantities which allows us to redefine the mesh at this critical points to insure accurate simulations (defect region interfaces in our case) 5 Conclusions In numerical simulation of solar cells, mesh type and density play an important role trading off accuracy and validity for time efficiency and computational power. We showed, that by using an adaptive mesh in electrical simulations of a HJ-Si solar cell, main output parameters vary with mesh density (134-15962 No. of elements) up to 2.7 % of maximum relative difference. The values of all parameters become constant when we use at least 5654 elements in the mesh. When an adaptive mesh is used, we can do preliminary optimization with as few as 134 points for a structure shown in Figure 1. To perform time efficient and accurate simulations, an adaptive mesh of at least 5654 points are to be used. Literature [1] A. Luque and S. Hegedus, Eds., Handbook of photovoltaic science and engineering, 2nd ed. Chichester, West Sussex, U.K: Wiley, 2011. [2] F. ISE, 'Photovoltaics report', vol. 2016, p. 45. [3] K. Yamamoto et al., 'Record-breaking efficiency back-contact heterojunction crystalline si solar cell and module', 33rd European Photovoltaic Solar Energy Conference and Exhibition, vol. 2017, p. 4. [4] J. Krč, S. Franc, and T. Marko, 'One-dimensional semi-coherent optical model for thin film solar cells with rough interfaces', in Informacije MIDEM 32, Ljubljana, vol. 2002. [5] Sentaurus Device, https://www.synopsys.com/silico n/tcad/device-simulation/sentaurus-device.html [6] G. Masetti, S. Maurizio, and S. Sandro, 'Modeling of carrier mobility against carrier concentration in arsenic-, phosphorus-, and boron-Doped Silicon', IEEE Transactions on Electron Devices, no. 7, p. 6, Jul. 1983. [7] J. Balent, J. Krč, A. Čampa, F. Smole, and M. Topič, 'Electrical simulations of hetero-junction silicon solar cells', in 53rd International Conference on Microelectronics, Devices and Materials & the Workshop on Materials for Energy Conversion and their Applications: Electrocalorics and Thermoelectrics, Ljubljana, Slovenia, 2017. 185 Formiranje potenciala pred ravno elektrodo, ki oddaja elektrone Tomaž Gyergyek1,2, Jernej Kovačič2, Inaki Gomez2 'Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija 2 Institut Jožef Stefan, Jamova 39, 1000 Ljubljana, Slovenia E-pošta: tomaz.gyergyek@fe. uni-lj. si Potential formation in front of an electron emitting collector planar electrode Abstract. Formation of a virtual cathode in front of an electron emitting floating collector that terminates a bounded plasma system is studied with a particle-in-cell (PIC) computer simulation. As the electron emission from the collector is increased the depth of the potential well increases also. As long as the emission is below approximately 40 times the critical emission level the depth of the potential well follows very well a simple logarithmic formula that is derived. For larger emissions the depth of the virtual cathode increases faster than predicted by the formula. The reasons for this discrepancy remain to be further investigated. 1 Uvod Modeliranje plazemskih diod, kjer so hitrostne porazdelitvene funkcije nabitih delcev odrezane Maxwellove je precej živahno področje [1,2] predvsem zaradi praktičnih aplikacij (na primer emisijske sonde [3], v zadnjem času pa tudi fuzijske aplikacije [4]) Krajši pregled literature je v [5]. V tem delu preučujemo formiranje tako imenovane virtualne katode, ki nastane pri zelo močni emisiji elektronov iz elektrode. 2 Model Eno dimenzionalna plazemska dioda je omejena z dvema zelo velikima planarnima elektrodama, ki se nahajata na mestih x = 0 (na levi) in x = L (na desni) -slika 1. Desna elektroda je ozemljena in njen potencial vzamemo za ničlo merjenja potenciala. Ta elektroda (izvir) v sistem vbrizgava protone (indeks i) in elektrone (indeks 1). Hitrostna porazdelitev obeh vrst vbrizganih delcev je polmaksvelska z različnima temperaturama Ti in Te. Levo elektrodo imenujemo kolektor, ker absorbira vse delce, ki jo zadenejo. Obenem pa ta elektroda emitira elektrone (indeks 2), ki izstopajo iz nje s polmaxwellsko hitrostno porazdelitvijo s temperaturo T2. Leva elektroda je električno izolirana od desne in se glede na njo nabije na potencial lebdenja, ki je odvisen od tega koliko pozitivnih in negativnih delcev jo zadene oziroma zapusti na časovno enoto. Predpostavljamo, da v prostoru med elektrodama delci ne trkajo med seboj in da se torej skupna kinetična in potencialna energija vsakega delca ohranja. Ion, ki desno elektrodo zapusti z ničelno začetno hitrostjo ima na mestu x hitrost: v . = — — 2eo^(x) (1) m. v smeri proti kolektorju. Zato ima ta hitrost negativen predznak. Pri tem je mi masa iona, e0 je osnovni naboj, F(x) pa je potencial na mestu x. Potencial desne elektrode postavimo na ničlo, F(x=L) = 0 kot referenčni potencial, potencial na katerem lebdi kolektor pa je Fc. Ker so elektroni mnogo bolj gibljivi, kot protoni, lahko pričakujemo, da je potencial Fc negativen glede na potencial desne elektrode. Zanimajo nas samo takšni potencialni profili F(x), ki monotono pojemajo od desne proti levi. Potencial F(x) je torej povsod v sistemu negativen. Porazdelitveno funkcijo za ione zapišemo takole: f = ns 2nkTSi exp " T (2) exp 2kTsi H (—v + vmi). Pri tem je nSi gostota, TSi temperatura ionov tik ob izviru, v pa hitrost. Boltzmannova konstanta je k in H je Heavisideova funkcija enotske stopnice. Elektron, ki zapusti kolektor z ničelno začetno hitrostjo, ima na mestu x hitrost v = 2eo (*(x) — ®c ) (3) me v smeri proti izviru in ta hitrost je torej pozitivna. Porazdelitveno funkcijo elektronov, ki so prišli z izvira torej zapišemo takole: f1 = ns m„ 2nkT. exp f eo$(x) ^ kT1 exp ..2 A 2kT i H(—v + vme ). (4) Tu je nS1 gostota, TS1 pa temperatura elektronov ob izviru. Masa elektrona je me. Porazdelitvena funkcija elektronov, ki jih emitira kolektor, je: f2 = nC m 2nkTn exp e0 (^x)—4>c ) kT„ \ f exp iH(v—vme ). 2kT„ (5) Podobno, kot prej je nc2 gostota, Tc2 pa temperatura emitiranih elektronov ob kolektorju. Vse zgoraj povedano velja, dokler je potencialni profil v sistemu monoton. Če pa emisija elektronov iz kolektorja močneje narase, lahko potencialni profil postane nemonoton. Znano je, da potencial lebdenja ERK'2018, Portorož, 186-189 186 2 m mv elektrode, ki emitira elektrone narašča, če narašča emisija. V nekem trenutku dosežemo tako imenovano kritično emisijo elektronov, ko električno polje ob elektrodi doseže ničlo. Če pa emisijo elektronov še povečamo, nastane pred elektrodo potencialna jama, ki ji pogosto pravimo virtualna katoda. Električno polje pred elektrodo takrat spremeni predznak v pozitivnega in začne pospeševati emitirane elektrone nazaj proti elektrodi. Tiste elektrone, ki zapustijo elektrodo s premajhno začetno hitrostjo, celo vrne nazaj na elektrodo. Ti profili potenciala in električnega polja so shematično prikazani na sliki 1. Pri tem j2 pomeni gostoto toka emitiranih elektronov iz leve elektrode, jc pa kritično emisijo, pri kateri je električno polje ob kolektorju enako 0. Slika 1: Shematični prikaz modela. Izvor se nahaja pri x = L, kolektor pa pri x = 0. Ko emisija postane kritična, je električno polje ob kolektorju enako nič. Ko pa emisija še narase, nastane pred kolektorjem potencialna jama - virtualna katoda. Označimo vrednost minimuma potencialne jame FM. Ta minimum se nahaja na mestu xM > 0. Radi bi ocenili, kolikšen delež emitiranih elektronov lahko pride skozi potentialno bariero v področje x > xM, če je njihova porazdelitvena funkcija podana z izrazom (5). Tik ob kolektorju je vme = 0, ker je F = FC. Porazdelitvena funkcija (5) torej dobi naslednjo obliko: f2 m = nc 2 2nkT exp 2kT H (v). (6) Gre torej za enodimenzionalno polmaxwellsko porazdelitev, ki je shematično prikazana na sliki 2. Samo elektroni, ki imajo hitrost večjo kot ^ (Oc -Om ) (7) lahko pridejo v področje x > xm. Uvedemo naslednje spremenljivke: m m„ T a = tc2 ¥ . e0°(x) T ¥ = e0OC ktsi (8) ¿0° m £ = 2kT m Slika 2: Porazdelitvena funkcija emitiranih elektronov ob kolektorju je polmaxwellska. Samo tisti elektroni, ki imajo hitrost večjo od vM lahko pridejo v področje x > xM. S spremenljivkami (8) zapišemo porazdelitveno funkcijo (6) takole: r 2A "2 -J exp n a a H (u). Porazdelitvena funkcija "2 je normirana na nS1 takole: Si m 2nkTsi i exp 2 A 2kT si j dv = ns 1 = 1. Zapišimo še brezdimenzijske hitrosti: u, = ^ = -V-M¥, Ume = ^ = yj¥ -¥ V0 V0 = ^ = J¥C-¥M. Gostoto toka emitiranih elektronov J2a podaja izraz: F a (9) J2a = i uF2(u)du 2\ n Gostoto toka elektronov J2b, ki pridejo v področje x > xM pa podaja integral: J 2b = i uF2(u)du = 2Ja exp (-^M |.(10) Ko med seboj delimo izraza (9) in (10) dobimo: m t m n v v = u = 0 n v 0 F u 0 o m mv v A/l 187 J (V - V = exp I Vc—Vm- J™ V o Vc -Vm =o1n V J2b J .(11) Izraz (11) razumemo takole. Če poznamo gostoto toka elektronov, ki jih oddaja kolektor J2a (na primer iz znane temperature kolektorja in Richardsonove formule) in če predpostavimo, da je J2b enaka kritični gostoti toka Jc, pri kateri je elektično polje ob kolektorju enako 0, potem lahko formulo (11) uporabimo za oceno globine potencialne jame, če seveda poznamo temperaturo emitiranih elektronov. Eksperimentalno je te podatke zelo težko izmeriti. V delčni simulaciji pa je to mnogo preprosteje. Zato v naslednjem razdelku primerjamo rezultate delčne simulacije s formulo (11). 3 Delčne simulacije Plazemsko diodo, ki smo jo opisali v prejšnjem razdelku simularamo z delčno kodo XPDP1 [6]. Za pozitivne ione izberemo protone, njihovo temperaturo pa postavimo kTSi = 0.1 eV. Temperaturo elektronov izberemo kTS1 = 20 eV. Pri emitiranih elektronih izberemo več različnih temperatur kTc2. Dolžino diode nastavimo na 6 cm. Vbrizgavanje elektronov z desne elektrode nastavimo na j1 = 60 A/m2, vbrizgavanje emitiranih elektronov z leve strani j2 pa počasi povečujemo. Pri vsakem paru j1 = 60 A/m2 in j2 nato nastavimo vbrizgavanje ionov ji tako, da je električno polje ES ob desni elektrodi enaki nič. To električno polje določamo iterativno s strelsko metodo, kar je časovno zelo zamudno. Slika 3: Dva primera profilov potenciala F(x) (levo) in električnega polja E(x) (desno), ki ju dobimo iz simulacij za parametre kTs1 = 20 eV, kTa = 1 eV, kT{ = 0.1 eV, j = 60 A/m2 in pri 2 vrednostih j2. Na sliki 3 vidimo dva primera profilov potenciala in električnega polja, ki ju dobimo iz simulacij pri: kTSi = 0.1 eV, kTS1 = 20 eV in kTC2 = 1 eV. Gostota toka vbrizganih elektronov je j1 = 60 A/m2, izberemo pa tudi 2 vrednosti za j2 in sicer j2 = 9.84 A/m in j2 = 300 A/m . Pri vsakem j2 poiščemo takšno vbrizgavanje ionov ji, da je električno polje ES ob desni elektrodi kolikor je le mogoče blizu ničle. Vidimo, da je pri j2 = 9.84 A/m2 tudi električno polje ob levi elektrodi zelo blizu ničle, zato to vrednost emisije proglasimo za kritično emisijo jc. Na spodnji levi sliki je formiranje virtualne katode zelo dobro vidno. Potencial lebdenja je FC = -27.7 V potencial virtualne katode pa FM = -31.3 V. Globina potencialne jame je 3.6 V. Na podoben način izvedemo še mnogo simulacij, kjer spreminjamo j2 parametrov kTSi = 0.1 eV, kTS1 = 20 eV, kTC2 = 1 eV in j1 = 60 A/m2 pa seveda ne. Emisijo j2 spreminjamo med 20 A/m2 in 1100 A/m2. Vse te vrednosti krepko presegajo kritično emisijo jc = 9.84 A/m2. Pri vsaki vrednosti j2 izmerimo potenciala FC in Fm. Tako dobimo sliko 4. Z naraščajočim j2 oba potenciala naraščata, narašča pa tudi razlika med njima -spodnji graf na sliki 4. Emisijo povečujemo do j2 = 1100 A/m2. Pri večji emisiji začne potencial v sistemu oscilirati in pride tudi do povratnega toka ionov proti desni elektrodi. Slika 4: Potencial lebdenja kolektorja FC in potencial virtualne katode FM dobljena iz delčnih simulacij v odvisnosti od j2 pri: kTS1 = 20 eV, kTa = 1 eV, kT{ = 0.1 eV in j = 60 A/m2. Da bi mogli primerjati rezultate delčnih simulacij s formulo (11), moramo rezultate s slike 4 najprej J 188 normirati. Potencial normiramo na kTS1le0 = 20 V. Temperaturi kTS1 = 20 eV in kTC2 = 1 eV data s = 0.05, emisijo j2 pa normiramo s kritično emisijo jc = 9.84 Alm2, - glej sliko 3. Normirane rezultate simulacij prikazujemo z majhnimi kvadratki na sliki 5. Polna črta na sliki 5 pa kaže napoved formule (11). Vidimo, da je do j2ljc « 40 ujemanje med simulacijami in računskim modelom skoraj popolno. Pri večji emisiji pa formula (11) napoveduje manjšo globino potencialne jame YC -Ym, kot jo dobimo iz simulacij. Razloga za to razhajanje zaenkrat še ne poznamo. 0.35 0.00 J,-,-,-,-,-.-,-,-,-,-,-.-r- 0 20 40 60 80 100 120 j2 !jc Slika 5: Normirana globina potencialne jame pred elektrodo v odvisnosti od normirane gostote toka emitiranih elektronov pri istih parametrih kot na sliki 4. Polna črta prikazuje rezultat formule (11), kvadratki pa rezultat delčne simulacije. 4 Sklep S kinetičnim računskim modelom in delčnimi simulacijami smo preučevali nastanek virtualne katode pred električno lebdečo elektrodo, ki emitira elektrone. Za simulacije smo uporabili kodo XPDP1 [6]. Ko elektronska emisija preseže kritično vrednost pride do nastanka potencialne jame - virtualne katode. Izpeljali smo preprosto formulo, ki povezuje emisijske parametre z globino potencialne jame pred elektrodo. Njene napovedi smo primerjali z rezultati delčnih simulacij. Dokler emisija elektronov ne preseže približno 40-kratne kritične emisije, je ujemanje med simulacijami in napovedjo formule (11) skoraj popolno, pri večji emisij pa formula (11) napoveduje manjšo globino potencialne jame, kot jo pokažejo delčne simulacije. Razlage za to razliko zaenkrat še nimamo. Simulacije pokažejo še en zanimiv rezultat. Ko narašča emisija, narašča tudi potencial lebdenja in ni opaziti nobenega nasičenja potenciala lebdenja ob veliki emisiji. Pri emisijskih sondah [3] namreč praviloma pride do nasičenja potenciala lebdenja ob naraščajočem gretju sonde, ko se potencial lebdenja dovolj približa potencialu plazme. Zahvala Zahvaljujemo se za finančno podporo ARRS v okviru programa P2-0073 in projekta BI-FR/CEA/17-19-002. Literatura [1] L. A. Schwager and C. K. Birdsall, "Collector and sorce sheaths of a finite ion temperature plasma", Phys. Fluids B, vol. 2, no. 5, o. 1057-1068, 1990. [2] L. A. Schwager, "Effects of secondary and thermionic electon emission on the collector and source sheaths of a finite ion temperature plasma using kinetic theory and numerical simulation", Phys. Fluids B, vol. 5, no. 2, p. 631-645, (1993). [3] J. P. Sheehan, N. Hershkowitz, "Emissive probes", Plasma Sources Sci. Techol. vol. 20, no. 6, p. 063001, (22 pages), 2011. [4] J.P. Gunn, S. Carpentier-Chouchana, F. Escourbiac, T. Hirai, S. Panayotis, R.A. Pitts, Y. Corre1, R. Dejarnac, M. Firdaouss, M. Kočan, M. Komm, A. Kukushkin, P. Languille, M. Missirlian, W. Zhao and G. Zhong, "Surface heat loads on the ITER divertor vertical targets" Nucl. Fusion vol. 57, p. 046025 (35 pages), 2017. [5] T. Gyergyek, B. Jurčič-Zlobec, M. Čerček, "Potential formation in a one-dimensional bounded plasma system containing a two-electron temperature plasma: Kinetic model and PIC simulation", Phys. Plasmas, vol. 15, no. 6, p. 063501 (28 pages), 2008. [6] J. P. Verboncoeur, M. V. Alves, V. Vahedi and C. K. Birdsall, "Simultaneous Potential and Circuit Solution for 1d bounded Plasma Particle Simulation Codes," J. Comput. Phys., vol 104, no 2, p. 321-328, 1993. 189 REPUBLIKA SLOVENIJA MINISTRSTVO ZA IZOBRAŽEVANJE, ZNANOST IN ŠPORT Identifikacija varne pristajalne cone Aljaž Blažič1, Klemen Kotnik1, Kristina Nikolovska1, Miha Ožbot1, Martin Pernuš1, Uroš Petkovič1, Nika Hrušovar2, Matic Verbič2, Irena Ograjenšek2, Andrej Zdešar1, Matevž Bošnak1, Tine Tomažič3, Gregor Klančar1 1 Fakulteta za elektrotehniko, Univerza v Ljubljani 2 Ekonomska fakulteta, Univerza v Ljubljani 3 PIPISTREL VERTICAL SOLUTIONS d.o.o Identification of a safe landing zone Abstract. Recently, there has been a growing interest in developing autonomous lending systems which is the greatest challenge of the whole autonomous flight mission. This paper presents market research results of currently available sensors for environment recognition during landing. Main focus is given to development of algorithms for the safe-landing zone estimation using LIDAR and stereo-camera sensors. And finally, the paper highlights challenges in this research field. 1 Uvod Ob pojavu revolucionarne inovacije, kot je bil v preteklosti npr. avtomobil, ki je omogočil razvoj množične mobilnosti, se sedaj bliža nova inovacija na področju transporta, ki bo omogočala potovanje po zraku in občutno zmanjšala tako stroške kot porabljen čas. Eden ključnih izzivov avtonomnega delovanja letala VTOL (vertical take off and landing) je avtomatizacija pristajanja. Tu je potrebno identificirati primerno površino oziroma območje, na katerem lahko letalo zanesljivo pristane. Ta ne more biti odvisno samo od pilotovega pogleda iz kabine, ki lahko ima nepopolne informacije. Zato smo razvili predlog senzorskega sistema, ki bo sprva pilotu v pomoč v prihodnje pa omogočal avtonomno delovanje. Odločili smo se za povezovanje in nadgradnjo obstoječih rešitev zaradi ekonomije obsega, kjer se cena končnega izdelka s povpraševanjem zmanjšuje. Namreč vizija vključenega podjetja je izdelek tržiti na globalnem trgu. Predstavljeno delo je nastalo v okviru PKP projekta (po kreativni poti do znanja) katerega osnovni cilj je vključitev študentov v reševanje konkretnih problemov katere definira sodelujoče podjetje. Sodelovalo je osem študentov iz Fakultete za elektrotehniko in Ekonomske fakultete Univerze v Ljubljani, ter pet mentorjev iz omenjenih fakultet in podjetja PIPISTREL VERTICAL SOLUTIONS d.o.o. V prispevku je najprej predstavljena raziskava trga obstoječih zmogljivih senzorjev za namen razpoznavanja pristajalne cone. Nato sledi opis razvoja algoritmov, ki so uporabljeni za obdelavo podatkov, identifikacijo pristajalne cone iz meritev in ustrezne predstavitve rezultatov uporabniku. Pri razvoju smo se osredotočili na 3D LIDAR in stereo kamero, ki sta se izkazala za najprimernejša. Vrednotenje delovanja predlaganih sistemov je izvedeno na realističnih meritvah. Na koncu so izpostavljeni bodoči izzivi na tem področju raziskav. 2 Opis problema in predstavitev uporabljenih orodij Cilj projekta je predlog avtonomnega sistema za pristajanje letala VTOL. Predlog vključuje izbiro ustreznih senzorjev, njihove primerne postavitve na letalo, obdelavo podatkov in izvedba osnovnih algoritmov. Najprej smo definirali osnovne predpostavke, izhodišča in omejitve. Sistem mora delovati od višine 50 metrov in manj. Končna odločitev za pristanek naj bo podana iz višine vsaj 15 metrov. Senzorji naj ne vsebujejo vrtečih delov zaradi robustnosti, njihov vpetje naj bo fiksno oz. je dovoljena le rotacija v eni smeri. Lahko se uporabi več senzorjev po trupu. Celotna cena senzorskega sistema naj ne preseže 10000€. Pri delu smo uporabili sledeča orodja. Matlab, kjer je potekal osnovni razvoj algoritmov. Okolje je primerno v fazi razvoja, saj vsebuje številne knjižnice, omogoča enostavno delo z matrikami, hitro implementacijo algoritmov, enostavne prikaze, digitalno obdelavo signalov, ipd. To programsko okolje je bilo uporabljeno za implementacijo algoritmov in obdelavo podatkov LIDARja in slik. PCL (Point cloud library) je odprta knjižnica za obdelavo 2D in 3D slik in točk oblakov. Vsebuje algoritme za filtriranje, rekonstrukcije površine (modeliranje in segmentiranje), razpoznavanje objektov iz oblik. Celotna knjižnica je sestavljanja iz manjših knjižnic. Podpira stereo kamere, 3D skenerji, Kinect itd. PLC knjižnica je bila uporabljena pri obdelavi slik, ki so bile dobljene iz kamer. Fusion 360 je program za 3D risanje. To je prvo 3D orodje, ki povezuje celoten proces razvoja izdelka (CAD, CAM in CAE) v eno platformo. Je odprt program za študente. Uporabljen je bil pri risanju predlaganih 3D modelov in postavitev kamer na 3D model letala. ERK'2018, Portorož, 190-193 190 3 Pregled senzorjev za namen avtonomnega pristajanja - radar kombiniran s stereo kamero ter - ToF kamera kombinirana s stereo kamero. Senzorji so glavni gradniki za izvedbo avtonomnega pristajanja letala. Pri izberi so imeli prednost senzorji, ki imajo vsaj 30 metrov dometa, nimajo vrtljivih mehanskih delov ter so dovolj robustni. Cilj opravljene analize je bil ugotoviti, kaj trg senzorjev ponuja, katere tipe, kaj od tega je za nas uporabno, kaj je že v prodaji in kaj šele v razvoju. Pregledana je bila celotna ponudba (3D, 2D in 1D LIDAR, kamere, stereo kamere, IR kamere, radarji, ToF kamere, ultrazvočni senzorji itd.) od teh pa izbran najbolj primeren nabor za naš problem (glej Tabelo 1). Ugotovljeno je bilo, da veliko ponudnikov trži rešitve, ki so še v razvoju in zato dejansko nedostopne in s pomanjkljivimi specifikacijami. Tovrstno razočaranje so bili Solid-State LIDARji, saj nimajo mehansko premikajočih delov in so zato bolj robustni in bi posledično bili najprimernejša izbira. Poleg nedostopnosti jim trenutno večinoma uporabo omejuje še majhno vidno polje, domet, resolucija in cena. Zelo velik potencial imajo kamere (stereo), zaradi dostopnosti in informativnosti meritve oz. slik. Večji izziv pa predstavlja kakovostno obdelava slik in pridobivanje zanesljivih 3D slik oziroma oblaka točk na večjih razdaljah. Delovanje IR kamer je odvisno od temperaturnega kontrasta okolice, ki lahko zelo niha v določenem območju. A kljub vsemu vrne 2D sliko, primerno za obdelavo in hitro analizo potencialnih objektov. ToF kamere delujejo le na (pre-) kratkih razdaljah in v dobrih razmerah (lepo vreme). Dobra stran pa je, da neposredno meri 3-D informacijo. Radarji lahko delujejo tako na kratkih, kot tudi dolgih razdaljah, a so omejeni s slabo resolucijo. Izbira trenutno najprimernejših senzorjev za našo rešitev in dostopnih na trgu prikazuje Tabela 1. Tabela 1. Izbrani senzorji Tip senzorja Senzor Solid-State LIDER Stereo kamere Infrardeca kamera Time of Flight Radar Cepton HR80W MultiSense S2 NightHawk 2 03D303 Continental ARS4-A Predlagani so štiri različni scenariji za zaznavanje okolice pristanka. Vsem je skupna osnovna ideja v pridobitvi 3D oblaka točk prostora, katerega nato obdelamo z namenom identificiranja dobrih in slabih ravnin oz. območij. Pri klasifikaciji ravnin se je za najprimernejšo izkazala metoda RANSAC (RANdom SAmple Consenses). Vsak scenarij vsebuje kombinacijo dveh različnih principov senzorjev, kjer slabosti enega odpravijo prednosti drugega. Narejene so naslednje kombinacije senzorjev: - solid-state LIDAR kombiniran s stereo kamero, - IR kamera kombinirana s stereo kamero, Vsi možni pristopi temeljijo na postopnem merjenju, kjer je uporaba senzorja namenjena za različne višine, s tem se izboljša natančnost in zanesljivost zajete meritve. Večje število senzorjev doda k redundanci, s tem se poveča varnost ob okvari in se pridobi več virov informacij za primerjavo z drugimi viri informacij. Nekateri senzorji, npr. solid state LIDAR, imajo zelo ozko področje merjenja (FoV) kot je npr. 60°x24° pri modelu Cepton HR80W (Wide angle). Možna rešitev (manj robustna) je mehanski mehanizem, ki bi senzor pomikal v krožnem loku pri tem posnel več posameznih slik, katere naknadno združimo v globalno sliko terena. Druga rešitev (dražja in izvedbeno zahtevnejša) je postavitev več enakih senzorjev, ki hkrati pokrivajo večjo površino. Slika 1. Postavitev senzorjev na letalu (LIDAR senzor na sredini in par stereo kamer na krilih) 4 Ocena varne pristajalne cone 4.1 Osnovni pristop Bločni diagram potega obdelave podatkov od zajema meritev do grafičnega prikaza je podan na sliki 2. Le-ta je osnovan tako, da je skupen tako meritvam LIDARja kot stereo kamere s katerima je bila izvedena konstrukcija globinske slike. Uvoz podatkov Priprava RANSAC Glavna V MATLAB podatkov ravnina Pristajalna Dobre in cona slabe točke Grafični prikaz Slika 2: Shema poteka obdelava podatkov 4.2 Izvedba meritev Razvoj in delovanje algoritmov smo izvajali izključno na realnih podatkih. Zajeti so bili z dveh različnih senzorjev LIDAR (Velodyne VLP-16) in stereo kamera (2x ACME VR06 na razdalji 1m). Meritve smo posneli iz okna v drugem nadstropju Fakultete za elektrotehniko (pogled na parkirišče, Slika 3). 191 Slika 3: Prikaz območja, ki je bilo merjeno. 4.3 Pristop z senzorjem LIDAR Podatki iz LiDAR Velodyne VLP-16 so bili dobljeni v obliki pcap, katere se s programom VeloView preoblikuje v format csv (comma-separated values). Podatke uvozimo v MATLAB s pomočjo funkcije csvread, kjer je rezultat oblak točk v kartezičnem koordinatnem sistemu LIDAR senzorja (Slika 4). Velodyne VLP-16 meri 360° vidnega polja, a zanimivo je le specifično področje, tako da odstranimo nepomembne točke. Slika 4: 3D globinska slika meritve LIDARja Iz meritve določimo meje območja in ga razdelimo na podobmočja. V posameznem podobmočju iščemo ravnino, ki se najbolj prilega točkam z RANSAC metodo. RANSAC je iterativni postopek za oceno parametrov matematičnega modela iz podatkov, ki vsebujejo osamelce, za katere ne želimo, da vplivajo na oceno parametrov. V algoritmu se najprej preveri, če je dovolj točk, sicer je podobmočje označeno za nedefinirano območje, nato se naključno izbere tri točke, katere eksaktno določajo eno ravnino. V naslednjem koraku se izračunajo razdalje vseh točk podobmočja do ravnine, kjer se shranijo vse točke, ki so v določeni bližini (npr. vsaj 10 cm) ploskve, te smatramo kot dobre točke. Opisani postopek se «-krat ponovi. Seznam točk shranimo le, ko je teh več kot v vseh prejšnjih poskusih. Dobre točke se lahko klasificira tudi kot točke katere so bile več kot m-krat označene za dovolj blizu naključno najdene ravnine. Po končanih iteracijah je shranjen največji seznam dobrih točk in po metodi najmanjših kvadratov se določi ravnino, katera se najbolj prilega dobrim točkam. Dobljeno ravnino se oceni na podlagi njene vodoravnosti oz. poravnanosti normale ravnine z z-osjo ter skupno oddaljenostjo dobrih točk do nje. Na podlagi odstopanja se dobljeno ravnino oceni za spremenljivo ali nespremenljivo, torej dobra ali slaba cona. V naslednjem koraku se z upoštevanjem vseh dobrih ravnin podobmočij lahko določi glavno ravnino (na Sliki 5-6 označeno s temno zeleno) na več različnih načinov. Težave povzročajo dobre ravnine na različnih višinah. Sledi klasificiranje vseh točk na podlagi oddaljenosti od glavne ravnine, kjer prag (npr. 10 cm) določa točko kot dobro ali slabo. Dodatno se preveri okolico vseh slabih točk, kjer se išče prvo dobro točko okoli dane slabe, katero se naknadno interpretira tudi kot slabo točko. S tem se pridobi informacija o robovih ovir. Vse dane točke se preslika na glavno ravnino, kjer se na področjih, kjer so točke preveč oddaljene med seboj, doda nove "nedefinirane" točke, katere v radiju R ne vsebujejo nobene druge točke. Nato poiščemo največji radij dobrih točk za potencialno najboljšo pristajalno površino. Le-ta ne sme zajeti nobene slabe ali "nedefinirane" točke, dodatno mora biti celotno iskano področje znotraj mej glavne ravnine in ne sme biti v kontaktu z nedefiniranim področjem. Iskanje je iterativni postopek, kjer se iskano področje premika po x- in >"-osi in se shrani najbolj uspešno področje. Končni rezultat razpoznave je grafični prikaz (Slika 5, prva metoda) glavne ravnine z osvetljenim krogom najprimernejše cone pristajanja, malo temnejša zelena barva na ravnini prikazuje dobre točke in rdeča barva prikazuje izbočene ovire. Za drugi način (slika 5) predstavitve rezultatov se najprej v vsakem podobmočju poračuna mediana srednje vrednosti točk, v nedoločenih območjih se ta vrednost določi z mediano sosednjih vrednosti median, ter se vse te točke poveže in oblikuje nepretrgano in nezvezno površino. Slika 5: Prikaz rezultatov s prvo metodo Slika 6:Predstavitev rezultatov po drugo metodi 4.4 Pristop s stereo kamero S stereo kamero, sestavljeno iz dveh kamer ACME VR06, so bili tako kot s senzorjem LIDAR, zajeti zunanji posnetki. Z uporabo kalibriranih stereo kamer se je lahko nato pridobilo ustrezno globinsko sliko. Izkazalo se je, da je kvalitetno izvedena kalibracija izrednega pomena za pridobitev ustrezne globinske slike. V nadaljevanju je opisan postopek pridobivanja globinskih slik. 192 Prvi korak pri obdelavi posnetkov je kalibracija stereo kamere. Z njo se pridobi parametre, ki opisujejo notranje parametre kamere in zunanje parametre kamere. Notranji parametri predstavljajo optični center in goriščno razdaljo kamere. Zunanji parametri predstavljajo orientacijo in oddaljenost med obema kamerama. Zaradi uporabe kamer, ki imata širok zorni kot, je pomembna uporaba radialnih koeficientov distorzije, ki upoštevajo večje lomljenje svetlobnih žarkov ob robovih leče kot ob optičnem centru. Kalibracijo se lahko izvede s pomočjo slike šahovnice, ki je v zornem kotu obeh kamer. Na vsaki sliki se poišče oglišča šahovnice. Z uporabo več slik šahovnic z označenimi oglišči in informacije o resnični razdalji med posameznimi oglišči se lahko izračuna potrebne notranje in zunanje parametre kot tudi parametre distorzije z algoritmom, opisanim po članku [1]. Z uporabo kalibracijskih parametrov se lahko odpravi distorzijo na slikah in jih izravna. Z izravnavo slik se doseže, da pripadajoče točke iz obeh slik ležijo v isti vrstici, oziroma isti vrednosti y koordinate slike. Za dosego tega se uporabi transformacijo slike, ki doseže, da se zdi, kot da sta kameri poravnani paralelno. S pridobitvijo izravnanih slik se lahko na teh izračuna sliko disparitete med obema slikama. Dispariteta predstavlja razliko v slikovnih točkah med stolpcema korespondenčnih točk na levi in desni sliki. Računanje disparitete je potekalo s pol-globalno metodo prileganja (angl. Semi-global matching) [2], ki se od običajnih metod računanja disparitete razlikuje po tem, da zahteva podobno dispariteto med bližnjimi bloki slikovnih elementov, zaradi česar se lahko delno znebimo šuma, ki nastane zaradi neujemanja slikovnih elementov pri iskanju disparitete. Oblak točk iz najdenih parov slikovnih elementov dobimo preko enačbe: 0 0 0 -l/T» -cv —c„ - cx)T -X- -x y Y d Z -1- -W Slika 7: Prikaz dobrih (zelenih), slabih (rdečih) in nedoločenih (črnih) con na sliki leve kamere 5 Zaključek V delu je predstavljen predlog zasnove avtonomnega sistema za pristajanje letala in avtomatične ocene varne cone pristanka, ki temelji na 3D LIDARju in stereo-kameri. Opravljen pregled senzorjev je pokazal, da je veliko senzorjev, ki bi bili primerni (npr. solid-state LIDAR) še v fazi razvoja. Iz opravljene študije vidimo predvsem omejitve in prednosti senzorjev, ki so trenutno na trgu. Rezultati, dobljeni pri vrednotenju delovanja predlaganih algoritmov so dobri, glede na pričakovane težave strojnega vida celo nad pričakovanji. Algoritmi trenutno ne delujejo v realnem času, saj je bil primarni cilj potrditev predlaganih konceptov, algoritmov in nabora senzorjev. Opravljene raziskave nakazujejo, da je mogoče z dostopnimi in cenovno sprejemljivimi senzorji ter obstoječimi algoritmi razviti zanesljiv sistem samostojnega zaznavanja cone pristajanja. Nadaljnje izboljšave in koraki bodočega razvoja bi bili sledeči. Preizkus metodologij na bolj kvalitetnih senzorjih, predvsem kamerah. Nadgradnje algoritmov v smislu večje robustnosti, izbira zanesljivejših značilk pri določanje disparitet slike in delovanje v realnem času. Izvedba meritev na dejanskem letalu s predlaganimi scenariji senzorjev ter izvedba izboljšav v postavitvi senzorjev, njihovi izbiri ter v algoritmih. kjer cx ter cy predstavljata središče senzoija leve kamere, / je goriščna razdalja leve kamere, r je razdalja med kamerama, cx je x-koordinata središča desne kamere, d je dispariteta na koordinatah x ter y. Ker imamo opravka s homogenimi koordinatami, je pozicija slikovne točke v 3D koordinatah enaka (X/W. F/ W, Z /W). Ko je oblak točk dobljen ga obdelujemo na enak način kot z LIDAR podatki (Slika 2 in podpoglavje 4.3). Rezultat obdelave je prikazan na Sliki 7. Vsaka točka na Sliki 7 predstavlja 10x10 pikslov na originalni sliki. Glede na to ali je dobra ali slaba so točka obarva zeleno ali rdeče. V primeru, ko točka ni določena pa na Sliki 7 pripadajoče slikovne elemente prikažemo s črno barvo. Zahvala Delo je nastalo v okviru PKP projekta, ki ga sofinancirata Evropska unija iz Evropskega socialnega sklada in Republika Slovenija. Literatura [1] Z., Zhengyou. A flexible new technique for camera calibration. IEEE Transactions on pattern analysis and machine intelligence, vol. 22 , str.1330-1334, 2000. [2] H. Hirschmuller. Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information. International Conference on Computer Vision and Pattern Recognition, vol. 2, str. 807-814, 2005. 193 Zaznavanje napak na sistemu HVAC z metodama PCA in ICA Anže Stražar, Goran Andonovski Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana E-pošta: strazar@gmail.com, goran.andonovski@fe.uni-lj.si Fault detection on the HVAC system with PCA and ICA methods Abstract. This paper presents a study of fault detection methods on HVAC system. The HVAC system is part of almost every factory and has the function to maintain and provide the desired conditions for comfortable indoor living. The main purpose of the paper is to detect various faults on the HVAC system based on the statistical data. In the paper we briefly introduce the HVAC system and the possible faults that can occure on the system. We tested and compared two statistical fault detection methods, PCA (Principal component analysis) and ICA (Independent component analysis). Moreover we selected the most influentilal components for detection of an individual fault. We also tested different settings of the initial parameters and we choosed the best ones for each fault. Both methods, PCA and ICA, give satisfactory and comparable results. 1 Uvod Konkurenčne razmere na trgu zahtevajo od proizvajalcev boljšo kakovost in učinkovitost proizvodnje. Posledično je čedalje pomembnejša tudi zahteva po pravilnem delovanju različnih sistemov. Napake v delovanju lahko povzročijo poslabšanje kakovosti proizvodnje oziroma celo izpad proizvodnje, kar je lahko povezano z visokimi stroški ali je nevarno okolju. Pri povečanih zahtevah za učinkovitost proizvodnje in kvalitete delovanja procesov v industriji, je torej pomembno vseskozi spremljati celoten proces in zaznavati morebitne napake. V članku bomo obravnavali zaznavanje napak na klimatskem sistemu HVAC - sistem gretja, prezračevanja in hlajenja (ang. Heating, Ventilation and Air Conditioning), pri čemer bomo napake zaznavali na podlagi podatkov, ki poročajo o stanju procesov znotraj sistema [1]. V klimatskih procesih uspešno delovanje temelji na dobrem delovanju vseh podsistemov. V reguliranih procesih obravnava regulacijski algoritem izpad ali slabše delovanje enega od sestavnih elementov kot motnjo. Nekatere napake v delovanju lahko regulacijski algoritem izniči. S tem se običajno močno spremenijo regulacijski signali, lahko se poslabša kakovost regulacije, a brez vpogleda v notranje stanje regulacijskega algoritma, napaka ni očitna. Tu nastopi problem, saj se napaka ne odstrani, proces pa se trajno nahaja izven optimalnih razmer, za katere je bil skonstruiran. To lahko povzroči delovanje v nasičenju, previsoko obrabo aktuatorjev, preveliko uporabo energije itd [2] [3]. HVAC sistem se uporablja za izmenjavo in pripravo zraka. Je del skoraj vsake tovarne in drugih večjih večnamenskih zgradb, kot so izobraževalne ustanove, bolnišnice, poslovne zgradbe ipd.. Njegova naloga je vzdrževanje in zagotavljanje željenih pogojev udobnega bivanja v zaprtih prostorih. Sistem sestoji iz več strojnih elementov, ki imajo različne funkcionalnosti. Zahtevane pogoje v prostorih dosegamo z različnimi gradniki, kot so ventilator, grelnik, hladilnik in vlažilnik zraka [2] [3]. Eden od glavnih namenov vodenja sistema HVAC so regulacije željenih oziroma zahtevanih parametrov, kot so temperatura, vlaga in tlak. Z navedenimi gradniki lahko vplivamo na te parametre. Elemente posredno vodi algoritem vodenja, katerega namen je priprava zraka z želenimi lastnostmi [2] [5]. Za zaznavanje napak smo uporabili pristopa, ki temeljita na metodi glavnih komponent (ang. principle componenet analysis - PCA) in metodi neodvisnih komponent (ang. independent componenet analysis -ICA). Na voljo so še drugi pristopi, med drugimi dinamična metoda glavnih komponent (Dynamic PCA, DPCA), ki je v splošnem razširitev prej omenjene metode glavnih komponent [2] [4]. Pri zaznavanju napak smo se omejili na zaznavanje napak na primerih ventilov grelca, hladilnika ter rekuperatorja. S spoznanimi metodami (PCA in ICA) smo ugotavljali napako stalne odprtosti oziroma zaprtosti ventilov na omenjenih treh gradnikih sistema. Za potrebe testiranja uporabimo podatke, ki so bili pridobljeni s pomočjo Simulink modela HVAC sistema. 2 Teoretične osnove 2.1 Predvidene napake na HVAC sistemu Za pravilno regulacijo sistema je pomembno, da ima operater na voljo pravilne dejanske vrednosti stanj v sistemu. Da zagotovimo pravilen odziv sistema na napake, poskušamo predvidevati vpliv najpogostejših napak in pripraviti sistem na pravilen odziv ob prisotnosti le-teh. Predvidimo več vrst napak na signalih: • zakasnjen signal, • premik signala po amplitudi, • izpad komunikacije, • nepričakovan preklop v ročni način, • odpoved HVAC elementov (grelec, hladilnik, ventilator, vlažilec). Napake na signalih lahko vplivajo na: • odprtost/zaprtost ventila rekuperatorja, grelca, hladilnika, • moč dovodnega ventilatorja, • moč odvodnega ventilatorja, ERK'2018, Portorož, 194-197 194 . idr. [3] [5]. Na spodnji sliki (slika 1) so poudarjena mesta znotraj strukture HVAC sistema, pri katerih želimo preizkusiti zaznavanje morebitnih napak. Izbrana mesta predstavljajo ventile rekuperatorja, grelca in hladilnika, 2.4 Metoda neodvisnih komponent Za zaznavanje napak s PCA in ICA smo uporabili dve metriki: Hotelling-T2 in Q-mera. Napaka je zaznana v tistih trenutkih, ko je mera za delovanje z napako nižja Slika 1. Shema HVAC sistema pri katerih bomo pozorni na napake v obliki odprtosti oziroma zaprtosti ventilov. 2.2 Metoda glavnih komponent Za gradnjo detektorjev različnih napak smo preizkusili metodo glavnih komponent (ang. principle componenet analysis - PCA). Metoda poišče linearna razmerja med spremenljivkami ter omogoči preslikavo osnovnih podatkov v prostor glavnih komponent, katerega osi so med seboj ortogonalne. Spremenljivke meritev v novem prostoru so med seboj nekorelirane. Metoda je uporabna, ko imamo opravka z visoko-dimenzionalnimi podatki, saj omogoča predstavitev podatkov z manjšim številom spremenljivk [2] [7]. Uporabna lastnost PCA je, da omogoča uporabo manjšega števila komponent za predstavitev zadetkov, kot jih je potrebnih za zapis izvirnih podatkov. Transformacijska matrika, ki podatke preslika iz izvirnega prostora v prostor zadetkov, je v osnovi kvadratna. Lahko se zmanjša in izbere le nekaj glavnih komponent. Nekatere komponente nosijo zelo malo informacije (nizke lastne vrednosti) in se jih zato lahko zanemari. S tem se zmanjša dimenzijo matrike zadetkov. Število izbranih komponent določa parameter CPV. Uporabnik določi CPV, ki določa, koliko komponent moramo izbrati za preslikavo v prostor glavnih komponenet - s tem določimo dimenzijo prostora glavnih komponent. Tipična vrednost je CPV = 0.95 = 95 % [2] [7] [8]. 2.3 Metoda neodvisnih komponent Metodo neodvisnih komponent lahko obravnavamo kot posplošitev metode PCA, pri čemer nam metoda ICA podaja več informacij o ločljivosti razredov. Uporabna je za podatke, za katere se domneva, da so linearne kombinacije nekaterih neznanih latentnih spremenljivk. Šteje se, da so latentne spremenljivke ne-Gaussove in neodvisne. ICA najde te neodvisne komponente [9] [10]. Metodo neodvisnih komponent smo vpeljali v obliki algoritma FastICA. kot mera za delovanje brez napake [2] [7]. 2.4.1 Hotelling-T2 Mera, poznana tudi kot Mahalanobisova razdalja, je definirana z enačbo: hi(xi - m)TS-1(xi - m) (1) kjer je i oznaka indeksa vzorca, torej hi predstavlja mero za trenutni vzorec, xi predstavlja vrstico v matriki vzorcev (X), m je (vrstični) vektor srednjih vrednosti vzorcev v matriki X. S je kovariančna matrika: S- m)T(Xi - m) (2) N predstavlja število vzorcev (vrstic matrike X) [2] [7]. 2.4.2 Q-mera Predstavlja kvadrat evklidske razdalje med merjenim vzorcem in nazaj v osnovni prostor preslikanim zadetkom [2] [7]. Ri = (xi - tiP]fK)T(xi - tiPjK) (3) 3 Metodologija dela 3.1 Detektor napak Za gradnjo detektorja napak smo izbrali pristop pri katerem se v koraku učenja detektorju poda dva seta podatkov: set meritev, ki podaja tipično delovanje brez napak ter set meritev sistema za obdobje, ko je prisotna napaka, ki jo želimo zaznati. Detektor preverja, kateremu načinu delovanja meritve ustrezaj o. Za vsak vzorec (vektor meritev) se izračuna mera odstopanja od obeh načinov delovanja (z in brez napake). Vzorec se razvrsti v tisti 'razred' (način delovanja), kjer je mera manjša. Za izgradnjo in testiranje detektorjev napak potrebujemo množico učnih in testnih podatkov, ki so bili za potrebe tega članka že generirani s pomočjo simulacije modeliranega sistema [2] [7]. Za vsak detektor napake smo preiskali širok nabor nastavitev: različne množice simulacijskih signalov oziroma vplivnih komponent, različne vrednosti pragu 195 CPV ter izbrali različne mere za izračun odstopanja (mera T2 in Q). Preiskali smo širok nabor nastavitev za vsak detektor napake ter vsako množico nastavitev ovrednotili. Upoštevni sta tako splošna uspešnost, izračunana na podlagi matrike zamenjav, kot ocena robustnosti. Slednja je izračunana iz razdalje med obema merama v različnih trenutkih [2] [7]. 4 Rezultati 4.1 Napaka na ventilu rekuperatorja - stalno zaprt Izbrana je bila naslednja množica simulacijskih signalov oziroma vplivnih komponent: • odprtost ventila rekuperatorja, • odprtost ventila grelca, • temperatura grelca, • temperatura vpiha, • vlaga vpiha. Tabela 1 povzema uporabljene metode in kriterije s katerimi smo v kombinaciji z izbrano množico vplivnih komponent gradili detektorje napak ter jih zatem tudi ovrednotili. Tabela 1. Uporabljeni kriteriji Metoda PCA & ICA CPV 95%, 80% in 70% Mera T2 in Q-mera V Tabeli 2 in Tabeli 3 je predstavljeno vrednotenje nastavitev zgrajenih detektorjev napak, za napako zaprtega ventila rekuperatorja. Opazimo, da so v splošnem deleži uspešnosti razpoznavanja napak višji, ko za uporabljene kriterije za gradnjo detektorjev uporabimo mero Q, kot metriko za zaznavanja napak in prag CPV z vrednostjo 95%. V Tabeli 2 in Tabeli 3 so navedeni rezultati za prag CPV ob uporabi vrednosti 95% in vrednosti 80%. Ob uporabi pragu z vrednostjo manjšo od 80% se rezultati niso bistveno razlikovali od že uporabljenega pragu CPV z vrednostjo 80%. Le iz zaznavanja napak na ventilu rekuperatorja je težko določiti ali se bolje obnese metoda PCA ali ICA, saj ne dobimo konstantnih enoličnih ugotovitev ob uporabih različnih kriterijev, ki jih zajema gradnja detektorja napake. Tabela 2. Prikaz uspešnosti zaznave napak pri izbranih metodah in kriterijih Tabela 3. Prikaz uspešnosti zaznave napak pri izbranih metodah in kriterijih Uspešnost [%] Mera: Q CPV: 95 % CPV: 80 % PCA ICA PCA ICA Zaprt ventil rekuperatorja 87,7 % 60,4 % 81,8 % 57,3 % 4.2 Pregled skupnih rezultatov Rezultatom razpoznavanja napake na ventilu rekuperatorja dodamo še rezultate razpoznavanja napake na ventilih grelca in hladilnika. Kot napako, pri vseh upoštevamo ventil, ki je stalno odprt. Za ventil rekuperatorja upoštevamo množico vplivnih komponent, ki je predstavljena v poglavju 4.1. Za ventil grelca oziroma ventil hladilnika, pa sta bili izbrani naslednji množici simulacijskih signalov oziroma vplivnih komponent: Stalno odprt ventil grelca: • odprtost ventila rekuperatorja, • odprtost ventila grelca, • temperatura vpiha, • temperatura grelca, • vlaga vpiha. Stalno odprt ventil hladilnika: • odprtost ventila hladilnika, • temperatura vpiha, • temperatura hladilnega medija, • sprememba specifične vlažnosti. Tabela 1 povzema uporabljene metode in kriterije s katerimi smo v kombinaciji z izbrano množico vplivnih komponent gradili detektorje napak ter jih zatem tudi ovrednotili. V Tabeli 4 in Tabeli 5 je predstavljeno vrednotenje nastavitev zgrajenih detektorjev napak za napako stalno odprtega ventila rekuperatorja, grelca in hladilnika. Opazimo, da so v splošnem deleži uspešnosti razpoznavanja napak višji, ko za uporabljene kriterije za gradnjo detektorjev uporabimo mero Q, kot metriko za zaznavanja napak in prag CPV z vrednostjo 95%. V splošnem dobimo boljše rezultate ob uporabi metode PCA. Uspešnost [%] Mera: T2 CPV: 95 % CPV: 80 % PCA ICA PCA ICA Zaprt ventil 42,7 56,6 42,7 42,8 rekuperatorja % % % % Tabela 4. Prikaz uspešnosti zaznave napak pri izbranih metodah in kriterijih Uspešnost [%] Mera: T2 CPV: 95 % CPV: 80 % PCA ICA PCA ICA Odprt ventil 66,9 % 58,8% 72,0 58,8% grelca % Odprt ventil 66,3 % 47,6 66,5 67,2% hladilnika % % Odprt ventil 42,7 % 42,8 42,7 54,2 rekuperatorja % % % 196 Tabela 5. Prikaz uspešnosti zaznave napak pri izbranih metodah in kriterijih Uspešnost [%] Mera: Q CPV: 95 % CPV: 80 % PCA ICA PCA ICA Odprt ventil grelca 56,5% 57,3% 44,1 % 42,7% Odprt ventil hladilnika 97,3% 47,5% 97,0 % 47,5% Odprt ventil rekuperatorja 74,5 % 47,1 % 73,5 % 47,1 % V tabeli 6 je predstavljena legenda napak, ki so predstavljene na sliki 2. Na sliki 2 vidimo, kako izbira metrike za zaznavanje napake pri metodi PCA in izbranem pragu CPV je 95%, vpliva na uspešnost razpoznavanja napake. Opazimo, da je uspešnost razpoznavanja večja v primeru, ko uporabimo za metriko razpoznavanja uporabimo mero Q. Tabela 6. Legenda napak Napaka Oznaka Odprt ventil grelca N1 Odprt ventil hladilnika N2 Odprt ventil rekuperatorja N3 Zaprt ventil grelca N4 Zaprt ventil hladilnika N5 Zaprt ventil rekuperatorja N6 Primerjava mer T*2 in Q pri PCA in CPV 95% ■ Mera T*2 11111 * N2 N3 N4 N5 N6 Vrsta napake Slika 2. Primerjava mer TA2 in Q pri PCA in CPV 95% 5 Zaključek V članku je predstavljeno zaznavanje napak na klimatskem sistemu HVAC. Zaznavanje napak deluje na osnovi metode glavnih komponent in metode neodvisnih komponent. Glavna lastnost naučenega detektorja je transformacijska matrika, ki preslika iz prostora meritev v prostor zadetkov. Predlagani sta dve metriki za ocenjevanje vhodnih vzorcev in s tem zaznavanje tistih z napakami. Pri metodah PCA in ICA, za njuno realizacijo ne potrebujemo modela procesa, temveč le zgodovino merjenih spremenljivk procesa. Metodi odlikuje tudi relativno preprosta realizacija. Zavedati se moramo tudi njunih omejitev. Metodi potrebujeta za uspešno izolacijo napake učno množico podatkov z določeno napako v delovanju. Ti podatki niso vedno dostopni, še posebej če gre za napake v procesu, ki drastično spremenijo njegovo delovanje. V tem primeru si lahko pomagamo le s simulacijo na modelu, ki te napake upošteva. Predstavljen način zaznavanja napak za večino predvidenih napak deluje z zadovoljivo uspešnostjo. Opazimo, da imata pomembno vlogo pri zaznavanju napake vrednost parametra CPV in izbira metrike za zaznavanje napak (Hotelling, Q-mera). Načrtani algoritem za zaznavanje napak se je najbolje obnesel, ko smo za parameter CPV uporabljali vrednost CPV = 95% in kot metriko uporabili mero Q. Literatura [1] G. Klančar, I. Škrjanc: Metoda glavnih komponent pri odkrivanju in izolaciji napak: primer hidravličnega procesa in procesa fermentacije, Elektrotehniški vestnik št. 69, str. 311-316, 2002. [2] Ž. Stržinar: Modeliranje in zaznavanje napak v klimatskih sistemih, Fakulteta za elektrotehniko, Ljubljana, 2017. [3] M. Bastašič: Vodenje in nadzor večjega sistema HVAC, Maribor: Fakulteta za elektrotehniko, računalništvo in informatiko, 2016. [4] V. Štruc: Biometrični pristopi na osnovi računalniškega vida, Fakulteta za elektrotehniko, Ljubljana, 2006. [5] Ž. Stržinar: Prileganje Simscape modelov, Fakulteta za elektrotehniko, Ljubljana, 2017. [6] A. 0yvind: HVAC-systems: Modeling, simulation and control of HVAC-systems, 2011. [7] I. Škrjanc: Inteligentni sistemi za podporo odločanju, Založba FE in FRI, Univerza v Ljubljani, Fakulteta za elektrotehniko. [8] K. Košmelj: Metoda glavnih komponenet: osnove in primer, Acta agriculturae Slovenica, 89-1, str. 159 -172, 2007. [9] Ž. Zaplotnik: Uporaba analize neodvisnih komponent v fizikalnih aplikacijah, Fakulteta za matematiko in fiziko, Ljubljana, 2014. [10] „ICA" [Elektronski]. Available: https://www.cs.helsinki.fi/u/ahyvarin/whatisica.shtml [Poskus dostopa januar 2018]. 00 c (D S 150 (D C rsl O d 100 50 o C >(/1 (L d II N1 0 197 Močnostna elektrotehnika Power Engineering Primerjava različnih izvedb regulacije v močnostni elektroniki Mitja Nemec Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, Ljubljana E-pošta: mitja. nemec@fe. uni-lj.si Comparison of various control approaches in power electronics Abstract. This paper presents different implementations of PID controller that can be found in power electronics applications. In the beginning general application of current and/or voltage control is presented. Then the fundamental difference between serial and parallel architecture of PID controller is described. Furthermore the details regarding the implementation of integral and derivative and the application of feedforward control is explained. Finally the difference between normalized and absolute output of the controller is described and how this impacts the implementation of supply voltage rejection mechanisms. 1 Uvod V močnostni elektrotehniki je regulacija toka in/ali napetosti že dodobra obdelana tema. Pričujoči članek se tako loteva praktičnih vidikov implementacije regulacije in njihovih medsebojnih vplivov, česar v strokovni literaturi ne zasledimo . Regulacija toka in/ali napetosti je lahko izvedena na več različnih načinov bodisi popolnoma analogno kot histerezna, časovno diskretna ali tudi kot zvezna regulacija [1], [2], vendar pa se te rešitve umikajo digitalnim pristopom [3]. In pri teh je daleč najbolj razširjena regulacija povprečne vrednosti (ang. average mode control) kateri je tudi posvečen ta članek. Splošno močnostno stopnjo za regulacijo toka ali napetosti predstavlja shema na sliki 1. Z močnostno stopnjo, ki je lahko sestavljena iz kakršne koli topologije (pretvornik navzdol, pretvornik navzgor, poln mostič, ...), reguliramo tok skozi induktivnost in posredno napetost na kondenzatorju. Pri tem so lahko upornost R, induktivnost L in napetost E, oziroma kapacitivnost C že del bremena. Lahko pa je induktivnost z upornostjo del močnostne stopnje za omejevanje strmine toka, napetost E pa je napetost bremena. Tako sestavo srečamo pri razsmernikih oziroma aktivnih usmernikih [4]. fbr (s) =- 1 1/R Slika 1. Shema tipične regulacijske zanke v močnostni elektroniki. Prenosno funkcijo bremena v primeru tokovne regulacije lahko zapišemo kot » r , ' (1) R + L ■ s 1 + tbr- s kjer je tbr časovna konstanta bremena. Prenosna funkcija bremena v primeru regulacije napetosti pa je: 111/R 1 fbr (s) = ^7—7;— = 1 + TBR- s C ■ s (2) R + L ■ s C ■ s Prvi približek prenosne funkcije močnostne stopnje in PWM modulatorja je prav tako člen prvega reda [3], kjer je časovna konstanta povezana s preklopno periodo: Fm (s) = T-" ,tm = -15 (3) 1 + T„ fSW Izkaže se, da je ta približek dovolj dober [3], saj je tipično preklopna perioda bistveno krajša kot časovna konstanta bremena in tako nima velikega vpliva na sistem. V primerih, ko pa to ne drži, se lahko poslužujemo Padejevih približkov višjega reda. V kolikor pri meritvi toka in/ali napetosti ne nastopa kakšna zakasnitev, ki jo ne moremo zanemariti, imamo tako pri regulaciji toka opravka z zelo enostavno regulacijsko zanko, ki jo sestavljata dva zaporedno vezana člena 1. reda (slika 2). Slika 2. Blokovna shema regulacijske zanke Parametri sistema, ki so uporabljeni pri simulacijah v nadaljevanju članka se nahajajo v tabeli 1. Tabela 1. Parametri uporabljeni pri simulaciji Opis Simbol Vrednost Induktivnost L 1 mH Upornost R 0,1 D Inducirana napetost oz. napetost bremena E 2 V Napajalna napetost Udc 24 V Frekvenca vzorčenja fsw 10 kHz Struktura PID regulatorja Osnovna struktura PID regulatorja, ki jo lahko zasledimo v literaturi, je tako imenovana paralelna struktura, ki je prikazana na sliki 3. Pri tem so proporcionalni, integralni in diferencialni del medsebojno popolnoma neodvisni, kar olajša teoretično obravnavo in to je tudi razlog, da je ta arhitektura tipično uporabljena v akademskih tekstih. ERK'2018, Portorož, 201-204 201 Slika 3. Paralelna arhitektura PID regulatorja Vsak realen regulator, ki vsebuje integralni člen, ima izvedeno tudi preprečitev integralnega pobega (ang. anti-windup), s čimer se prepreči nepotrebna akumulacija napake v integralnem členu med prehodnimi pojavi, ko je izhod regulatorja v nasičenju. Nasičenje je lahko implementirano v samem regulatorju, ali pa v katerem izmed blokov ki mu sledijo. Bistveno je, da se zazna, kdaj je zanka v nasičenju in se nato tudi ustrezno ukrepa. Prenosna funkcija paralelnega PI regulatorja je v osnovi FPI (s) = Kp +^ + Td • s, (4) T • s Tp ■s Tp 's 1 + •s 1 + tbr ■s Kjer sta Kp ojačanje proporcionalnega člena, Ti pa časovna konstanta integratorja. Pogosto pa integralni del raje zapišemo z ojačanjem namesto časovne konstante, saj je bolj razumljivo, ko želimo integralni člen izklopiti (ojačanje Ki=0, časovna konstanta Ti=m) FPI (s) = Kp + K + Kd • s (5) s Na tem mestu naj še omenimo alternativni zapis s skupnim imenovalcem, kateri je bolj nazoren pri nastavljanju parametrov regulatorja toka, ko uporabljamo samo PI regulator [3], [5], [6]. 1 + T • s FP[ (s) = Kp -+TP— + Kd • s , (6) Slika 4. Odziv ob spremembi želene vrednosti toka in ob spremembi napetosti bremena 3 Praktične izvedbe regulacije Čeprav je paralelna arhitektura PID regulatorja enostavnejša za razlago in posledično tudi za razumevanje vloge posameznega regulacijskega člena, pa je eksperimentalno parametriranje najbolj težavno ravno pri paralelni arhitekturi. V praksi se namreč regulatorje raje nastavlja eksperimentalno (ali je to zaželeno ali ne, presega okvire tega članka). 3.1 Serijska arhitektura PID regulatorja V praksi tako večkrat zasledimo uporabo serijske arhitekture [5], [6], pri kateri je delovanje integralnega dela odvisno tudi od proporcionalnega dela (slika 5). kjer velja Tip = Ti • Kp. V kolikor pogledamo prenosno funkcijo za tokovno regulacijsko zanko (7) pridemo do načina nastavljanja parametrov regulatorja, ki je najbolj pogosto v uporabi [7]. tf.(s) = Kp (7) Slika 5. Serijska arhitektura PID regulatorja Čeprav je delovanje obeh regulatorjev enako je pri nastavitvah treba upoštevati relacijo: K K I _ serijski I _ paralelni K (9) Ker velja tbr >> tm, je najbolj smiselno, da izberemo časovno konstanto TIP tako, da izničimo pol z najdaljšo časovno konstanto. TIP = Tbr (8) Ojačanje proporcionalnega regulatorja pa se potem nastavi z ozirom na fazno oz. amplitudno rezervo. Ob tako nastavljenem regulatorju dobimo ustrezen odziv ob skočni spremembi želene vrednosti (slika 5) odziv ob spremembi napetosti bremena (ob času 0,006 s) pa ni optimalen. Prednost serijske arhitekture je prikazana na sliki 6. V izhodišču imamo tako serijski kot paralelni PI regulator z enako frekvenčno karakteristiko. Ko pri paralelni arhitekturi znižamo proporcionalno ojačanje se frekvenčna karakteristika spremeni tako amplitudno, kot tudi fazno. Pri takem obnašanju lahko v določenih primerih naletimo na neintuitivno obnašanje, saj lahko sistem postane nestabilen tako v primeru povečevanja ojačanja (pričakovano) kot tudi v primeru zmanjševanja ojačanja (nepričakovano). Pri serijski arhitekturi, pa se ob spremembi proporcionalnega ojačanja, spremeni samo amplitudna karakteristiki, fazna karakteristika pa ostane enaka. Zaradi tega je serijska arhitektura regulatorja bolj primerna za eksperimentalno nastavljanje parametrov. 202 10' 10 10' * (°) 10' -50 -1001 10' 10' 10' 10' 10' f (Hz) ' Slika 6: Frekvenčni odziv serijske in paralelne arhitekture PI regulatorja ob spremembi proporcionalnega ojačanja. 3.4 Vpeljava kompenzacijske veje Da dosežemo hitrejši odziv ob spremembi napetosti bremena je najbolj pogosto uporabljena rešitev vpeljava kompenzacijske veje (slika 9). Tu moramo napetost bremena meriti ali pa vsaj zanesljivo in hitro oceniti [4]. V kolikor imamo ta podatek znan, ga lahko direktno prištejemo k izhodu regulatorja in s tem bistveno pospešimo odziv (slika 10). Slika 9. Vpeljava regulacijske krmilne veje A 3.2 Izvedba integralnega člena Ne glede na uporabljeno numerično ločljivost je pri izvedbi integralnega regulatorja potrebna pazljivost. Integralni člen se v časovno diskretni obliki zapiše kot y(n) = y(n -1) + ^x(n). (10) V primeru, ko je perioda vzorčenja At zelo kratka je lahko drugi člen (ne glede na velikost časovna konstante Ti oziroma vhoda x(n)) bistveno manjši kot akumuliran izhod (y(n) oziroma y(n-1)). V tem primeru se zaradi numerične napake vhodna vrednost preneha akumulirati. Tipična rešitev tega problema je, da se za akumulirano vrednost izbere zapis z dvojno ločljivostjo. 3.3 Izvedbe diferencialnega člena V realnih primerih, je v signalu napake vedno prisoten tudi šum, katerega visoke frekvence ojača diferencialni člen. Tipična rešitev je, da se v serijo doda nizkopasovno sito 1. ali 2. reda (slika 7). To sicer delno ali v celoti izniči težave s šumom, vendar pa se na ta račun poslabša stabilnost regulacijske zanke in tudi parametriranje regulatorja je težje. Slika 7: Diferencialni člen s filtrom Ker se diferencialni člen uporablja za izboljšanje stabilnosti zanke, ki je posledica prenosne funkcije sistema, pogosto srečamo rešitev kjer diferencialni člen deluje samo na povratni veji (slika 8). Tako se ohrani prispevek regulatorja k stabilnosti sistema, vpliv hitrih sprememb želene vrednosti pa se ne prenese preko regulatorja. Slika 8: Diferencialni člen samo na povratni veji -2-1-1-1-1-1-1-1-1-1- 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 Slika 10. Odziv ob vpeljavi direktne regulacijske veje Zelo pogosto je kompenzacijske veja izvedena v samem regulatorju. To sicer zahteva dodatni vhod v regulator, vendar pa je v tem primeru tudi kompenzacijska veja vključena v preprečitev integralskega pobega zaradi nasičenja izhoda regulatorja (slika 11). Slika 11. Vpeljava direktne regulacijske veje v PI regulator Pri vpeljavi kompenzacijske veje pa je treba biti pozoren na dve stvari: šum in zakasnitev kompenzacijskega signala. Šum, ki nastopa pri meritvi signala se preslika na izhod regulatorja, kar lahko bistveno vliva na delovanje regulacije. Sicer lahko šum filtriramo, vendar pa se s tem vnese zakasnitev, kar lahko naredi cel sistem nestabilen. 3.5 Vpeljava direktne krmilne veje S paralelno direktno krmilno vejo se združi tako krmiljenje kot regulacijo. Pogosto je uporabljena pri regulaciji izhodne napetosti, ko je izhodna napetost odvisna od preklopnega razmerja močnostne stopnje, regulator pa samo popravlja krmilno veličino zaradi ostalih vplivov (breme, napajalna napetost, ...) (slika 12). Tudi v tem primeru je zaželeno, da direktna krmilna veja vstopa v regulator z namenom izboljšanja preprečitve integralnega pobega. 203 Slika 12. Direktna krmilna veja 3.6 Zvezni preklop V primerih, ko želimo preklapljati med ročnim nastavljanjem krmilne veličine in regulacijo, je za doseganje zveznega preklopa potreben dodaten poseg v regulator (slika 13). Na ta način dosežemo, da izhod regulatorja vedno sledi nastavljeni krmilni veličini, in ob preklopu na regulacijo ni nepotrebnega prehodnega pojava. 3.9 Upoštevanje sprememb napajalne napetosti Pri aplikacijah, kjer se napajalna napetost spreminja (baterijsko napajanje, enofazno napajanje s slabšim glajenjem, ...), to v regulacijski zanki povzroča spremembo ojačanja sistema. V primeru absolutnega izhoda iz regulatorja to ne predstavlja težave, saj močnostna stopnja poskrbi, da je na izhodu želena napetost ne glede na napajalno napetost. Pri normiranem izhodu regulatorja pa to nekoliko zakomplicira izvedbo. Ena izmed rešitev je, da se v zanko doda spremenljivo ojačanje (slika 16), ki je odvisno od napajalne in napetosti s čimer dosežemo, da je ojačanje sistema konstantno. [-1.+1] Slika 13. Zvezni preklop 3.7 Normirani izhod V praksi zelo pogosto srečamo izvedbo regulatorja pri katerem so tako vhodne kot izhodne veličine normirane na območje [-1, +1] (slika 14). Taka izvedba je še posebej primerna za izvedbo s fiksno vejico z nizkim številom bitov zaradi kontroliranega numeričnega razpona. Dodatna prednost te izvedbe je bolj enostavna ponovna uporaba še posebej v aplikacijah, kjer morajo biti vse komponente preverjene in potrjene. Normirana izvedba regulatorja pa zahteva dodatno pripravo, saj je treba ojačanja regulatorja, ki jih dobimo na podlagi teorije ustrezno prilagoditi. Slika 16. Spreminjanje ojačanja Pri alternativni rešitvi, ki gre pod tujim imenom »gain scheduling«, pa se spreminja ojačanja regulatorja na podlagi napajalne napetosti (slika 17). Ta rešitev je relativno preprosta v primeru serijske arhitekture regulatorja, pri paralelni izvedbi pa je nekoliko bolj zakomplicirana. Slika 14. Normirani izhod regulatorja 3.8 Absolutni izhod V primeru, ko za izvedbo regulacijskega algoritma uporabljamo plavajočo vejico, ni več potrebe po normirani izvedbi, pa je izhod regulatorja omejen z omejitvami ki so prisotne v sistemu (slika 15). V primeru napetostno napajanih pretvornikov je to napajalna napetost. [-Udc+I/KJ Slika 15. Absolutni izhod regulatorja Slika 17. Spreminjanje ojačanja 4 Zaključek Čeprav je bil klasičen PID regulator teoretično obravnavan že iz vseh zornih kotov vidimo, da obstaja več načinov praktične realizacije. Pričujoči članek opiše osnovne lastnosti posamezne izvedbe končna izbira pa je seveda odvisna od specifične aplikacije. Literatura [1] S. Buso, L. Malesani, in P. Mattavelli, "Comparison of current control techniques for active filter applications," IEEE Trans. Ind. Electron., vol. 45, no. 5, pp. 722-729, 1998. [2] J. Holtz, "Pulsewidth modulation-a survey," IEEE Trans. Ind. Electron., vol. 39, no. 5, pp. 410-420, 1992. [3] S. Buso in P. Mattavelli, "Digital Control in Power Electronics," Synth. Lect. Power Electron., vol. 1, no. 1, pp. 1-158, Jan. 2006. [4] M. Nemec, "Uporaba alfa-beta filtra v močnostni elektroniki," in ERK 2016, 2016, p. str. 253-256. [5] A. O'Dwyer, Handbook of PI and PID controller tuning rules. World Scientific, 2009. [6] K. J. Astrom in T. Hagglund, PID controllers: theory, design, and tuning, vol. 2. ISA Research Triangle Park, NC, 1995. [7] V. Ambrožič in P. Zajec, Električni servo pogoni. V Ljubljani: Slovensko združenje elektroenergetikov CIGRE-CIRED, 2016. 204 Tok enosmernega tokokroga pri večfaznih pogonih Mitja Nemec Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: mitja. nemec@fe. uni-lj.si Instructions and Template for ERK Conference (ERK_Title) Abstract. This paper presents the impact of parallel multiphase drive topologies on DC link current. Utilizing correct phase shift between parallel power stages the AC components of the DC link current can be significantly reduced, but as the simulation results show the attenuation depends on the drive operating point and is subject to law of diminishing returns with more parallel stages. Furthermore parallel operation changes the frequency spectra of DC link current moving the main frequency components higher but modulation algorithm used also has significant impact on the frequency spectra. 1 Uvod Področje večfaznih pogonov je v zadnjem desetletju doživelo velik preboj predvsem na področju raziskav in le vprašanje časa je, kdaj se bodo pričeli v večji meri tudi pojavljati v praksi. V raziskavah je bilo največ pozornosti namenjene osnovnemu principu delovanja [1], [2], redundanci, ki jo tak pogon lahko omogoča [3] in zmanjševanju motenj predvsem na strani stroja (tako zmanjševanju harmonske vsebine, kot tudi sofazne komponente) [4], [5]. Vendar pa lahko z večfaznimi pogoni tudi zmanjšamo vplive, ki jih pretvornik povzroča na strani enosmernega tokokroga. Čeprav so bile v preteklosti že opravljene raziskave, kako je tok enosmernega tokokroga odvisen od obratovalne točke [6] in modulacijskega algoritma [7], raziskav na temo vplivov večfaznih pogonov na tok enosmernega tokokroga ni bilo veliko [8]. V tem članku si bomo pogledali kakšen tok lahko pričakujemo na enosmerni strani in kako z večfaznim pogonom zmanjšamo izmenično komponento toka v enosmernem tokokrogu, ter kak vpliv imajo različni modulacijski algoritmi. 2 Opis večfaznega pogona Pri klasičnem trifaznem pogonu z B6 močnostnim pretvornikom, se močnostni pretvornik obnaša kot pretvornik navzdol. To pa pomeni, da je tok v močnostni pretvornik trgan, kar lahko vidimo na sliki 1. Na obliko toka imajo zelo malo vpliva parametri stroja (upornost, induktivnost) več vpliva pa ima delovna točka pogona (hitrost, navor). Taka oblika toka povzroča veliko obremenitev kondenzatorjev enosmernega tokokroga in hkrati tudi povzroča motnje, ki se širijo predvsem preko napajalnega voda. Obremenitev enosmernega tokokroga z izmenično komponento toka lahko zmanjšamo v primeru, da imamo več paralelnih močnostnih stopenj od katerih vsaka prevzame del moči (toka). V primeru, ko je proženje močnostnih stopenj fazno zamaknjeno, se fazno zamakne tudi enosmerni tok posamezne močnostne stopnje in se lahko izmenična komponenta toka posameznih močnostni stopenj med seboj odšteje. Omenjeno topologijo lahko dosežemo z večfaznim pogonom [9]. 2onnnnnrinrircfVnf ^ Ar it i 15----------------------------------- 10----------------------------------- 5----------------------------------- o^ H IIIINIIIMINIMI II III II II II III II II II II t (ms) 0 0.1 0.2 0.3 0.4 0.5 Slika 1: Oblika toka v enosmernem tokokrogu klasičnega B6 močnostnega pretovornika Vendar pa so s stališča zmanjševanja vplivov na enosmernem tokokrogu paralelnega obratovanja s faznim zamikanjem nosilnega PWM signala v praksi zanimive samo izvedbe brez sklopitve med posameznimi fazami [10]. V strokovni literaturi jih srečamo pod izrazom simetrični večfazni stroji oziroma več-sistemski pogoni. V takem primeru lahko smatramo, da gre za več popolnoma ločenih pogonov na isti gredi (slika 2) in s takim pogonom se bomo ukvarjali v nadaljevanju. 3 Simulacijski rezultati Za potrebe prikaza vpliva več sistemskega pogona na izmenično komponento toka v enosmernem tokokrogu smo opravili simulacije s pomočjo programskega paketa MATLAB/Simulink. Simulirali smo klasičen trifazni pogon in dvo, tri in štiri-sistemski pogon z ustrezno prilagojenimi električnimi parametri in v enakih delovnih točkah (slika 2). V kolikor ni izrecno navedeno je v simulacijah uporabljena klasična (simetrična oz zvezna) modulacija prostorskega vektorja napetosti (CSVM) [11]. Prisotnost vseh izmeničnih komponent je bila ocenjena s standardno deviacijo. ERK'2018, Portorož, 205-208 205 Slika 3: Regulacija toka pri štiri-sistemskem pogonu Podatki pogona pa so navedeni v tabeli 1: Tabela 1. Podatki pogona Statorska upornost 0,0567 Q Statorska induktivnost 68 |H Nazivni navor 1.5 Nm Nazivna hitrost 900 min-1 Napetost enosmernega tokokroga 10 V Preklopna frekvenca 20 kHz s(idc) (A) 20 15 10 5 S -dva sistema trije sistemi s_/ «r^ 0 60 120 180 240 300 360 faza (°) Slika 2: Shema več-sistemskega pogona Sama regulacija toka je bila izvedena ločeno za vsak sistem posebej, kot je to za štiri-sistemski pogon prikazano na sliki 3. Slika 4: Odvisnost izmenične komponente toka v enosmernem tokokrogu od faznega zamika modulacijski signalov za dvo-sistemski , tri-sistemski in štiri-sistemski pogon. Nadaljnje si lahko ogledamo kako se vsebnost izmenične komponente toka v enosmernem tokokrogu spreminja z obratovalno točko pogona. Na sliki 5 vidimo kako se le ta spreminja za klasičen eno-sistemski pogon. Vidimo da je obremenitev enosmernega tokokroga največja pri najvišjih navorih in je bolj ali manj neodvisna od vrtilne hitrosti. Slike 6-8. prikazujejo relativno zmanjšanje obremenitve za dvo, tro in štiri-sistemski pogon v primerjavi z eno-sistemskim pogonom. Vidimo lahko, da že dvo-sistemski pogon zmanjša obremenitev enosmernega tokokroga v večjem obsegu pod 70%, nikoli pa le-ta ni višja kot 90%. Pri tri-sistemskem pogonu je obremenitev tako vedno manjša ko 85% in v večjem delu pod 60%. Pri štiri-sistemskem pogonu, pa je obremenitev večjem delu pod 60% in nikoli nad 85%. Poleg tega lahko vidimo, da je zmanjšanje izmenične komponente najbolj učinkovito pri nizkih hitrostih in visokih navorih, potem pa ta učinek pada predvsem z naraščajočo hitrostjo. Tako z več-sistemskim pogonom relativno učinkovito zmanjšamo izmenično komponento prav tam kjer je le ta največja t.j. pri visokih navorih. V splošnem lahko vidimo, da največ pripomore razširitev iz eno-sistemskega na dvo-sistemski pogon, potem pa doprinos z vsakim dodanim sistemom pada. Prvi set rezultatov (slika 4) prikazuje odvisnost izmenične komponente toka enosmernega tokokroga od faznega zamika med modulacijskimi signali posameznega sistema v eni delovni točki (1 Nm, 900 min-1). Zaradi uporabe simetričnega prožilnega signala je najprimernejša fazna zakasnitev med posameznimi sistemi 90° za dvo-sistemski pogon, 60° za tri-sistemski pogon in 45° za štiri-sistemski pogon. V primeru uporabe nesimetrične modulacije prostorskega vektorja napetosti , so te premaknitve 180°, 120° in 90°. Slika 5: Vsebnost izmenične komponente toka v enosmernem tokokrogu v odvisnosti od delovne točke za eno-sistemski pogon 206 Slika 6: Relativna odvisnost izmenične komponente za dvo-sistemski pogon. Slika 7: Relativna odvisnost izmenične komponente za tri-sistemski pogon. Slika 8: Relativna odvisnost izmenične komponente za štiri-sistemski pogon. 207 Vendar pa samo vsebnost izmeničnih komponent ocenjena s standardno deviacijo ne pove katere frekvenčne komponente so prisotne. Le te so za eno delovno točko (1 Nm, 900 min-1) prikazane na sliki 9. V primeru uporabe simetričnega proženja, je najmočnejša frekvenčna komponenta (20 kHz) pri eno-sistemskem pogonu dvakratnik preklopne frekvence (40 kHz). Po pričakovanjih se obremenitev enosmernega tokokroga znižuje z večjim številom paralelnih sistemov, prav tako pa se viša tudi najbolj izrazita frekvenčna komponenta. Tako je morebitno odpravljanje teh komponent vedno lažje. Za primerjavo so priloženi tudi frekvenčni spektri za primer, ko uporabimo asimertrično modulacijo [12] prostorskega vektorja napetosti (slika 10). Kljub temu, da je efektivno gledano obremenitev enaka ne glede na izbrani modulacijski algoritem, pa so frekvence komponente z najvišjo amplitudo za polovico nižje kot pri uporabi simetrične modulacije, kar nekoliko oteži morebitno naknadno odpravljanje teh komponent. 4 Zaključek Čeprav je zaradi največjega doprinosa s stališča enosmernega tokokroga najbolj smiselna dvo-sistemska rešitev so več-sistemske rešitve vredne razmisleka v primeru, ko se povečuje moč pogona ali ko je treba prisotnost višjih harmonskih komponent reševati z dodatnimi prijemi. Več-sistemske rešitve te harmonske komponente pomaknejo višje, tako da jih je lažje odpravljati s pasivnimi komponentami. Prav tako vidimo, da ima izbira modulacijskega algoritma nezanemarljiv vpliv na frekvenčni spekter izmeničnih komponent v enosmernem tokokrogu. Pričujoči prispevek obravnava obremenitev enosmernega tokokroga z izmeničnimi komponentami, ko lahko posamezne elemente med seboj ločimo in so povezave med njimi brez parazitnih parametrov (induktivnost, kapacitivnost). V praksi, pa je to nemogoče, saj kondenzator enosmernega tokokroga ni en element temveč jih je več, pri čemer se stremi, da se jih postavi čim bližje posamezni tranzistorski veji. V takem primeru pa bi za oceno obremenitve posameznega elementa morali simulirati celoten sklop, pri čemer bi se parazitne parametre najlažje zajelo z FEM izračunom v 3D prostoru, kar pa simulacije naredi bistveno bolj kompleksne in specifične za točno določen pogon. 10 10 10 11 10 10 10 10 spekter en mostic spekter dva mostica 10 spekter strije mostici 10 10 f (kHz) f (kHz) f (kHz) f (kHz) Slika 9: Frekvenčni spekter toka enosmernega tokokroga za eno, dvo, tri in štiri-sistemski pogon ob uporabi simetrične modulacije 10 10 10 10 10 10 10 10 spekter en mostic DMIN spekter dva mostica DMIN 10 spekter trije mostici DMIN 10 spekter strije mostici DMIN 10 10 f (kHz) f (kHz) f (kHz) f (kHz) Slika 10: Frekvenčni spekter toka enosmernega tokokroga za eno, dvo, tri in štiri-sistemski pogon ob uporabi asimetrične modulacije Literatura [1] E. Levi, „Multiphase Electric Machines for VariableSpeed Applications", IEEE Trans. Ind. Electron., let. 55, st. 5, str. 1893-1909, maj 2008. [2] E. Levi, R. Bojoi, F. Profumo, H. A. Toliyat, in S. Williamson, „Multiphase induction motor drives - a technology status review", IET Electr. Power Appl., let. 1, st. 4, str. 489, 2007. [3] M. J. Duran in F. Barrero, „Recent Advances in the Design, Modeling, and Control of Multiphase Machines - Part II", IEEE Trans. Ind. Electron., let. 63, st. 1, str. 459-468, jan. 2016. [4] K. Gopakumar in V. T. Ranganathan, „Split-Phase Induction Motor Operation from PWM Voltage Source Inverter", str. 6. [5] L. Parsa, „On advantages of multi-phase machines", 2005, str. 6 pp. [6] J. W. Kolar in S. D. Round, „Analytical calculation of the RMS current stress on the DC-link capacitor of voltage-PWM converter systems", IEE Proc. - Electr. Power Appl., let. 153, st. 4, str. 535-543, jul. 2006. [7] M. Bierhoff in F. W. Fuchs, „DC link harmonics of three phase voltage source converters influenced by the pulse width modulation strategy-an analysis", v 31st Annual Conference of IEEE Industrial Electronics Society, 2005. IECON 2005., 2005, str. 6 pp.-. [8] P. A. Dahono, A. Satria, in D. Nurafiat, „Analysis of DC current ripple in six-legs twelve-devices inverters", v 2012 International Conference on Power Engineering and Renewable Energy (ICPERE), 2012, str. 1-6. [9] E. Levi, F. Barrero, in M. J. Duran, „Multiphase machines and drives - Revisited", IEEE Trans. Ind. Electron., let. 63, št. 1, str. 429-432, jan. 2016. [10] A. Leban in D. Vončina, „Vpliv sklopljenih dušilk na lastnosti vzporedno vezanih pretvorniških modulov", predstavljeno na ERK, Portorož, Slovenija, 2006, str. str. 459-462. [11] X. Wen in X. Yin, „The SVPWM fast algorithm for three-phase inverters", v 2007 International Power Engineering Conference (IPEC 2007), 2007, str. 10431047. [12] M. Thanuja, M. B. Jyothi, in D. M. V. Rao, „Analysis And Simulation Of Bus-Clamping Pwm Techniques Based On Space Vector Approach", Int. J. Eng. Sci., str. 10, 2012. 208 Vzroki napak pri digitalni regulaciji toka več-vejnega DC-DC pretvornika s PWM prepletom Peter Zajec Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-mail: peter.zajec@fe.uni-lj.si Causes of errors in digital control of multiphase interleaved DC-DC converter The paper focuses on some common and usually underestimated sources of current measurement errors deteriorating the control of switched mode DC-DC converters. In particular, the effects of measuring resistor's parasitic inductance and the Point-of-Common-Coupling 's inductance are addressed. The second inductance is as a rule overlooked in many design guidelines covering the interleaved DC-DC converters. In addition, the impact of the time delay of Sample/Hold signal and, the mitigation solutions including the hardware as well as the software ones are presented and discussed. 1 Več-vejni pretvornik s PWM prepletom Enosmerni presmerniki (DC-DC pretvorniki) večjih izhodnih tokov so pogosto sestavljeni iz večjega števila (n) vzporedno delujočih pretvornikov (slika 1). Zaradi zmanjšanja tokovne obremenitve vgrajenih komponent je zaželeno, da vsak od njih zagotavlja bremenu enak delež celokupne moči. Močnostna stikala preklapljajo po načelu pulzno širinske modulacije (PWM) z enotno frekvenco f,). PWM signali med posameznimi stikali so fazno zamaknjeni (360°/n) s ciljem, da v izhodnem kondenzatorju zmanjšamo amplitudo [1] in povišamo frekvenco (nfW valovitosti toka (slika 2). Posledično z vgradnjo kondenzatorja bistveno manjše kapacitivnosti zagotovimo enako valovitost izhodne napetosti. Zaradi prepleta toka se izboljšajo tudi tokovne razmere v vhodnem kondenzatorju, s čimer se volumen obeh kondenzatorskih sklopov in pretvornika v celoti zmanjša. +udcc, PWMn PWM2^ PWMj 2 Regulacija izhodne napetosti Izhodno napetost pretvornika se regulira praviloma s kaskadno zasnovo, kjer podrejena tokovna regulacijska zanka primarno določa dinamiko regulirane napetosti [2], [3]. Navkljub ciljani simetriji vgrajenih komponent, tolerančno odstopanje slednjih onemogoča uporabo skupnega tokovnega regulatorja - ki bi generiral enoten krmilni signal (ucont) vsem PWM modulatoijem, kot je to prikazano na sliki 2. S/H S/H triang, 1 utriang,2 Slika 1. Konceptualna shema več-vejnega pretvornika s PWM prepletom in dvosmernim pretokom moči. Slika 2. Idealizirano sosledje prožilnih (PWM) in vzorčevalnih (S/H) signalov na primeru dvo-vejnega pretvornika ter potek izhodnih tokov v stacionarnem obratovanju. Posameznemu tokovnemu regulatorju moramo torej pripeljati informacijo o velikosti toka pripadajoče veje. Srednjo vrednost toka, ki je merodajna preneseni moči, najlažje ugotovimo z ovrednotenjem (Sample/Hold) merjenenega toka na sredini enega ali obeh preklopnih intervalov (ton, f 2.1 Napake pri zajemu merilnega signala Navkljub veliki izbiri tokovnih merilnikov [4], [5] sta -iz povsem ekonomskih razlogov - v nadaljevanju opisani rešitvi še vedno najpogosteje uporabljeni. 2.1.1 Meritev toka s pomočjo merilnega upora Po izvedbi merilne upore delimo na dvopolne in četveropolne (s t.i. Kelvin-ovima sponkama). Izvedenka s Kelvinovima sponkama je ugodnejša in zahteva manj pazljivosti pri oblikovanju tiskanine, saj zajamemo le padec napetosti na aktivnem delu upora (Rshunt) ter ne tudi padca napetosti na upornosti priključnih sponk in na kontaktni upornosti spajke (ponazorjeno z RCu). ERK'2018, Portorož, 209-212 209 Upornost slednje je pogosto težje določljiva in se s staranjem ter s temperaturo spreminja v mnogo večji meri kot upornost aktivnega dela upora. +un, i.ul i S/Hj S/H2 Ushunt, 1 ushunt, 2 ' t,i = i ■ Rh u = I ■ R shunt,2 shunt L + L h ■(udc - uo ) (1) L + L, -■ U„ (UDC = 48 V) z vklopnim razmerjem D = ton / (ton+tof) = 0,5 in z induktivnostjo vgrajene dušilke 6,8 |H. Vgrajeni merilni upor ima nazivno upornost 0,5 mH in lastno induktivnost 3 nH. Uo Slika 3. Meritev toka z merilnim uporom s Kelvin-ovima sponkama. Ker je izkoristek pretvorniških naprav pogosto v ospredju želja, smo seveda primorani vgrajevati merilne upore majhnih upornosti, pogosto pod 1 mH. V praksi se ob tem pogosto prezre vpliv lastne induktivnosti (aktivnega dela) upora (Lshunt), ki je pri SMD komponentah v grobem pogojena z velikostjo njihovega ohišja in znaša nekaj nH. Njen vpliv na potek zajetega signala (ushunt) je tem večji čim večje so strmine tokov. Slika 5: Izmerjeni tok dušilke: zgoraj - padec napetosti merjen neposredno na merilnem uporu (ku = 2 mV/div); spodaj -izmerjeno s tokovnimi kleščami LEM-PR30 (ki = 5 A/div), kt = 5 |s/div. V prikazanem primeru, kjer je srednja vrednost toka približno 8 A, bi izmerjeni vrednosti padca napetosti po izrazu (1) ustrezali približno toku enakega iznosa (= 4 A), a nasprotnega predznaka. V primeru, ko bi vrednosti povprečili bi storili še večjo napako. »Induktivni« padec napetosti v izrazu (1) lahko v digitalno zasnovanem regulatorju izničimo s povprečenjem obeh napetosti, ki ju predhodno pomnožimo z vklopnim razmerjem D oziroma z 1-D. 1 ■ Rshunt + L.., L + L„ ■(Udc - uo ) ■D I ■ R„ L L + L, -U. (2) ■(1 - D) Slika 4: Vpliv lastne induktivnosti merilnega upora na obliko zajetega signala (usfmnt). Iz slike 4 je razvidno, da je padec napetosti (ushunt) enak vsoti padcev napetosti Rshunt ■ i ter Lshunt ■ di/dt, ki ima značilno pravokotno obliko. Srednja vrednost slednjega je v stacionarnem stanju enaka nič, vendar pa sta magnitudi signala v intervalu ton in tf različni. Ob zajemu signala na sredini preklopnih intervalov posledično izmerimo vrednosti L Povprečna vrednost napetosti je enaka I-Rshunt. Ob tem velja opozoriti, da je vklopno razmerje poznano iz PWM modula. 2.1.2 Posredna meritev toka s filtracijo padca napetosti na dušilki Posredno lahko tok izmerimo - brez dodatno vgrajenih merilnih uporov - izključno s poznavanjem lastne upornosti vgrajenih dušilk ter filtrskih komponent RF in CP. ki odstopata od dejanske srednje vrednosti merjenega toka. Relevantnost omenjenega padca napetosti je poudarjena s prikazom realnih razmer na sliki 5, ki kaže izmerjene veličine na primeru štiri-vejnega pretvornika u0 Slika 6. Meritev toka s filtracijo padca napetosti na dušilki. 210 Padec napetosti na dušilki, podan v obliki kompleksnega zapisa, znaša UL = (RL + jaL)IL. Ob upoštevanju, da je tok skozi filtrski komponenti zanemarljivo majhen (iL >> iF), lahko napetost uC izrazimo kot Uc = U, 1 + jaRFCF oziroma po preoblikovanju Rl + jaL 1 + jaRFCF Uc = RL (i+jg-T^ 1 + j a-t I; T = — f L_ R t f rf c f . (3) (4) •-----shunt----- l ! Rcu Rshunt Rcu |-----shunt----- L IRCu Rshunt Rcu i «o U Iz (4) izhaja, da je napetost filtrskega kondenzatorja premosorazmerna merjenemu toku i, le če zagotovimo enaki časovni konstanti gladilne dušilke pretvorniškega vezja in dodanega RC filtra. Predpogoj za točno meritev toka je torej poznavanje parametrov dušilke, ki pa se s temperaturo (RL) in amplitudo toka spreminjajo (nasičenje dušilke). Z opisano tehniko je možno mnogo učinkoviteje zmanjšati prispevka lastne induktivnosti merilnega upora (slika 3). V ta namen RC filter namestimo preko merilnega upora, ki z lastno induktivnostjo tvori enako nadomestno vezje (t = Lshunt / Rshunt) kot je vezje realne dušilke na sliki 6. Primerjaje s parametri dušilke sta Lshunt in Rshunt od temperature in amplitude toka tako rekoč neodvisna, s čimer je možno pogoju ( L = F) lažje zadostiti. Rešitev je enostavna in za razliko od izničenja po enačbi (2) mikrokrmilnika ne obremeni z dodatnim računanjem. Neodvisno od uporabljene rešitve moramo merjeni napetosti (ushunt, uC) ojačiti in ju zaradi zajema z A/D pretvornikom prilagoditi, tako da sta izraženi proti referenčnemu potencialu (masi). Omenjeno izvedemo z merilnimi ojačevalniki [6]. Njihova vhodna ojačevalna stopnja mora vzdržati visoko napetost skupnega načina (ang. common mode, uCM) ter jo na izhodu v čim širšem frekvenčnem območju oslabiti (ang. CMRR). Sočasno mora ojačiti majhen padec napetosti, ki je običajno več velikostnih razredov manjši. Ker se v praksi CMRR z naraščajočo frekvenco manjša, je pomembno, da merilnega upora (in filtrskega kondenzatorja) v vezje ne umestimo tako, da bi bil priključen v vozlišče tranzistorjev. V tem primeru bi namreč vhod merilnega ojačevalnika izpostavili višji napetosti skupnega načina (uCM = usw), ki ima dodatno zaradi velike du/dt mnogo bolj neugoden spekter od napetosti po sliki 3 in 6, kjer je uCM = uo. 2.1.3 Sosedstveni učinki med merilnimi kanali Ko govorimo o vplivu sosednjih tokov na zajem merilne veličine v opazovani veji, imamo najpogosteje v mislih presluh (induktivni ter kapacitivni sklop), ki nastopi zaradi nepazljive razporeditve elementov in povezovalnih vezic med merilnimi upori in ojačevalnikom. Slednji je razviden na sliki 5, kjer se v izmerjenem padcu napetosti, zajetem neposredno na merilnem uporu, opazijo tudi superponirane napetosti v trenutku preklopa v sosednjih vejah. Slika 7. Nadomestno vezje izhodnega tokokroga za ponazoritev sosedstvenega vpliva. V primeru močnostnih pretvornikov z velikim izhodnim tokom in posledično majhno upornostjo merilnih uporov ter visokim ojačenjem merilnega ojačevalnika, pa se soočimo tudi z njegovim nezadostnim slabljenjem (cMRR) pri visokih frekvencah. Po sliki 7 napetost skupnega načina, ki jo na svojem vhodu zazna merilni ojačevalnik, ni konstantna (UO) temveč vsebuje tudi visokofrekvenčne komponente napetosti (uAC). Slednje nastopijo že zaradi končno velike kapacitivnosti gladilnega kondenzatorja. Merilni ojačevalnik na svojem vhodu dodatno zazna padce napetosti na ekvivalentni serijski upornosti in induktivnosti kondenzatorja (ESR, ESL) ter impedanci skupne priključitve (ZPCC), ki jih povzroča vsota tokov i1+ ...+in. Podobno kot pri obravnavi merilnega upora, tudi v imenovanem padcu napetosti po amplitudi in harmonskem spektru prevladuje prispevek obeh induktivnosti; ESL in Zpcc. Zaradi zmanjšanega slabljenja se njihov prispevek v izhodni napetosti merilnega ojačevalnika manifestira v obliki sofazne popačitve kot je razvidno na sliki 8. /W1/ N/ V \J Slika 8: Izhodni napetosti (uamp) merilnih ojačevalnikov v 3. in 4. veji - vhodni signal (ushunt) je po obliki identičen poteku napetosti s slike 3. 2.2 Napake pri vzorčenju merilnega signala Za stacionarno obratovanje je značilen potek toka skozi posamezno izhodno dušilko kot ga kaže slika 9. Če privzamemo brez-izgubne komponente, potem se ob spremembi izključno smeri pretoka moči, poteka tokov - razen v predznaku - ne razlikujeta (črtkano). Ker tok niha okoli srednje vrednosti I, lahko njeno vrednost enostavno izmerimo, tako da merjeni tok vzorčimo na sredini časovnih intervalov ton in tof. 211 S/Hj S/H2 IP2Í IPii Ip = I - DC - U L U Ip2 = i• td (5) di dt UDC - U . —DC-- ; interval t .U. L (6) interval t. off In = I + Udc - Uo L t U„ (7) I = I--- • t *n2 1 L j = jpi + !P2 P o j = 1 nI + jn2 = I +td (U -Ly o 2 = I - ^ (U - ^) LK o 2 (8) jn2' Inl Slika 9. Vpliv zakasnitev prožilnega signala na vrednost vzorčenega toka. Trenutek vzorčenja v vgrajenem A/D pretvorniku določata signala S/Hi in S/H2, ki ju sinhrono s PWM signalom generira DSP krmilnik. A ker prožilno vezje ob tem zakasni prožilne (PWM) signale, je dejanski potek toka (polna krivulja) zakasnjen za enak čas, s čimer v trenutku vzorčenja zajamemo vrednosti Ipi in Ip2 Zajeti vrednosti po (8) ustrezata pravi vrednosti (I) le v primeru, če je izhodna napetost enaki polovici vhodne. V nasprotnem, če tako zajeto in izračunano vrednost dejanskega toka pripeljemo na tokovni regulator, kjer se primerja z želeno vrednostjo Iref (ki naj ustreza vrednosti I na sliki 9), potem bo seveda regulator skušal izničiti regulacijski pogrešek. Srednja vrednost dejanskega toka bo posledično pravzaprav višja od želene. V primeru negativnega toka (i ( 0) pa nižja od želene vrednosti. 3 Sklepna misel Od opisanih napak pri zajemu merjenega toka je najbolj nezaželen vpliv lastne induktivnosti merilnega upora in Zpcc. V primeru kaskadne regulacije izhodne napetosti pretvornika, sicer napaka, če izvzamemo potencialno nesimetrijo med kanali, ni problematična, saj jo avtomatično odpravi nadrejeni napetostni regulator. Je pa v primeru dvosmernega pretoka potrebno izpostaviti z meritvijo vneseni izmik (ang. offset) razviden na sliki 9, ki postane mnogo bolj nezaželen v primeru neposredne regulacije toka pri uravnavanju pretoka med dvema izvoroma napetosti (baterijama). Literatura Odstopanje obeh od srednje vrednosti toka (I) je različno in pogojeno s strmino toka v pripadajočih intervalih Enako ovrednotimo odstopanje v primeru nasprotnega pretoka moči, ko se smer toka spremeni [1] [2] [3] [4] [5] [6] D. Christen, S. Tschannen, and J. Biela, 'Highly efficient and compact DC-DC converter for ultra-fast charging of electric vehicles', in Power Electronics and Motion Control Conference (EPE/PEMC), 2012 15th International, 2012, p. LS5d-3. D. K. Saini, A. Reatti, and M. K. Kazimierczuk, 'Average current-mode control of buck dc-dc converter with reduced control voltage ripple', in IECON 2016 -42nd Annual Conference of the IEEE Industrial Electronics Society, 2016, pp. 3270-3275. Y. Yan, F. C. Lee, and P. Mattavelli, 'Analysis and Design of Average Current Mode Control Using a Describing-Function-Based Equivalent Circuit Model', IEEE Trans. Power Electron., vol. 28, no. 10, pp. 47324741, Oct. 2013. S. Ziegler, R. C. Woodward, H. H. C. Iu, and L. J. Borle, 'Current Sensing Techniques: A Review', IEEE Sens. J., vol. 9, no. 4, pp. 354-376, Apr. 2009. A. Leban and M. Nemec, 'Tokovni merilni pretvorniki v vezjih močnostne elektronike', Elektrotehniski Vestn., vol. 2015, no. 82(3), pp. 73-84. A. D. I. Engineeri, Linear Circuit Design Handbook, 1 edition. Amsterdam; Boston: Newnes, 2008. V nasprotju z uveljavljenim prepričanjem se odstopanju od srednje vrednosti toka (I) ne izognemo niti, če vzorčeni par meritev povprečimo L 212 Analiza harmonske vsebine signala generiranega z bipolarno sinusno pulzno širinsko modulacijo Denis Sušin Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana E-pošta: denis.susin@fe.uni-lj.si Harmonic content analysis of signal generated with bipolar sinusoidal pulse width modulation Abstract. In this paper harmonic content of signal generated with bipolar sinusoidal pulse width modulation (PWM) are analyzed. The impact of four quantities is studied: discretization of the sinusoidal control signal, amplitude and frequency ratio between saw signal and control signal and finally the influence of the dead time. To maximize the amplitude of the first harmonic and to minimize higher harmonics content, the dead time is supposed to be as short as possible and the ratio between PWM frequency and control signal frequency should be high. However, this is not always possible, thus different characteristics are shown based on simulation results. Enosmerno napetost UDC in tok IDC želimo pretvoriti v izmenično napetost UAC in tok IAC sinusne oblike. Temu cilju se uspemo približati s topologijo enofaznega mostičnega razsmernika, ki je prikazan na sliki 1. Shematski prikaz proženja tranzistorjev Q1, Q2, Q3 in Q4 je prikazan na sliki 2. Generator mrtvega časa PWM PWM •Q1.Q4 • Q2, Q3 Slika 2: Shematski prikaz delovanja bipolarnega PWM generatorja Za realizacijo PWM potrebujemo generator sinusnega signala s frekvenco fkm, amplitudo Uamp.krm in fazo < t > kTpwM (3) T J- D1 p°g°j2: kTpwM + TPWM > t > kTPWM pri čemer je TPWM obratna vrednost frekvence žage fPWM\ k = 0, 1, 2, 3, ... Predpostavljamo, da je frekvenca žage natančen večkratnik frekvence krmilnega signala (od tu ime sinhronska PWM), kar pomeni, da je razmerje frekvenc mf celo število: fP (4) fkr Razmerje amplitud med krmilnim signalom in žago ma pa je: U amp,krm (5) U u = zage mf = ERK'2018, Portorož, 209-212 213 Žago in krmilni signal primerjamo in če je slednji večji, potem prevajata tranzistorja Q1 in Q4. V nasprotnem primeru prevajata tranzistorja Q2 in Q3. Izhodna napetost je tako lahko bodisi UDC, bodisi -UDC, od koder izhaja ime bipolarna PWM. Pri generiranju PWM-a je obvezno še implementacija mrtvega časa td ob vsakem preklopu tranzistorjev, s čimer preprečimo hkratno prevajanje obeh tranzistorjev v posamezni veji pretvornika. Žal pa mrtvi čas povzroča parazitne efekte, ki se kažejo tudi v frekvenčnem spektru izhodne napetosti. PWM je možno realizirati izključno z analognimi elektronskimi vezji (slika 3), lahko pa za generiranje PWM signalov uporabimo tudi mikroprocesor (slika 4). Ta je realiziran tako, da je krmilni signal znotraj periode PWM-a oz. žage, vzorčen le enkrat [2], s čimer zagotovimo le en preklop v posamezni periodi PWM-a. Posledica diskretizacije pa je, da so harmonske komponente izhodne napetosti uAC vedno zakasnjene za 0,5 • Tpwm. Med obema pristopoma so razlike majhne, pa vendar ta izbira vpliva na frekvenčni spekter izhodne napetosti uAC. PWM 0-------1-------1-------1------- -1-------,_=_,_=_,------- 0 0.2 0.4 0.8 1.0 Slika 3: Časovni poteki analogne PWM za mf = 4, ma = 1 in mrtvi čas td = 0 0.5--------------1--------1------- PWM 0--------------1--------1------- -0.5--------------1--------1------- 0 0.2 0.4 0.8 1.0 Slika 4: Časovni poteki diskretne PWM za mf = 4, ma = 1 in mrtvi čas td = 0 V praksi težimo k razmerju frekvenc mf > 20 [3], kar pomeni, da so časovni poteki podobni razmeram s slike 5. i i ^ ^^ —[ — - - - ^ 1 0.5-------t----------1---------!--------- l PWM 0---------|-----------1-----------1--------- -0.5---------T----------"i-----------i--------- l -1------ - . -_:_,_^_- ----- 0 0.2 0.4 0.8 1.0 t tpwm Slika 5: Časovni poteki diskretne PWM za mf = 20, ma = 1, in mrtvi čas td = 0,01 • TPWM 3 Analiza harmonske vsebine izhodne napetosti uac - simulacijski rezultati Želja je torej, da na izhodu razsmernika dobimo sinusno napetost (samo osnovno harmonsko komponento brez višjeharmonskih komponent). Žal pa se zaradi narave PWM-a ne moremo izogniti dejstvu, da bodo poleg osnovne harmonske komponente prisotne še vsaj harmonske komponente v okolici mf, 2mf, 3mf itd. Frekvenčni spekter idealne analogne PWM prikazuje slika 6. Slednje lahko omilimo le z uporabo pasivnih analognih močnostnih filtrov, kot so npr. LC, LCL ali CLC filtri [3], kar pa presega namen tega dela. Težimo k čim večjemu frekvenčnemu razmerju mf, saj je tako lažje zadušiti ta del frekvenčnega spektra. ■ uamMC [%] UDC 20, ma = 1 in mrtvi čas td = 0, kjer so prikazane amplitude harmonskih komponent izhodne napetosti uAC kot delež od napetosti UDC Žal pa pasivna vezja relativno slabo dušijo višjeharmonske komponente od 2 do mf, ki pa so v realnih aplikacijah vsekakor prisotne. Vzroki za pojavljanje teh harmonskih komponent so: uporaba diskretne PWM, vpliv mrtvega časa in morebitno prekrmiljenje (primeri, ko je ma > 1). Vpliv prekrmiljenja na frekvenčni spekter izhodne napetosti 0 0.2 0.4 0.8 1. t tpwm 0 0.2 0.4 0.8 1. t tpwm 214 uAC je prikazan na sliki 7. Opazimo lahko, da v primerjavi s sliko 6 amplituda osnovne harmonske komponente rahlo naraste, občutno se povečajo harmonske komponente 3, 5, 7, 9, itd., zmanjša pa se vsebnost harmonskih komponent v okolici mf, 2mf, 3mf itd. Zaradi tega se prekrmiljenja običajno izogibamo. 100-■ 60 -20 -- [%] mf-2 i m/ + 2 /2mf+3 3 mf 3/»y+ 2 I j 3ntf+4 i. i i i. - 0 13 5 7 9 2mf 3m< harmonik Slika 7: Frekvenčni spekter izhodne napetosti uAC za analogno PWM brez mrtvega časa za za mf > 20, ma = 1,6 in mrtvi čas td = 0, kjer so prikazane amplitude harmonskih komponent izhodne napetosti uAC kot delež od napetosti UDC 80 -70 -60 50 -40 30 -20 ma = 0.2 ma = 0.4 ma = 0.6 -ma = 0.8 ma = 1 40 35 30 25 20 15 10 5 0 razmerje frekvenc mf Slika 8: Karakteristika amplitude 1. harmonske komponente napetosti uAC v odvisnosti od razmerja frekvenc mf za diskretno PWM; td = 0 primeru, ko je PWM realizirana diskretno. Razmerje frekvenc mf mora biti večje od 2, da še lahko govorimo o sinusni PWM, v nasprotnem primeru gre za enopulzno PWM (kar pomeni, da ni razlike, če je krmilni signal sinusen ali konstanten). Če pa je mf zelo velik, razlike med analogno in diskretno PWM praktično ni. Sprememba mf na amplitudo višjeharmonske komponente mf ne vpliva, pač pa občutno vpliva razmerje amplitud ma. To velja tako za analogno kot tudi za diskretno PWM (slika 9). Manjše kot je razmerje amplitud ma, višja je vsebnost višjeharmonske komponente mf in okoliških harmonskih komponent. Prikazane so različne karakteristike za posamezno amplitudno razmerje ma. Sliki 10 in 11 (razlika je le v vrednosti mf) prikazujeta vpliv diskretizacije krmilnega signala, kar se kaže kot povečanje amplitude tako sodih kot lihih višjeharmonskih komponent 2, 3, 4, 5, itd. Tudi to velja tako za analogno kot tudi za diskretno PWM. Če se mf poveča, se vsebnost teh harmonskih komponent zmanjša. 'g 0.6 -m J analogna PWM ] diskretna PWM II h h h h h in in n h h h - 2 3 4 5 6 7 8 9 10 11 12 13 14 15 harmonik Slika 10: Del frekvenčnega spektra napetosti uAC za ma = 1, mf = 20 ter td = 0 130 -120 - 90 ma = 0.2 ma = 0.4 80 ma = 0.6 —•— ma = 0.8 70 -- - 40 35 30 25 20 15 10 5 0 razmerje frekvenc mf Slika 9: Karakteristika amplitude višjeharmonske komponente mf napetosti uAC v odvisnosti od razmerja frekvenc mf za diskretno PWM; td = 0 g 0.6 -m J analogna PWM ] diskretna PWM 2 3 4 5 6 7 8 9 10 11 12 13 14 15 harmonik Slika 11: Del frekvenčnega spektra napetosti uAC za ma = 1, mf = 100 ter td = 0 harmonska vsebina uAC relativno na UDC harmonska vsebina uAc relativno na UDc 0.8 - 0.4 0.2 0 harmonska vsebina uAc relativno na UDc harmonska vsebina u»c relativno na UDc 110 0.8 - 0.4 - 0.2 - 0 Slika 8 prikazuje amplitudo osnovne harmonske komponente izhodne napetosti uAC v odvisnosti od mf, za diskretno PWM. Prikazane so različne karakteristike za posamezno amplitudno razmerje ma. Razmerje frekvenc mf ne vpliva na amplitudo osnovne harmonske komponente, razen za zelo nizke vrednosti mf, a samo v Vpliv mrtvega časa na amplitudo osnovne harmonske komponente napetosti uAC prikazuje slika 12, na amplitudo višjeharmonske komponente mf pa slika 13. Povečanje mrtvega časa povzroči zmanjšanje amplitude osnovne harmonske komponente ter povečanje amplitude višjeharmonske komponente mf. 215 ma = 0.2 ma = 0.4 ma = 0.6 —•— ma = 0.8 ma = 1 0.01 0.02 0.03 mrtvi čas relativno na Tn,., , [%] ma = 0.2 ma = 0.4 ma = 0.6 —•— ma = 0.8 ma = 1 i3-E J analogna PWM ] diskretna PWM ill 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 harmonik Slika 14: Del frekvenčnega spektra napetosti uAC za ma = 1, mf = 400 ter td = 0,05 ■ TPWM i analogna PWM ] diskretna PWM S 3E Slika 12: Karakteristika amplitude 1. harmonske komponente napetosti uAC v odvisnosti od mrtvega časa td za diskretno PWM; mf = 400 0 0.01 0.02 0.03 0.04 0.05 razmerje frekvenc mf Slika 13: Karakteristika amplitude višjeharmonske komponente mf napetosti uAC v odvisnosti od mrtvega časa td za diskretno PWM; mf = 400 Mrtvi čas povzroči le lihe višjeharmonske komponente 3, 5, 7 itd., kar prikazujeta sliki 14 in 15. Večje vrednosti mrtvega časa povzročijo večje vrednosti amplitud višjeharmonskih komponent. i - -0 .iH.m.rn.m.m.m.m 2 3 4 5 6 7 8 9 10 11 12 13 14 15 harmonik Slika 15: Del frekvenčnega spektra napetosti uAC za ma = 1, mf = 400 ter td = 0,01 ■ TPWM 4 Zaključek Analiziran je frekvenčni spekter in ovrednoten vpliv določenih parametrov na izhodno napetost enofaznega razsmernika uAC, kjer je uporabljena bipolarna sinusna PWM. Preučen je tudi vpliv diskretne PWM, ki je realizirana v mikroprocesorju. Ta povzroči upad amplitude osnovnega harmonika in zakasnitev za 0.5 Tpwm ter prisotnost tako sodih kot lihih višjeharmonskih komponent (2, 3, 4, 5, ...), amplituda teh je ranga velikosti 1% (normirano na UDC). Manjše razmerje frekvenc mf povzroči večjo amplitudo višjeharmonskih komponent. Diskretizacija krmilnega signala pa praktično nič ne vpliva na del spektra v okolici harmonskih komponent mf. Precejšen vpliv na frekvenčni spekter uAC ima tudi mrtvi čas, saj povzroči zmanjšanje amplitude osnovnega harmonika ter porast lihih harmonikov (3, 5, 7, ...), amplitude harmonikov v okolici višjeharmonskih komponent mf, 2mf, 3mf, itd. pa se tudi povečajo. Prikazani rezultati potrjujejo splošno nenapisano pravilo, da naj bo razmerje frekvenc mf čim večje ter mrtvi čas td čim manjši. Na ta način dosežemo, da bo amplituda osnovne harmonske komponente največja, amplitude višjeharmonskih komponent pa najmanjše. Ker pa to ni vedno izvedljivo, je zelo koristno poznati vpliv posameznih parametrov na frekvenčni spekter. Literatura [1] N. Mohan, T. M. Undeland, in W. P. Robbins, Power electronics: converters, applications, and design, 3rd ed. Hoboken, NJ: John Wiley & Sons, 2003. [2] J. Richardson, „Implementation of a PWM Regular Sampling Strategy for AC Drives", str. 11. [3] R. N. Beres, X. Wang, M. Liserre, F. Blaabjerg, in C. L. Bak, „A Review of Passive Power Filters for Three-Phase Grid-Connected Voltage-Source Converters", IEEE J. Emerg. Sel. Top. Power Electron., let. 4, št. 1, str. 54-69, mar. 2016. harmonska vsebina u.c relativno na UDC 5 harmonska vsebina uAC relativno na UDC 4 - 2 0 0.04 0.05 harmonska vsebina uAC relativno na UDC 110 harmonska vsebina u>c relativno na UDc 5 4 - 2 1 - 216 Načrtovanje, zasnova in izdelava večfaznega razsmernika z MOSFET stikali Andraž Rihar, Peter Zajec, Mitja Nemec, Marko Petkovšek, Danjel Vončina Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana E-pošta: andraz.rihar@fe.uni-lj.si Design and development of a multiphase high voltage MOSFET inverter Abstract. Drivetrain electrification has lately been gaining momentum. Multiphase machines and corresponding inverters promise interesting advantages over ordinary three phase configurations. As an alternative to well-established high-voltage IGBT and SiC MOSFET based inverters, this paper presents design and development of a medium voltage multiphase MOSFET inverter for 40 kW peak power. Each phase of the inverter comprises four parallel branches. The designed inverter offers a compact, yet modular design, having good potential for future research in the field of multiphase MOSFET inverters. 1 Uvod V zadnjem obdobju se stopnja elektrifikacije glavnih ali pomožnih pogonov osebnih in drugih vozil opazno povečuje [1, 2], bodisi v obliki hibridnih ali popolnoma električnih rešitev [3]. Poleg trifaznih motorjev se zaradi specifičnih prednosti, kot so manjša valovitost navora, večja zanesljivost, razporeditev moči po fazah in zmanjševanje izgubnih moči, kot vedno bolj primerni zdijo tudi pet, šest in večfazni pogoni [4, 5, 6]. Za napajanje takih motorjev so običajno uporabljeni večfazni dvo- ali večnivojski pretvorniki [7, 8, 9]. Prednosti slednjih so manjše harmonsko popačenje izhodne napetosti (THD, angl. total harmonic distortion), manjše sofazne napetosti (angl. common-mode voltages), manjše preklopne izgube zaradi nižjih strmin napetosti ob preklopih ter predvsem možnost uporabe stikal za nižje napetosti [10]. Do nedavnega se je razvoj razsmernikov v grobem delil na dve področji in sicer na visokonapetostne razsmernike (nad 400 V) z IGBT stikali [11], ki jih šele v zadnjem času počasi nadomeščajo visokonapetostni (nad 600 V) SiC MOSFETi [12, 13], ter nizkonapetostne razsmernike (do 100 V ali 150 V) z MOSFET polprevodniškimi stikali [14]. Razmeroma prosto ostaja področje med obema napetostma zaradi dosedanjih tehnoloških omejitev močnostnih stikal, predvsem omejenih tokovnih zmogljivosti srednjenapetostnih MOSFET-ov [15]. Potrebam po višji moči pogona je moč zadostiti z uporabo višjih napetosti in polprevodniških stikal novih tehnologij, kot sta SiC in GaN [13]. Tokovno zmogljivost je možno povečati z vzporedno vezavo stikal ali tranzistorskih vej. Tako je predvidoma možno poenostaviti prepotrebno odvajanje izgubnih moči, zagotoviti primerno nizko tokovno obremenitev posameznega tranzistorja, izboljšati kompaktnost, nadalje pa tudi poenostaviti montažo razsmernika v sklopu aplikacije. V primeru vzporedne vezave faz se ponuja tudi možnost prepletanja proženja posameznih vej razsmernika, kot je to že dodobra uveljavljena praksa pri DC/DC pretvornikih [16]. Prepletanje vej bi morda lahko dodatno zmanjšalo tudi valovitost navora. Raziskave v omenjenih smereh in pripadajoče testiranje vplivov posameznih ukrepov so seveda mogoče le s primerno namensko strojno opremo, v prvi vrsti torej primernim razsmernikom. Ta mora ustrezati osrednjim električno-mehanskim zahtevam, med katerimi sta pomembni predvsem primerna kompaktnost z namenom zmanjševanja vpliva parazitnih induktivnosti in kapacitivnosti, ter modularnost sistema, ki omogoča testiranja vpliva števila izbranih faz, različnih kombinacij proženja, profiliranja izkoristka in zmogljivosti različnih polprevodniških stikal. V literaturi običajno zasledimo opise sistemov, ki so zasnovani namensko glede na specifično aplikacijo [14], optimizirani sistemi za širši spekter uporabe pa so redki. V tem članku so predstavljeni koraki načrtovanja, zasnove in izdelave laboratorijskega vzorca večfaznega razsmernika z MOSFET stikali, pri čemer pa razviti razsmernik predstavlja platformo za nadaljnje raziskave na področju razsmernikov s srednje-napetostnimi MOSFET stikali. 2 Zasnova in izdelava podsklopov večfaznega razsmernika Načrtovanje, zasnova in izdelava razsmernika so potekali v več zaporednih korakih. Glede na obratovalne zahteve je bilo potrebno definirati okvirne dimenzije razsmernika, izbrati ustrezne komponente, testirati ustreznost posameznih rešitev, nato pa zasnovati, izdelati in sestaviti celoten laboratorijski vzorec. 2.1 Obratovalne zahteve Namen raziskave je zasnovati in izdelati večfazni razsmernik s srednjenapetostnimi MOSFET stikali, ki bo na primer lahko uporabljen za napajanje šestfaznega motorja s trajnimi magneti kratkotrajne moči 40 kW in trajne moči 20 kW. Nazivna napetost enosmernega vmesnega tokokroga je 135 V. Razsmernik naj bo kompakten in čim bolj simetrično zgrajen. Potrebno je kapljevinsko hlajenje za ustrezen odvod izgubnih moči. Stopnja kompaktnosti je lahko rahlo poenostavljena s ciljem zagotavljanja nemotenih laboratorijskih meritev, ki bodo omogočile nadaljnja testiranja vodenja, vpliva izbire polprevodniških elementov, gonilnikov, itn. Na podlagi obstoječih študij na temo ocene izgubnih moči, prednosti in slabosti dvo- in trinivojskih izvedb razsmernikov z MOSFETi [17, 18], je bila za podane električno-mehanske zahteve zaradi nižjih izgubnih ERK'2018, Portorož, 209-212 217 moči, manjše odvisnosti izgub od obremenitve in manjšega števila komponent izbrana 6 - fazna dvonivojska izvedba razsmernika z združenim enosmernim vmesnim tokokrogom. Zasnova posamezne faze iz več tranzistorskih vej bo lahko z namenskim krmiljenjem omogočila tudi več kot 6-fazno delovanje. 2.2 Izdelava in testiranje prototipa ene fazne veje V prvem koraku je bila izvedena optimizacija prostorske postavitve močnostnih, krmilnih in zaščitnih komponent ter hladilnega sistema v programih Altium Designer in Autodesk Inventor (glej sliko 1) z osrednjim ciljem zmanjševanja razdalj med posameznimi podsklopi in minimizacije parazitnih parametrov sistema. Načrtovanju sistema je sledila izbira komponent, nato izdelava posameznih podsklopov in sestava prototipa ene fazne veje dvonivojskega pretvornika (glej sliko 1). Sledilo je testiranje posameznih podsklopov ene fazne veje z naslednjimi osrednjimi cilji: a) ovrednotenje ustreznosti uporabe topologije več paralelnih vej za izbran nivo napetosti in moči, b) ocena uspešnosti minimizacije prenapetosti z izbranimi koncepti optimizacije postavitve komponent in c) evalvacija primernosti izbranega koncepta vodnega hlajenja. Na podlagi analize omenjenih točk so bili izvedeni popravki nekaterih podsklopov, temu pa je sledilo načrtovanje in izdelava podsklopov večfaznega razsmernika, torej močnostne stopnje z gonilniškim delom, hladilnega sistema, enosmernega vmesnega tokokroga ter krmilne plošče. 2.2.1 Močnostna stopnja z gonilniškim delom Močnostni del je nameščen na izoliranem metaliziranem substratu (IMS, angl. insulated metal substrate) na aluminijasti osnovi s 105 ^m nanosom bakra in je izveden s štirimi vzporednimi vejami s skupno osmimi MOSFET stikali podjetja Infineon (IPT210N25NFD), nazivne napetosti do 250 V (glej sliko 2). Na močnostni del je z zgornje strani možno neposredno namestiti dve gonilniški plošči s skupno 4 gonilniki AUIRS21811S. Pri načrtovanju močnostnega dela je bila posebna pozornost posvečena doseganju majhnih razdalj med elementi in posledično zmanjševanju parazitnih induktivnosti in pripadajočih efektov. Slika 2. Grafični prikaz (zgoraj) in fotografija (spodaj) močnostnega dela s po dvema gonilniškima ploščama. Pri načrtovanju gonilniškega dela je bila posebna pozornost posvečena doseganju ustrezne simetrije povezav od priklopa do posameznih gonilnikov, s čimer je zagotovljena čim večja enakost vklopnih trenutkov in posledično delovanja oziroma simetrije vzporedno obratujočih tranzistorskih vej. 2.2.2 Hladilni sistem Izhajajoč iz podatkov simulacij in termičnih testiranj je bila izvedena posodobitev hladilnih blokov, namenjenih vodnemu hlajenju razsmernika. Načrtani so bili novi hladilni bloki, ki jih je možno simetrično zložiti v heksagon. 1 < I Slika 3. Tridimenzionalni model (zgoraj) in končna izvedba (spodaj) hladilnega bloka z namenskim izrezkanim kanalom za izboljšan odvod toplote. Prvotna preprosta izvrtina je bila nadomeščena z izrezkanim kanalom z namenskimi pini, ki povečajo neposredno stično površino vode in bakrenega profila, s tem pa dodatno izboljšajo odvod toplote (glej sliko 3). Za tesnjenje bakrenega profila in pripadajočega bakrenega pokrova so uporabljeni namenski O-ringi Slika 1. Grafični prikaz prototipa ene faze dvonivojskega pretvornika s štirimi paralelnimi vejami MOSFET stikal. Z leve proti desni so prikazani merilni del, močnostni del in kondenzatorski paket. 218 podjetja DIHTA, za priklop vode pa namenski priklopniki (angl. fittingi) podjetja FESTO. 2.2.3 Združeni enosmerni vmesni tokokrog Ker ima vsaka tranzistorska veja svoj gonilnik je z namenskim krmiljenjem predvidoma mogoče vplivati na valovitost toka enosmernega vmesnega tokokroga. V ta namen je bil izdelan združen enosmerni vmesni tokokrog, ki vključuje vzporedno vezane folijske (KEMET, 60 ^F) in elektrolitske kondenzatorje (Rubycon, 560 ^F) za nazivne napetosti do 220 V in namenske varistorje za zaščito pred morebitnimi prenapetostmi. Uporabljena je tako imenovana sendvič konstrukcija, s katero zmanjšamo parazitne efekte (glej sliko 4). Skupna kapacitivnost paketa je malo manj kot 30 mF. Folijski kondenzatorji so postavljeni bližje priklopnim sponkam razsmernika zaradi večje obremenljivosti in boljšega dušenja povratnih elektromagnetnih motenj. Kondenzatorji so razporejeni v smislu zagotavljanja simetrije posameznih faz. Priklopni priključki so pripravljeni za vijačenje na Izdelana je bila namenska krmilna plošča z mikrokrmilnikom serije Delfino podjetja Texas Instruments, ki skrbi za napajanje gonilniških plošč in ustrezno krmiljenje sistema (glej sliko 5). Posebna pozornost pri načrtovanju je bila namenjena zagotavljanju dovolj velikega števila signalov za ustrezno krmiljenje posamičnih parov tranzistorskih vej in seveda primerni tokovni zmogljivosti napajalnih povezav ob večji obremenitvi gonilniških vezij. Dodatno je bila upoštevana ločena razporeditev napajalnih in logičnih linij v izogib morebitnim elektromagnetnim motnjam. Pripravljene so bile plošče s po štirimi merilniki toka LEM, ki so namenjene za merjenje izhodnega toka posameznih vej vsake faze (glej sliko 5). Poglavitni namen je možnost analize ustreznosti vzporedne vezave vej in razporeditve obremenitve razsmernika. Slika 5. Tridimenzionalna modela krmilne plošče z mikrokrmilnikom Delfino (zgoraj) in plošče z merilniki izhodnega toka LEM (spodaj). 2.2.5 Programska oprema in uporabniški vmesnik Vzporedno z zadnjo točko je potekala preliminarna priprava regulacijskih algoritmov vodenja omenjenega sistema, ki omogoča neodvisno proženje posameznih parov paralelnih vej. Pripravljen je bil namenski grafični uporabniški vmesnik za preliminarno testiranje različnih načinov obratovanja razsmernika. Ta tematika presega namen članka, zato bralca vljudno vabimo k ogledu podrobnejšega opisa v [19]. 3 Sestava in zagon večfaznega razsmernika Izdelavi sestavnih podsklopov je sledilo testiranje ustreznosti delovanja posameznih podsklopov, nato pa sestava razsmernika in postopni zagon sistema kot celote (glej sliko 6). Najprej so bili na nosilno ogrodje montirani hladilni bloki s pripadajočimi močnostnimi in gonilniškimi stopnjami. Temu je sledila namestitev enosmernega vmesnega tokokroga, ki je na priključne stebričke vijačen z medeninastimi vijaki. Zatem so bile sistemu dodane še plošče z LEM sondami in končno še krmilna plošča z ustreznimi distančniki. V prvem koraku je bilo izvedeno testiranje delovanja mikrokrmilnika, preverjena pravilnost vseh krmilnih signalov, nato pa pri nizki napajalni napetosti še pravilnost delovanja tranzistorskih stikal. Sledila je lažja obremenitev in preliminarne meritve napetosti in tokov. 4 Sklepne ugotovitve Upoštevajoč električno-mehanske zahteve je bil zasnovan in izdelan laboratorijski vzorec 6 - faznega razsmernika z MOSFET stikali. Razsmernik je izdelan kompaktno in razmeroma optimizirano, kljub temu pa omogoča modularnost, nemoteno izvajanje meritev v stebričke močnostnega dela. Slika 4. Eksplodiran prikaz (zgoraj) tridimenzionalnega modela (spodaj levo) združenega enosmernega vmesnega tokokroga. Končni vzorec kombinacije sivo-belih folijskih in črnih elektrolitskih kondenzatorjev je prikazan spodaj desno. 2.2.4 Krmilna plošča in merilniki toka 219 laboratorijskem okolju, s čimer predstavlja odlično izhodišče za nadaljnja testiranja in raziskave. Predvideno je nadaljnje delo v sklopu vključitve v postroj z namenskim večfaznim, večsistemskim strojem, kar bo omogočilo oceno ustreznosti različnih principov vodenja, primerjavo uporabe prepletanja vej, različnih močnostnih stikal, itn. Razsmernik lahko namreč zaradi Možnost testiranja bo pomemben korak v smeri spoznavanja in uveljavitve večfaznih pogonov, ki bodo zaradi specifičnih prednosti v prihodnosti lahko imeli velik potencial za uspešno elektrifikacijo glavnih pogonskih sklopov vozil. Zahvala Delo sta sofinancirali Republika Slovenija ter Evropska unija v sklopu projekta EVA4green (OP20.00362). Literatura [1] https://www.greentechmedia.com/articles/read/how-vehicle-electrification-will-evolve-in-2018#gs.oKSpb2o, dostopano dne 8.6.2018. [2] A. Lajunen, P. Sainio, L. Laurila, J. Pippuri-Mäkeläinen, K. Tammi: Overview of Powertrain Electrification and Future Scenarios for Non-Road Mobile Machinery. Energies, 11(5), str. 1184, 2018. [3] Y. Yang, K. Arshad-Ali, J. Roeleveld, A. Emadi: State-of-the-art electrified powertrains-hybrid, plug-in, and electric vehicles. International Journal of Powertrains, 5(1), str. 1-29, 2016. [4] F. Barrero, M. J. Duran: Recent advances in the design, modeling, and control of multiphase machines—Part I. IEEE Transactions on Industrial Electronics, 63(1), str. 449-458, 2016. [5] E. Levi: Advances in converter control and innovative exploitation of additional degrees of freedom for multiphase machines. IEEE Transactions on Industrial Electronics, 63(1), str. 433-448, 2016. [6] N. K. Nguyen, F. Meinguet, E. Semail, X. Kestelyn: Fault-tolerant operation of an open-end winding five-phase PMSM drive with short-circuit inverter fault. IEEE Transactions on Industrial Electronics, 63(1), str. 595605, 2016. [7] S. Bhattacharya, D. Mascarella, G. Joos, J. M. Cyr, J. Xu: A dual three-level T-NPC inverter for high-power traction applications. IEEE Journal of Emerging and Selected Topics in Power Electronics, 4(2), str. 668-678, 2016. [8] R. Teichmann, S. Bernet: A comparison of three-level converters versus two-level converters for low-voltage drives, traction, and utility applications. IEEE Transactions on Industry Applications, 41(3), str. 855865, 2005. [9] M. Schweizer, T. Friedli, J. W. Kolar: Comparative evaluation of advanced three-phase three-level inverter/converter topologies against two-level systems. IEEE Transactions on industrial electronics, 60(12), str. 5515-5527, 2013. [10] L. G. Franquelo, J. Rodriguez, J. I. Leon, S. Kouro, R. Portillo, M. A. Prats: The age of multilevel converters arrives. IEEE industrial electronics magazine, 2(2), 2008. [11] J. Zhang: High performance control of a three-level IGBT inverter fed ac drive. In Industry Applications Conference, Thirtieth IAS Annual Meeting, IAS'95., vol. 1, str. 22-28, Okt. 1995, IEEE. [12] H. Kim, H. Chen, J. Zhu, D. Maksimovic, R. Erickson: Impact of 1.2 kv sic-mosfet EV traction inverter on urban driving. In Wide Bandgap Power Devices and Applications (WiPDA), 2016 IEEE 4th Workshop on, str. 78-83, Nov. 2016, IEEE. [13] E. Gurpinar, A. Castellazzi: Single-phase T-type inverter performance benchmark using Si IGBTs, SiC MOSFETs, and GaN HEMTs. IEEE Transactions on Power Electronics, 31(10), str. 7148-7160, 2016. [14] B. A. Welchko, M. B. de Rossiter Correa, T. A. Lipo: A three-level MOSFET inverter for low-power drives. IEEE Transactions on Industrial Electronics, 51(3), str. 669674, 2004. [15] H. Kernstock, B. Plassnegger: High efficiency soft switched 3-level MOSFET Inverter for an Electric Vehicle PMSM Drive. In Power Electronics and Motion Control Conference (EPE/PEMC), 15th International, str. DS1b-9, Sep. 2012, IEEE. [16] O. Garcia, P. Zumel, A. De Castro, A. Cobos: Automotive DC-DC bidirectional converter made with many interleaved buck stages. IEEE Transactions on Power Electronics, 21(3), str. 578-586, 2006. [17] A. Rihar, D. Vončina, R. Fišer, H. Lavrič: Primerjava analitičnega in numeričnega izračuna izgubnih moči pri trifaznem razsmerniku z MOSFETi. V: Proceedings of the Twenty-sixth International Electrotechnical and Computer Science Conference ERK 2017, str. 295-298, Sep. 2017, IEEE. [18] B. Prah, A. Rihar, D. Vončina: Simulacije in konceptualna zasnova trinivojskega pretvornika. V: Proceedings of the Twenty-sixth International Electrotechnical and Computer Science Conference ERK 2017, str. 291-294, Sep. 2017, IEEE. [19] M. Nemec, A. Rihar: Načrtovanje programske opreme za vodenje večfaznega pogona. ERK 2018, poslano v objavo, 2018. štirih vzporedno vezanih vej v vsaki fazi omogoča delovanje v konfiguraciji do 24 - faznega sistema. Slika 6. Sprednji (zgoraj) in zadnji (spodaj) pogled na tridimenzionalni model (levo) in končno izvedbo (desno) laboratorijskega vzorca 2 x 3 - faznega razsmernika. 220 Načrtovanje, izdelava in preliminarno testiranje eksperimentalnega modela trinivojskega pretvornika Blaž Prah, Andraž Rihar, Danjel Vončina Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana E-pošta: prah.blaz@gmail.com Design, assembly and preliminary testing of a three-level inverter Abstract. Three-level inverters are becoming a strong alternative to the well-established two-level inverters, especially under specific operating conditions. As laboratory-based inverter setups are usually less compact, this paper provides a description of design and assembly of a laboratory-based, but medium power three-level MOSFET inverter of compact design. Results ofpreliminary testing under small load are provided for passive and active NPC operation. Active control of the DC link's midpoint is presented and to some extent its advantages are verified through measurements. Finally, critical ideas for further work are presented. 1 Uvod Zaradi stalnega naraščanja števila avtonomnih električnih pogonov, fotovoltaičnih elektrarn in podobnih postrojev naraščajo potrebe po zmogljivih močnostnih pretvornikih, ki jih morajo odlikovati kompaktnost, nizko popačenje izhodne napetosti (angl. THD - total harmonic distortion), visok izkoristek in sprejemljiva cena izdelave [1, 2]. Nenehno višanje potrebne moči narekuje potrebo po višjih napajalnih napetostih (nad 500 V) [3], hkrati pa morajo slednjim zadostiti tudi uporabljena močnostna polprevodniška stikala [4]. Tu se pokaže ena izmed glavnih prednosti premagovanja nižjih preklopnih strmin stikal [13] v večnivojskih pretvorniških topologijah, katere okvirno delimo na a) pretvornik z ločilnimi diodami (angl. NPC - Neutral Point Clamped), b) pretvornik z ločilnimi kondenzatorji (angl. FC - Flying Capacitor) in c) kaskadni mostični večnivojski pretvornik (angl. Cascaded H-bridge) [4]. Na področju višjih napetosti prevladujejo IGBT stikala nazivnih napetosti 600 V ali 1200 V [3, 5, 6], na področju nizkih napetosti (do 50 V) in nižjih moči pa srečamo uporabo predvsem MOSFET-ov, ki omogočajo delovanje pri višjih stikalnih frekvencah in imajo običajno manjše izgube zaradi manjše upornosti kanala. Pretvornikom, ki uporabljajo MOSFET stikala se poveča močnostna zmogljivost tako, da se vzporedno veže več stikal ali pretvorniških vej [7]. Zaradi novih tehnologij (CoolMOS) [8] in novih materialov (SiC, GaN), ki omogočajo višje izkoristke kljub večjim upornostim kanala v primerjavi s klasičnimi MOSFET-i, se na področju visokih napetosti počasi uveljavljajo tudi visokonapetostna MOSFET stikala, katerih ciljno napetostno področje je nad 600 V, hkrati pa nove tehnologije omogočajo tudi višje stikalne frekvence [9, 10]. Študije kažejo, da nove tehnologije omogočajo nižje izgube, to pa ponuja tudi možnost zmanjšanja površine hladilnih teles ob klasičnem odvajanju toplote s pomočjo hladilnih reber [12, 14]. Termične študije kapljevinskega hlajenja so zaenkrat še pomanjkljive. Ob pregledu literature je moč zaslediti veliko izdelanih eksperimentalnih modelov večnivojskih pretvornikov, predvsem različnih podtipov, kot so A-NPC ali T-NPC, ki imajo namesto pasivnih elementov stikala [12]. Pri izdelavi eksperimentalnih modelov so avtorji manj pozorni na kompaktnost izvedbe, kar lahko med drugim povzroča parazitne induktivnosti in prenapetosti, tako ne podaja verne slike delovanja sistema, končno pa lahko povzroča tudi EMI ali EMC težave, saj pretvorniki delujejo pri visokih frekvencah [11]. Rešitve se kažejo v kompaktni realizaciji pretvornika, kar zmanjša vpliv parazitnih efektov in izboljša delovanje pretvornika. Manj nihanja napetosti namreč pomeni manj težav pri preklopih z visokimi frekvencami [14]. Glede na to, da se v zadnjem času povečujejo napetostne zmogljivosti baterij in enosmernega vmesnega tokokroga in bi uporaba MOSFET stikal lahko posledično omogočila zvišanje stikalnih frekvenc ter sočasno znižanje izgub, v članku predstavljamo realizacijo eksperimentalnega modela aktivne različice trinivojskega pretvornika z MOSFET-i za eno fazo s paralelnim delovanjem. Predstavljeni so posamezni sklopi modela, kot tudi napake, ki se lahko pojavijo pri nepazljivem načrtovanju. Dodatno so predstavljeni rezultati meritev in ovrednotenje delovanja pretvornika, kot tudi predlogi za morebitne izboljšave in razširitve. 2 Metodologija Osrednji namen je bila izdelava demonstracijskega pretvorniškega sistema, prikazanega na sliki 1. Slika 1. Shematski prikaz močnostnega dela pretvorniškega sistema od napajanja do izhoda s posameznimi stopnjami. Za napajanje pretvornika je bil uporabljen laboratorijski napajalnik, v primeru elektromotorskega pogona pa bi to bila baterija. Sledi polmostič z dušilko za regulacijo srednje točke N, kjer imamo vzporedno vezavo ERK'2018, Portorož, 209-212 221 tranzistorskih vej za doseganje zahtevane tokovne zmogljivosti tranzistorjev. Nadalje je vključen enosmerni vmesni tokokrog z osrednjim namenom glajenja napetosti in vzpostavitve središčnega potenciala N s kapacitivnim delilnikom. Na izhodu sledita dve aktivni NPC razsmerniški stopnji, ki delujeta v vzporedni vezavi prek gladilnih dušilk zaradi doseganja potrebne tokovne zmogljivosti. Ime L [nH] Pozicija t [mm] w [cm] l [cm] Li 0,45 QD1 in Stebriček 0,105 0,90 0,30 L2 0,89 QD1 in Q2 0,105 3,80 0,30 L3 35,05 MLCC in stebriček 0,105 4,00 6,80 L4 0,43 J5 in Q1 0,105 1,07 0,30 2.2 Izdelava gonilniških tiskanin Gonilniški tiskanim (slika 4) sta izdelani tako, da povsem nalegata na močnostni tiskanini za doseganje čim krajših povezav, s tem pa je dosežen učinek zmanjšanja parazitnih induktivnosti. Primer izračuna parazitnih induktivnosti (tabela 1) je opisan v literaturi [15, 16]. Uporabljen je gonilnik IRS2110, ki je v osnovi namenjen proženju polmostične topologije, tu pa je predelan za proženje tranzistorjev trinivojske topologije z dodatkom t.i. (ang. bootstrap) kondenzatorja, ki omogoča proženje vseh tranzistorjev, ki so na ločenih potencialih. Kapacitivnost je določena na minimalno vrednost 9,5 nF, za izračun pa je potrebno imeti podatke o gonilniku, tranzistoiju ter stikalni frekvenci [15], Slika 3. Močnostni del na IMS substratu z opisom posameznih komponent. Razdalje med posameznimi tranzistorji so enake, da je bila dosežena simetričnost tiskanine. Slika 2. Fotografija celotnega sistema z opisanimi posameznimi stopnjami. 2.1 Izdelava močnostnega dela Močnostni del, prikazan na sliki 3, je sestavljen iz dveh vzporedno delujočih polovic, kjer je posamezna močnostna stopnja sestavljena iz šestih tranzistorjev IPT059N15N3 proizvajalca Infineon, h katerim sta vzporedno dodana hitra TVS dioda SMCJ85CA za razbremenitev prenapetosti ter razbremenilno vezje RCD z izračunanimi vrednostmi R = 6,75 Q in C = 5,8 nF. Posamezna močnostna stopnja je izdelana na aluminijevem IMS substratu za boljše odvajanje toplote. Substrat ima 105 ^m debeli nanos bakra. Elementi so po tiskanini razvrščeni tako, da je parazitna induktivnost zaradi dolžine linij čim manjša [15]. Tabela 1. Izračunane parazitne induktivnosti za posamezne linije med elementi, prikazanimi na sliki 4, kjer je t debelina, w širina in l dolžina bakrene linije. Slika 4. Shema gonilniške tiskanine, ki nalega neposredno na močnostni del. Njena oblika je prilagojena zaradi tokovnih stebričkov (priključnih kontaktov) močnostnega dela. 2.3 Izdelava krmilnega vezja Krmilna tiskanina, ki je razvidna iz slike 2, vključuje mikrokrmilnik Piccolo proizvajalca Texas Instruments, kot tudi priključne kontakte za povezovanje in komunikacijo ostalih tiskanin z mikrokrmilnikom. Na tiskanini se za galvansko ločitev prožilnih signalov nahajajo tudi DC/DC napajalniki TMA 1515S proizvajalca TRACO Power. Dodani so tako merilni upori za merjenje napetosti enosmernega tokokroga, kot tudi vezja za prilagoditev merjene napetosti na območje A/D pretvornika. 2.4 Enosmerni vmesni tokokrog Enosmerni vmesni tokokrog (slika 5) sestavljajo elektrolitski ter folijski kondenzatorji v skupni velikosti 8,4 mF. Doseganje čim bolj simetričnih polovic je bila pri konstruiranju prioriteta, saj je s kapacitivnim delilnikom definirana srednja točka N. Ponovno je bil cilj 222 doseči čim krajši priklop do močnostnih tiskanin, da se je zmanjšal vpliv parazitnih induktivnosti. 2.5 Konstruiranje dušilk Za blaženje tokovnih nesimetrij med posameznima stopnjama sta naviti dve manjši dušilki v velikosti 4,7 ^H, ki sta vezani na izhod posamezne stopnje. Za regulacijo srednje točke pretvornika je izdelana regulacijska dušilka z induktivnostjo 104,9 ^H. Njena vrednost je bila izračunana iz predvidene 20 % valovitosti toka, stikalne periode in iz podatkov o jedru (T400-30D), ki jih podaja proizvajalec MICRO-METALS v podatkovnem listu. Navitje je izdelano iz dvojne žice za doseganje tokovne zmogljivosti dušilke in tako prenese vsaj 100 A tokovne obremenitve. Slika 5. Fotografija enosmernega vmesnega tokokroga, kjer sta razvidni dve simetrični polovici ter priključitev na močnostni del. 2.6 LEM tiskanim Za merjenje toka ter regulacijo obratovalnih stanj pretvornika, se je pojavila potreba po dodatni tiskanini z LEM sondami, na kateri se nahaja še prilagoditveno analogno vezje, ki izmerjeno napetost LEM sonde prilagaja napetostnemu območju A/D pretvornika v mikrokrmilniku. 2.7 Regulacija napetosti enosmernega tokokroga Ugotovljeno je bilo, da se že pri majhnih obremenitvah pretvornika napetost srednje točke seseda, zato se je pokazala potreba po regulaciji srednje točke. V ta namen so dodani dva podvojena tranzistorja za doseganje tokovne zmogljivosti ter regulacijska dušilka, katere vrednosti so opisane v poglavju 2.5. Pri tem gre za izmenjavo energije med enosmernim vmesnim tokokrogom ter dušilko. 2.8 Programska oprema, preverjanje in zagon pretvornika Krmilni program za pretvornik je pripravljen na mikrokrmilniku Piccolo proizvajalca Texas Instruments. Program omogoča izbiro delovanja pretvornika, torej tako aktivni kot pasivni režim. Omogoča vključitev ali izključitev regulacije srednje točke, kot tudi nastavitev osnovne in stikalne frekvence, pri čemer je slednja pogojena z izvajanjem prekinitvenega podprograma. Pretvorniški sistem na sliki 2 je bil postopoma zagnan ter testiran po sklopih. Najprej se je preverilo pravilnost prožilnih signalov, izmerjene so bile morebitne prenapetosti na tranzistorjih, prav tako so bile testirane posamezne tiskanine. Sledile so preliminarne meritve obratovanja pri nižji obremenitvi. 3 Preliminarne meritve Namen preliminarnih meritev je testiranje posameznih sklopov pretvornika, ovrednotenje slednjih ter testiranje krmilnega programa. Nato je sledil zagon pretvornika v pasivnem in aktivnem režimu delovanja, kjer je bilo preverjeno ali pretvornik deluje v skladu z rezultati simulacij. 3.1 Testiranje pretvornika Najprej je bil izveden test pretvornika v pasivnem režimu delovanja, kjer je bilo opazovano dogajanje ob nereguliranem ničlišču, katerega valovitost je prikazana na sliki 6 z vijolično barvo. Opaženo je bilo tako sesedanje srednje točke, kot tudi izhodne napetosti. Slednje je postalo vidno pri obremenitvi pretvornika z RL bremenom, kjer je R znašal 3.3 Q in L = 135 mH. Pri tej obremenitvi je napetost enosmernega vmesnega tokokroga znašala 30 V, izhodni tok pa 9,2 A. Pri vključeni regulaciji srednje točke se je valovitost napetosti znižala z 1,5 V na 1 V. Opaziti je bilo izravnavanje valovitosti ničlišča in izhodne napetosti, kar je prikazano na sliki 7 z oscilogramom vijolične barve. Pri delovanju pretvornika v pasivnem režimu je bilo opaziti padec napetosti na ločilnih diodah. Slednji je bil odpravljen pri aktivni različici delovanja pretvornika, kar je bil hkrati indikator, da tudi aktivna različica deluje pravilno. Padec napetosti na diodah vpliva na izkoristek pretvornika pri velikih tokovnih obremenitvah, saj se povečajo prevodne izgube. 3.2 Omejitve izdelanega sistema ter predlogi za nadaljnje delo Celoten sistem deluje sicer pravilno, vendar ne najbolje, saj je bilo ugotovljenih nekaj napak pri izdelavi gonilniške tiskanine. Glavna napaka je bila storjena ob predelavi IRS2110 za krmiljenje samo enega tranzistorja, ki se nahaja na ločenem potencialu. Napaka je bila odpravljena s prevezavami, kar pa se je izkazalo kot neoptimalna rešitev, saj so se zaradi dolgih priključnih linij pričele pojavljati prenapetosti, ki so povzročale nenadne vklope tranzistorjev, šum (sliki 6 in 7) ter odpoved nekaterih čipov. Slika 6. Poteki izhodne napetosti (oker), izhodnega toka (zelena) in valovitosti napetosti ničlišča (vijolična), zaradi katere se seseda izhodna napetost. 223 V nadaljevanju je najprej potrebno odpraviti napako, ki je bila narejena pri načrtovanju gonilniške tiskanine in slednjo ponovno načrtati, pri tem pa paziti na pozicijo gonilniških čipov tako, da bo povezava med izhodom čipa in vrati tranzistorja še vedno čim krajša. Zanimiva je uporaba nove generacije gonilnikov, ki že merijo napetosti na tranzistorju, s čimer je zmanjšana verjetnost odpovedi. Slika 7. Prikazan je potek izhodne napetosti (oker barva), izhodnega toka (zelena barva) in izravnana napetost ničlišča (vijolična barva), kar vpliva na zmanjšanje sesedanja izhodne napetosti (poravnani vrhovi oker signala). Sledi lahko ovrednotenje pretvornika po moči, meritev izkoristkov pri različnih obratovalnih stanjih ter primerjava z rezultati simulacij iz literature [15, 16], kot tudi primerjava z dvonivojsko topologijo. Glede na rezultate testiranja in meritev lahko sledi razširitev na tri faze, kar bo odpravilo potrebo po regulaciji srednje točke in omogočilo realizacijo klasičnega pogona s trifaznim motorjem. Takšen pogonski sklop lahko razširimo na generatorski režim delovanja oziroma na dvosmerni pretok energije. Možno je testiranje pretvornika pri polni moči, ocena izkoristka ter primerjava z dvonivojsko topologijo. 4 Sklepne ugotovitve V sklopu študije je bila izvedena ena faza trinivojskega pretvornika s po dvema paralelnima vejama za povečanje skupne tokovne zmogljivosti. Predstavljeni so ukrepi pri načrtovanju pretvornika ter pomanjkljivosti, ki so se pokazale med testiranjem. Rezultati meritev kažejo, da realizirani pretvornik deluje zadovoljivo, vseeno pa bi bilo v nadaljevanju smiselno narediti nekaj izboljšav. Izdelani pretvornik predstavlja dobro izhodišče za preverjanje različnih konceptov vodenja, hkrati pa lahko služi za laboratorijske meritve zaradi kompaktne izdelave, saj so z njo izločene možne motnje, ki bi vplivale na meritve. Ravno zaradi kompaktnosti bo mogoče izvesti primerjavo rezultatov meritev z rezultati predstavljenih numeričnih simulacij [15, 16]. Literatura [1] https://www.forbes.com/sites/rrapier/2017/02/05/u-s-electric-vehicle-sales-soared-in-2016/#76e55 9f4217f, 3.7.2018. [2] https://cleantechnica.com/2015/03/28/ev-demand-growing-global-market-hits-740000-units/, 3.7.2018. [3] M. Schweizer, J. W. Kolar: Design and implementation of a highly efficient three-level T-type converter for low- voltage applications. IEEE Transactions on Power Electronics, 28(2), 899-907, 2013. [4] L. G. Franquelo, J. Rodriguez, J. I. Leon, S. Kouro, R. Portillo, M. A. Prats: The age of multilevel converters arrives. IEEE industrial electronics magazine, 2(2), 2008. [5] A. Salem, M. F. Elsied, J. Druant, F. De Belie, A. Oukaour, H. Gualous, J. Melkebeek: An advanced multilevel converter topology with reduced switching elements. V: Industrial Electronics Society, IECON 2014-40th Annual Conference of the IEEE (pp. 1201-1207), 2014. [6] S. Brueske, B. Benkendorff, R. Kulpe, F. W. Fuchs: Comparison of the power semiconductor design rating of different inverter topologies for the drive inverter of electric vehicles. V: Energy Conversion Congress and Exposition (ECCE), (pp. 3643-3650) IEEE, 2015. [7] S. Busquets-Monge, R. Maheshwari, J. Nicolas-Apruzzese, E. Lupon, S. Munk-Nielsen, J. Bordonau: Enhanced DC-link capacitor voltage balancing control of DC-AC multilevel multileg converters. IEEE Transactions on Industrial Electronics, 62(5), 2663-2672, 2015. [8] S. Bhattacharya, D. Mascarella, G. Joos: Modular multilevel inverter: A study for automotive applications. V: Electrical and Computer Engineering (CCECE), 2013 26th Annual IEEE Canadian Conference on (pp. 1-6), IEEE, 2013. [9] J. Biela, M. Schweizer, S. Waffler, J. W. Kolar: SiC versus Si—Evaluation of potentials for performance improvement of inverter and DC-DC converter systems by SiC power semiconductors. IEEE transactions on industrial electronics, 58(7), 2872-2882, 2011. [10] T. Morita, S. Tamura, Y. Anda, M. Ishida, Y. Uemoto, T. Ueda, D. Ueda: 99.3% efficiency of three-phase inverter for motor drive using GaN-based gate injection transistors. V: Applied Power Electronics Conference and Exposition (APEC), 2011 Twenty-Sixth Annual IEEE (pp. 481-484), 2011. [11] B. A. Welchko, M. B. Correa, T. A. Lipo: A Three-Level MOSFET Inverter for Low-Power Drives. IEEE Transactions on Industrial Electronics, 51(3), 669-674, 2004. [12] A. Anthon, Z. Zhang, M. A. E. Andersen, D. G. Holmes, B. McGrath, C. A. Teixeira: Comparative evaluation of the loss and thermal performance of advanced three-level inverter topologies. IEEE Transactions on Industry Applications, 53(2), 1381-1389, 2017. [13] A. Alesnik: Trinivojski razsmernik. Diplomsko delo. Fakulteta za elektrotehniko, Univerza v Ljubljani, 2013. [14] E. Gurpinar, A. Castellazzi: Single-Phase T-type inverter performance benchmark using Si IGBT's, SiC MOSFET's and GaN HEMT's. IEEE Transactions on Power Electronics, 31(10), 7148-7160, 2016. [15] B. Prah: Simulacijski in eksperimentalni model trinivojskega razsmernika. Magistrsko delo. Fakulteta za elektrotehniko, Univerza v Ljubljani, 2018. [16] B. Prah, A. Rihar, D. Voncina: Simulacije in konceptualna zasnova trinivojskega pretvornika. V Zborniku 26. konference ERK, str. 291-294, Sep. 2017, IEEE. 224 Simulation and Analysis of Solar PV modules under shadow effect Nedzmija Demirovic1, Alma Huremovic2, Izudin Softic1 1Faculty of Electrical Engineering Tuzla 2 Border Police of Bosnia and Herzegovina E-posta: nedzmija. demirovic@gmail.com Abstract. The performance of solar photovoltaic (PV) arrays depends on exposure to solar irradiation and on variations of external temperature. In many cases, the photovoltaic array works precisely in conditions when it is not fully exposed to solar irradiation, precisely because of the effect of the shadows which may be due to cloudy weather or the existence of a shadow object. The operating point of the solar PV arrays corresponds to the points of maximum power. Finding this point can be time-consuming in situations where a string works in uneven working conditions, such as the presence of shadows or changes in the outside temperature. In this paper the performance of a solar PV array when it is exposed to the effects of unbalanced solar irradiation will be presented. It will be shown that the reduction in the external temperature affects the output values of the solar PV array. 1 Introduction To get the required value of the output voltage, photovoltaic (PV) cells are connected in series. In this way module is created. If it is necessary to get a higher output voltage than those it can be obtained from one module, the modules are connected into arrays. Photovoltaic arrays are often exposed to the shadow effect often due to very close neighbouring objects [1]. The most important characteristic of the PV arrays is the I-V characteristic. It is an indication of how much power can be obtained from the shadowed PV arrays. If the string is exposed to uniform solar irradiation, it is easy to find working point of maximum power. In the case of partial shadows, the maximum power point is located taking into account the value of the actual voltage on the module or array. Accordingly, the I-V characteristic of the PV cell is under the influence of two parameters: solar irradiation and outside temperature [2]. To make the photovoltaic modul work with maximum power and accordingly have the best efficiency, it is necessary to have an appropriate method that will regulate the voltage in real time. In addition, the outside temperature has a significant effect on the IV characteristic of the PV cell [3],[4]. of saturation of the diode I0, the ideal factor of diode nl, serial RS resistance and parallel resistance Rsh taking into account the irradiation and the temperature dependence of the I-V characteristic. An example of equivalent diagram of PV cell with one diode is shown (Figure 1). The I-V and P-V characteristics for a single module are given by the following terms (Figure 2): Figure 1. One diode equivalent diagram of PV cell Id = 10 V VT ) 1 eV -1 V i. k ■ T vt =--nI ■ Nceu q (1) (2) where are: Vd - voltage diode, VT - thermal voltage, Ncell- number of cells, k- Boltzman's constant. At the output terminal from each PV module, it is possible to measure the voltage and current, based on obtained I-V and P-V characteristics. Each module has 20 serially connected cells which are antiparallel connected with bypass diodes. In the simulation and analysis 6 such modules were used. 2 Basic components of the PV model The Matlab / Simulink-based block allows the modeling of PV modules, with its own parameters, as well as the choice of ready-made models [2]. For the PV modeling, five parameters are required: photo- current Il, current ERK'2018, Portorož, 209-212 225 Figure 2. I-V and P-V characteristics of a single module The temperature coefficient of voltage presents the dependence of the voltage on the temperature given by the term: V0CT = Voc(1 + ßVrP (T - 25)) (3) jsct = 1 sc (1 + aisc (t - 25)) (4) paper, the bypass diode is modeled with a resistor, inductance and a DC source connected in a series with a switch. The operation of the switch is controlled by the voltage Vak and the current Iak (Figure 3). where are: Voc open voltage circuit at temperature 25 (°C), P Voc is the temperature coefficient (in %/°C), and T is the temperature in (°C). Temperature current coefficient presents dependence of current on the temperature given by the term : Figure 3. Model of bypass diode Resistance Ron represents the internal resistance of the diodes in (Q); the Lon is inductance; Vf is the control voltage of the diode. The starting current of the diode Io is set to zero so the simulation starts when the diode is blocked. This model does not take into account the geometry of the device or the complex physical processes that occur during the state change of the diodes. 3 Simulation and analysis of the results Partial shading of a 250-W PV module consisting of 60 cells connected in series (Figure 4). where are Isc short circuit current at temperature (25°) C, Isct is short circuit current at temperature T, a_Isc is the temperature coefficient (in %/°C) and T is the temperature in (°C). The maximum power of the PV system is obtained at 1000 (W/m2) irradiation, and the ambient temperature is 25 (°C). 2.1 Role and model of bypass diode The light intensity on each cell affects the operation of the entire module. Namely, if any cell is in the shadow due to weather conditions eg. or, the existence of a shadow object, then the output values of the module are reduced. Since cells in a single module are connected in series, only one weaker cell brightness leads to moving the point of maximum power and overheating cells. In order to avoid losses, the bypass diode connects antiparallel to the each PV cells. In normal circumstance, the positive voltage on it acts as blocking, and the bypass diode does not work. As soon as the PV cell finds itself in shadow, it becomes bridged due to the bypass diode being processed. Overheating occurs when other non-shadowed cells try to "push" electricity through a shadow cell [5]. In this Figure 4. Model of PV partial shading module In this paper the following cases are analyzed: Case 1: Number of parallel strings =1, number series connected modules per string =1. Values of irradiation per modules respectively: Ir;=1000 (W/m2); Ir2=300 (W/m2); Ir3=600 (W/m2). At initial moment in the case normal irradiation of 1000 (W/m2), the voltage on the first module V_PV1 = 8.6 (V). The voltage at the bypass diode D1 is equal to zero because the diode does not lead (Figure 5). In the 226 same time, the voltage on the second module is V_PV2 = 2.6 (V), the voltage of the bypass diodes is 6 V and gradually decreases. In time t = 0.81 (sec), voltage of first module dropped at V_PV1= 5.4 (V); voltage of bypass diode is decreased at 2.62 (V), and it is equal to zero in t=1.84 (sec) In t = 1.84 (sec), voltage at V_PV1 = 2.6 (V). £ V PV1 V_D1 \ \ > Calls 21 -40 £4 2 SP rd „ Ä 0 u o bJj I 0 PV2 ~D2 Calls 41 -60 V PV3 V_D3 \_ \ \ 10 fi e < S 4 ë 2 o 0 -2 — il A 12 13 \ -Ito \ \ — \ \ 0 0.5 1 1.5 2 2 5 3 Time (sec) Figure 6. Currents per modules and total curent of all modules 0 O.S 1 1.5 2 2.5 3 Time (sec) Figure 5. Voltages of PV modules and bypass diodes The voltage on the third module, which is better illuminated than the second but less than the first, is V_PV3 = 5.18 (V) in initial moment. Voltage of bypass diode is 3.4 (V) and gradually decreaces to zero. So, whenever the illumination is smaller, the diodes are activated. The smaller the illumination, the higher the voltage on the diode. For example, the voltage of the bypass diode of the module 2 is 6.04 (V), and the voltage of the bypass diode of the module 3 is 3.15 (V). The PV module's currents have also a similar shape (Figure 6). The total current of the circle is presented by the red line as well as current of the first module. Figure 7. I-V and P-V characterstics of PV modules in the case of different irradiation per modules Case 2: Number of parallel strings =1, number series connected modules per string =1. Values of irradiation per modules respectively: Iri=1000 (W/m2); Ir2=300 (W/m2) ;Ir3=300 (W/m2). The total power of all modules is 79.7 (W), therefore less than the nominal power of one module. This is due to the less power of the other two modules (Figure 8). Voltage Figure 8. I-V and P-Vcharacteristics in the case of decrease of irradiation at modules 2 and 3 Case 3 : The operating temperature of the modules respectively: Ti=25 (°C), T2=15 (°C), T3=25(°C). Values of irradiation per modules respectively: /r,= 1000W/m2; /r2=1000W/m2;/r3=1000 (W/m2). Maximum power of modules is 249.5 (W) which could be expected (Figure 9). The maximum power is 104 (W) and the current corresponding to this value is 5 A ( Figure 7). 227 Cïflfrii C.V i P-V ihnfiHiiui M K Figure 9. I-V and P-V characterstics of PV modules in the case of uniform irradiation per modules Comparison of total currents of modules under different outdoor temperature is given (Figure 10). The blue line presents the current for which the system achieves maximum power in the case irradiation of 1000 (W/m2) on all modules and the same outdoor temperature of 25 (°C). A dark red line corresponds to equal irradiation on all modules and the outdoor temperature of third module of 15 (°C). h 12 - if 6 " - Itct I 5 - f ' " •a ■g 3 ■ h o 05 i H i j Time (sec} Figure 10. Current per modules in the case 3 of simulation In the next simulation, the irradiation was also kept at a maximum value and the reduced temperature of the second and third modules at 15 (°C) (red line). Finally, the temperature of all three modules at irradiation of 1000 (W/m2) was reduced (green line). In addition to this, the comparison of currents per modules is presented when the irradiation is as in case 1 and the outdoor temperature changes from 25 (°C) to 15 (°C) (Figure 11). & Qfl 1 11 ? a Time (sec) Figure 11. Comparison of currents in the case of different outdoor temperatures at modules Green line: irradiation is 1000 (W/m2), 300 (W/m2), 600 (W/m2), outdoor temperatures for all three modules are 25 (°C). Red line: the same irradiation as previous, outdoor temperature of module 2 is 15 (°C). Blue line: the same irradiation as previous, outdoor temperature of modules 2 and 3 is 15 (°C). Conclusion Partial shading of a 250-W PV module consisting of 60 cells connected in series are presented. It has been shown that power reduction is mostly influenced by the brightest lighted PV module. Thus, in the case1, the smallest current and voltage was in module 2. The global I-V characteristic is determined by the weakest module, so the output power is reduced. When the outside temperature decreases, there is an increase in current through the modules, which implies that there is overheating. The maximum power point moves slightly to the right. Literature [1] S. Sumathi, L. Ashok Kumar, P. Surekha: Solar PV and Wind Energy Conversion Systems An Introduction to Theory, Modeling with MATLAB/SIMULINK, and the Role of Soft Computing Techniques, Springer International Publishing Switzerland 2015 [2] Xuan H. Nguyen: Matlab/Simulink Based Modeling to Study Effect of Partial Shadow on Solar Photovoltaic Array 2015 [3] Matlab/Simulink User Guide [4] H. Mohamed Diab, Maximum Power Point Tracking of Grid Connected Photovoltaic Using Artificial Neural Networks, Master Thesis 2012 [5] C. Salvadores, J.Francisco: Shadowing Effect on The Performance in Solar PV Cells, Master Thesis 2015 228 Comaparative Anaylisis of Maximum Power Point Tracking Algorithms of PV Array with Three-level NPC Power Converter with Selectable Topologies and Power Switching Device Nedzmija Demirovic1, IzudinSoftic1 1 Universisty of Tuzla Faculty of Electrical Engineering E-posta: nedzmija. demirovic@gmail.com Abstract. The efficiency of the photovoltaic system is based on the efficiency of each individual component as well as the installation way of the photovoltaic system. Each photovoltaic (PV) system has an inverter that converts the DC output voltage of the PV system to the AC voltage of a network with a certain degree of efficiency. The conversion efficiency depends on the speed and precision of finding the maximum power point. This paper provides a comparative performance analysis of a 100 kW photovoltaic system connected to the 25-kV network via a DC-DC boost converter and a three-phase three level Voltage Source Converter (VSC) by two modes of finding the maximum power point. In addition, the analysis of the overall harmonic distortion of the output power of the photovoltaic system and the line voltage behind the three level bridge for the two modes of finding the maximum power point are also given. 1 Introduction The photovoltaic (PV) system consists of a variaty of individual components that are serially connected and in parallel by making arrays and modules in order to obtain the appropriate output voltage and current, and thus the output power. The maximum power point (MPP) depends on the current solar irrradiation and the outside temperature. These parameters determine the output voltage of the PV array. Maximum power is always determined by the optimal voltage value [1]. In this purpose the PV system has a DC-DC converter and a DC-AC converter. The role of DC-DC converter is to regulate the output voltage of the PV array by changing the duty cycle of the converter. A very important component of the PV system is a DC-AC inverter that converts DC voltage to the appropriate AC voltage. Conversion efficiency depends on the speed and precision of finding the maximum power point [2]. As the DC-DC converter changes the duty cycle and thus the output voltage, the DC-AC converter fixes this DC voltage and maintains it constant and converts to the AC voltage. 2 The role of power converters inside of PV system 2.1 Voltage booster The DC-DC converter has the role of a voltage booster whose frequency is 5 kHz. This converter raises the input voltage of 273 V to 500V at the maximum power. The function of converting the output voltage (Vout) to the input voltage (Vin) is given by the formula: V oui V_ 1 1 - D (1) where D is duty cycle. The interrupt interval or duty cycle is optimized by the maximum power point controller based on the Incremental Conductance (IC) and the Perturb & Observe (P&O) algorithms. By using these techniques, the maximum power point tracker (MPPT) system automatically changes the duty factor to generate the required voltage needed to gain maximum power. 2.2 Three phase voltage regulator VSC The three-phase voltage VSC consists of a measuring unit, a current and voltage regulator, an AC voltage generating unit, and three level PWM (pulse width modulation) generator. The VSC three-phase voltage controller converts the voltage from 500 V DC to 260 V AC, while retaining the unit power factor. VSC has two regulating loops. In the outside regulating loop DC voltage is controlled at +/- 250 V, while in the inside regulating loop active and reactive components of network currents Id and Iq are regulated. Reference value Id is the output value from an external voltage controller. The output voltages of the current controller Vd and Vq are converted into three modulated Uabc_ref signals used by the PWM generator. The scheme of VSC regulator is realized in Matlab/ Simulink (Figure 1). Figure 1 Scheme of the VSC regulator The Three-Level Bridge block implements a three-level power converter that consists of one, two, or three arms of power switching devices (Figure 2). Each arm consists of four switching devices along with their antiparallel diodes and two neutral clamping diodes (NPC). ERK'2018, Portorož, 209-212 229 dl/dV = - I/V (2) D = D + AD (5) If the new measured power is greater than the old value (Pnew > PoU) then the direction of maximum power point location is correct, and the duty factor can be furtherly increased. If this condition is not fulfilled then duty factor must be reduced (6), after what the amount of power is checked again. D = D-AD (6) Figure 2 Scheme of the Three Level Bridge 3 Maximum power point tracking by using incremental conductance method The Incremental Conductance (IC) method works under the assumption that the relationship between internal conductivity is equal to negative value of the output conductance [3],[4]. That means: MMPT scheme using P&O algorithm is modeled and realized in Matlab/Simulink (Figure 4). where are: dl, dV = fundamental components of I and V ripples measured with a sliding time window T_MPPT. I , V = mean values of V and I measured with a sliding time window T_MPPT. The MPPT regulates the PWM control signal of the DC-DC boost converter until the condition (3) is satisfied: (dl/ dV )+(l/V ) = 0 (3) Scheme of MPPT by using Incremental Conductance algorithm is modeled and realized in Matlab/Simulink (Figure 3). Figure 4 Simulink of MPPT scheme using P&O algorithm 5 System description For the purpose of the simulation a 100-kW SunPower SPR-305E-WHT-D PV array was used. It consists of 5 serially-connected modules. Each of them has 66 parallel strings connected to a 25-kV grid via a DC-DC boost converter and a three-phase three-level Voltage Source Converter (VSC) (Figure 5). Maximum Power Point Tracker (MPPT) is implemented in the boost converter by means of a Simulink model using the IC and P&O algorithms. The capacitor bank filtering harmonics produced by VSC. I-V and P-V characteristics of PV array are preseneted (Figure 6). *CD Figure 3 Simulink scheme of MPPT by using Incremental Conductance algorithm 4 Maximum power point tracking by using P&O algorithm Algorithm Perturb and Observe (P&O) works in such way to determine current power, Poid first [3]. Figure 5 Simulink block scheme of PV array by using two different algorithm for MPPT Pold V 1 (4) After that duty cycle increases. 230 Figure 6 I-V and P-V characteristics of PV array at different radiations 6 Comparison of simulation results the the Two cases are simulated: 1st case: simulation of PV array in case maximum power point is found by using incremental conductance algorithm. 2 nd case: simulation of PV array in case the maximum power point is found by using Perturb and Observe algorithm. In the case of application P&O algorithm, duty cycle changes from 0.38 to 0.58.and cames on PWM DC-DC impulse generator of parallel IGBT1 diode. Start value of duty cycle is 0.5. The incremental value used to increase and decrease AD is 3x10-4. The output voltage of the PV array corresponds to the voltage of 321 (V). (Nser -Voc=5-64.2=321 (V). The three-level bridge operates as a diode rectifier and DC link capacitors are charged above 500 (V). At the input of the PV array radiations in normal circumstances is 1000 (W/m2) and the outdoor temperature is 25 (°C). The effect of the irradiation change on the output power of the PV system is simulated by variable irradiance and temperature (Figure 7). The amount of output power of PV array, output voltage of PV array, duty cycle, active power being injected into the grid, modulation index, alternating voltage Vab behind three-level bridge are observed and compared (Figure 8 to Figure 13). In addition, the FFT analysis of active power, and AC voltage Vab behind the three-level bridge was performed. Comparison of total harmonic distortion is observed on two selected signals (Figure 14 , Figure 15). Time (sec) 8 Comparison of output power of PV array using Incremental conductance (red line) and P&O (blue line) algorthms MPPT Figure 9 Comparison of output voltages of PV array using Incremental conductance (red line) and P&O (blue line) algorthms MPPT Figure 10 Comparison of duty cycles using Incremental conductance (red line) and P&O (blue line) algorthms MPPT Figure 7 Changes of irradiation and outdoor temperature Figure 11 Comparison of the injected network active power using Incremental conductance (red line) and P&O (blue line) algorthms MPPT 231 Figure 12 Comparison of indexes modulation using Incremental conductance (red line) and P&O (blue line) algorthms MPPT Figure 13 Comparison of AC line voltages using Incremental conductance (red line) and P&O (blue line) algorthms MPPT Figure 14 Comparison THD of active output power of PV array (up:Incremental Conductance algorithm, down: O&P algorithm) Figure 15 Comparison of THD line voltage Vab_VSC (up: Incremental Conductance algorithm, down: O&P algorithm) 7 Conclusion This paper analyzes the detailed model photovoltaic system of 100 kW connected to the distribution network. For the purpose of fast and precise finding the maximum power point, two different algorithms were used. The output values of the PV arrays were compared. There is a great influence of impulse generator on the output signals as well as VSC regulator control. The application of two different algorithms contributes to the different modes of generating the signal where the difference always exists in the starting point of the selected signals. The differences in the total output power, DC link voltage, the network power are negligible. The contribution to generating higher harmonics is slightly smaller when using the incremental conductance algorithm. Literatura [1] M.Lokanadham, K.Vijaya Bhaskarr: Incremental Conductance Based Maximum Power Point Tracking (MPPT) for Photovoltaic System, (IJERA) ISSN: 22489622 www.ijera.com Vol. 2, Issue 2,Mar-Apr 2012, pp.1420-1424. [2] S. Sumathi, L. Ashok Kumar, P. Surekha: Solar PV and Wind Energy Conversion Systems An Introduction to Theory, Modeling with Matlab/Simulink, and the Role of Soft Computing Techniques, Springer International Publishing Switzerland 2015. [3] R.Ramachandran,P.S.Manoharan:Comparative Analysis of Various MPPT Techniques for Photovoltaic System with SEPIC Converter, EICC, IJTRD, 2016. [4] M. Muthuramalingam1, P. S. Manoharan: Energy comparative analysis of MPPT techniques for PV system using interleaved soft-switching boost converter, World Journal of Modelling and Simulation Vol. 11 (2015) No. 2, pp.83-93, 2014. 232 Prenos udarne napetosti iz visokonapetostnega na terciarno navitje močnostnega transformatorja v i i 2 Mislav Trbušic , Anton Hamler , Konrad Lenasi (upok.) 1 Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, koroška cesta 46, 2000 Maribor, Slovenija 2Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana, Slovenija E-pošta: 1mislav.trbusic@um.si 1anton.hamler@,um.si 2konrad.lenasi@fe.uni-lj.si Surge voltage transfer from a high-voltage winding to a tertiary winding in a power transformer Abstract. In the paper the influence of transferred surge wave from a high voltage winding to a tertiary winding of a power transformer is investigated numerically. When testing the high-voltage winding of a power transformer on the lighting impulse, some voltage is transferred to the non-tested windings. While the transformer windings are coupled mutually capacitively and magnetically, the oscillations in the transferred voltage to non-tested windings are to be expected. The aim of the article is to determine the spatial distribution of the oscillations' amplitudes along a tertiary winding with short-circuited and earthed ends. For this purpose, a transient model of transformer windings is represented by an equivalent electric circuit, for which the system of ordinary differential equations of nodal voltages and inductive currents is set and solved using Octave software. The numerical results obtained by calculations show approximately a sinusoidal distribution of the amplitudes in self-oscillations along the tertiary winding, which is in good agreement with the analytical predictions based on the oscillation theory. 1 Uvod Pri preskušanju visokonapetostnega navitja (VN) močnostnega transformatorja z udarnim napetostnim valom, ki ustreza obliki aperiodičnega napetostnega sunka, ki se pojavi v elektroenergetskem omrežju pri atmosferski razelektritvi, se zaradi kapacitivne in induktivne povezave med navitji del udarnega vala prenese na ostala navitja [1][2][3][4]. Predvsem je kritičen prenos udarnega vala na regulacijsko navitje, kjer se lahko pojavijo napetostna nihanja v navitju katerih amplitude dosežejo tudi do 50% maksimalne vrednosti udarnega vala, kar lahko v določenih primerih povzroči poškodbo izolacije navitja in posledično okvaro transformatorja [1][2]. Manj kritično, vendar prav tako pomembno s stališča koordinacije izolacije v transformatorju je prenos udarne napetosti iz visokonapetostnega na nizkonapetostno (NN) oziroma terciarno navitje (TN), ki se praviloma nahaja tik ob stebru [2]. Problematika prenosa udarne napetosti na NN navitje transformatorja pride do izraza pri posebnih konstrukcijskih izvedbah NN navitja, kjer lahko nastale prenapetosti povzročijo škodo na izolaciji navitja. Cilj članka je raziskati napetostne razmere znotraj TN navitja med preskušanjem VN navitja z udarnim napetostnim valom in izračunati krajevno razporeditev amplitud vzdolž TN navitja. Z ozirom, da TN navitja praviloma ne preizkušamo z udarno napetostjo, so tovrstni izračuni lahko v pomoč pri načrtovanju izolacije navitja. 2 Matematični model 2.1 Matematični model udarne preizkusne napetosti (udarnega vala) Kot je bilo omenjeno v uvodu, je namen preizkušanja transformatorskih navitij z udarnim valom preverjanje ustreznosti izolacije navitij, ki so med obratovanjem lahko izpostavljena podobnim napetostnim sunkom zaradi atmosferskih razelektritev. Karakteristično za obliko udarnega vala je strmo čelo, kjer doseže udarni val maksimalno vrednost v rangu mikrosekunde in položen hrbet, kjer vrednost udarnega vala pade na polovico amplitudne vrednosti. Brez superponiranih oscilacij nastopi takšno stanje nekaj deset mikrosekund po sprožitvi vala [1]. S standardom IEC je oblika udarnega vala natančno predpisana z vršno vrednostjo udarnega vala U0, ki je enaka nazivni vrednosti preizkusne napetosti, z amplitudnim faktorjem n, časom čela Ts in časom, ko pade vrednost udarne napetosti na polovico maksimalne vrednosti (časom hrbta) Tr, pri tem Ts določa strmino čela, Tr pa položnost hrbta (Slika 1)[5][6]. -----d u0(t)=vU0(e~Sit T Ta ■*- T -^-» i Slika 1: Oblika in definicija časovnih konstant pri standardnem udarnem valu po IEC 60076-4. ERK'2018, Portorož, 209-212 233 U(t) = J]U0 (, e sit - e~* (1) Vrednosti parametrov standardnega IEC udarnega vala 1,2/50 |rs s tolerancami: j ... amplitudni koeficient 1,036 Un nazivna vrednost preizkusne V modelu smo izračun lastnih in medsebojnih kapacitivnosti izvedli na osnovi analitičnih izrazov, ki jih bralec lahko najde v referencah [1][2][9][10]. Računsko bolj zahtevna je določitev lastnih in medsebojnih induktivnosti med posameznimi sekcijami, za kar je bil razvit lasten računalniški program, ki računa lastne in medsebojne induktivnosti med cilindričnimi tuljavami pravokotnega prereza v poljubnem medsebojnem položaju. napetosti S •• časovna konstanta hrbta 15000 s-1 s2 ... časovna konstanta čela 2470000 s- Ts ... čas čela T = 1,2 ¿s ± 30 % Tr ... čas, ko pade napetost na polovico maksimalne vrednosti T = 50 us ± 20 % 2.2 Model transformatorja za tranzientne izračune Model transformatorja za namen preučevanja prenosa udarne napetosti med navitji smo naredili za primer transformatorske enote 31,5 MVA - 110/21/(10,5) kV YNyn6+(d5), podobne kot jo uporabljajo elektrodistribucijska podjetja v Sloveniji. Slika 2 kaže razporeditev navitij v oknu transformatorja, pri tem je regulacija napetosti na visokonapetostni strani v obsegu +/- 16 % (8x+/-2%) izvedena z grobo (GR) in fino (FR) stopnjo regulacije. Oznaka napetosti u01 na sliki pomeni napetost lastnih nihanj TN navitja do zemlje in je krajevno-časovna funkcija u01 = u01(x,t) [1]. Slika 3: Modelno vezje ene faze tansformatorja za preučevanje hitrih tranzientnih pojavov v transformatorskih navitjih. Na podlagi nadomestnega vezja transformatorja kot ga kaže Slika 3, lahko na podlagi 1. in 2. Kirchhoffovega zakona zapišemo sistem diferencialnih enačb, za vozliščne napetosti u in induktivne toke i (2) [7][9][10]. du dt di _ dt _ 0 -LlDT C-D 0 (-1-1 T? d^p C E dt L-1 F u (2) Slika 2: Razporeditev navitij v transformatorskem oknu 31,5 MVA-110/20 kV transformatorja v YNyn6+d5 vezavi. Navitja v transformatorju se lahko za potrebe hitrih tranzientnih izračunov obravnavaj o kot kapacitivno -induktivno vezje [2][7][8][9]. Za natančno in praktično uporabo takšnega modela je potrebno razdeliti navitja na sekcije, pri tem je treba pravilno upoštevati kapacitivne in induktivne povezave med sekcijami (Slika 3) [7]. Na sliki so zaradi preglednosti oznake ki se nanašajo na medsebojne induktivnosti podane le za prvo (TN) navitje, podobno velja za ostala navitja. V sistemu (2) so opuščene ohmske upornosti navitij, kjer veliki delež predstavljajo inducirani vrtinčni toki, ki zaradi frekvenčne odvisnosti vnašajo v sistem (2) nelinearnost, s tem pa tudi otežijo in podaljšajo izračun [8]. Posledično bodo izračunana nihanja v navitjih nekoliko bolj izražena, saj upornost vnaša dušenje, kar s praktičnega vidika predstavlja nek dodaten varnostni faktor, še posebej, če upoštevamo, da računske vrednosti kapacitivnosti in induktivnosti lahko odstopajo od dejanskih tudi do 30% [8][9][10]. Pri tem je pomen oznak v (2): • C ... kapacitivna matrika • L ... induktivna matrika • D ... incidenčna matrika i 234 • E ... vektor kapacitivnih povezav med udarnim vozliščem in ostalimi vozlišči • F ... vektor, ki določa katero vozlišče je udarno (na katero vozlišče deluje udarni val • u0 ... udarni napetostni val • u ... vektor vozliščnih napetosti • i ... vektor induktivnih tokov Rešitev sistema diferencialnih enačb (2) ob upoštevanju začetnih in robnih pogojev da časovni potek induktivnih tokov i(t) in vozliščnih napetosti u(t), kjer so v luči napetostnih dogajanj med navitji zanimive predvsem slednje. S teoretičnega stališča, predstavlja prenos udarne napetosti med navitji transformatorja problem robnih vrednosti, kjer pri prostorski porazdelitvi prenesene napetosti igra ključno vlogo način ozemljitve priključnih sponk navitij [1][2]. Pri preskušanju VN navitja so priključne sponke ostalih navitij, ki niso galvansko povezana s preskušanim navitje kratko sklenjene in ozemljene, prav tako je ozemljeno tudi ničlišče VN navitja [5][6]. Z upoštevanjem ozemljenih koncev navitij po Slika 4 je TN navitju moči predpisati Dirichletov tip robnega pogoja, kjer je vrednost potenciala na robu (priključnih sponkah) znana. Največkrat lahko privzamemo, da je referenčna vrednost potenciala ozemljenih delov transformatorja 0 V. Na podlagi teorije nihanj je zato pričakovati, da bodo maksimalne vrednosti napetostnih nihanj vzdolž TN navitja razporejene približno po sinusnem zakonu (3), kjer U01 pomeni maksimalno vrednost napetosti TN navitja do zemlje, bg pa geometrijsko višino TN navitja (Slika 4) [1][2][11]. Um01( x) = U01Sin(-f ) (3) 3 Rezultati Izračuni prenosa udarne napetosti iz VN na TN navitje so bili opravljeni na tranzientnem enofaznem modelu transformatorske enote 31,5 MVA-110/21/(10,5) kV YNyn6+(d5) v programskem paketu Octave [12]. Pri simulacijah smo upoštevali vezavo po Slika 2, ki ustreza preizkušanju VN navitja brez vključenih regulacijskih ovojev, kjer lahko pričakujemo največje amplitude napetostnih nihanj v TN navitju, saj je razmerje med številom ovojev TN in VN navitja v tem primeru največje [1][2]. V izračunih smo upoštevali standardno obliko udarnega vala (1,2/50) (1) z amplitudo U0=550 kV, ki se uporablja za preizkušanje 110 kV izolacijskega nivoja [5][6]. Slika 5 prikazuje časovni potek prenesene udarne napetosti u01 vzdolž TN navitja iz katere je opazno, da se amplitude lastnih nihanj povečujejo s približevanjem sredini navitja. Prav tako je moč opaziti, da so amplitude višjih harmonskih komponente lastnih napetostnih nihanj bolj izražene na začetku in koncu navitja ter se njihova vsebnost proti sredini navitja zmanjšuje. V časovnih potekih napetosti na Slika 5 so nihaja prikazano v časovnem intervalu od 0-50 |rs. Slika 4: Prikaz krajevne razporeditve amplitudnih vrednosti lastnih nihanj kratko-sklenjenega in ozemljenega enoplastnega plastnega navitja. Praviloma je TN navitje načrtovano za tretinjsko moč transformatorja za kar velikokrat zadostuje že izvedba navitja s profilno žico v enoplastni izvedbi (Slika 4). Slika 5: Izračuni časovnih potekov lastnih napetostnih nihanj u01 vzdolž TN navitja, ki se pojavijo med preskušanjem VN navitja z udarno napetostjo. Krajevna razporeditev maksimalnih vrednosti dozemnih napetosti vzdolž TN navitja um01 je prikazana na Slika 6, kjer je razvidno, da je krajevna razporeditev amplitud lastnih nihanj vzdolž navitja približno sinusne oblike z amplitudo U01 « 80 kV in predstavlja stojni val, ki zaniha okoli referenčne vrednosti napetosti. Razmerje med amplitudo prenesene in udarne napetosti je ^ ~0,15, kar je v rangu razmerja ovojev TN in VN navitja. Potrebno je poudariti da na fazo lastnih nihanj vpliva smer navijanja navitij, kjer so lastna nihanja v VN in TN navitju sofazna, kadar se navijalni smeri razlikujeta in protifazna, ko sta navitji naviti v isto smer. Upoštevanje smeri navijanja navitji pri prenosu udarnega vala je še posebej pomembno pri posebnih konstrukcijskih izvedbah navitij, kjer se dve navitji med seboj prepletata. 235 Napetost [V] Slika 6: Računske vrednosti krajevne razporeditve amplitud lastnih napetostnih nihanj vzdolž TN navitja. 4 Sklep Na podlagi računskih rezultatov razporeditve amplitud lastnih napetostnih nihanj vzdolž kratko-sklenjenega in ozemljenega TN navitja lahko sklepamo, da se pri prenosu udarne napetosti iz VN na TN navitje ta razporeditev spreminja po sinusni funkciji vzdolž navitja, pri tem bodo lastna napetostna nihanja v navitju največja približno na polovici navitja, medtem, ko bo medovojna izolacija najbolj obremenjena na začetku in koncu navitja. Približno lahko privzamemo, da je razmerje med maksimalno vrednostjo prenesene napetosti |U01| in amplitudo udarne napetosti |U0| enako razmerju števila ovojev TN in VN navitja, pri tem je treba upoštevati najbolj neugoden primer, ko je položaj regulacijskega stikala na skrajno negativnem odcepu regulacije. Napetostni gradient, ki ima največjo vrednost na začetku in koncu navitja, ne predstavlja nevarnosti za medovojno izolacijo enoplastnega TN navitja, ker je le ta zaradi tehnoloških razlogov pri izdelavi navitja praviloma predimenzionirana za napetostni nivo terciarja. [5] IEC 60076-1, Power Transformers, Part 1: General, IEC Standard, 2000. [6] Power Transformers. Part 4: Guide to the lighting Impulse and Switching Impulse Testing - Power Transformers and Reactors, 1st edition, IEC 60076-4, 2002 [7] Lenasi K., Analiza udarnih napetosti v navitjih transformatorja z matematičnim modelom, magistrsko delo, Ljubljana, 1974. [8] K. Lenasi, Udarne prenapetosti v navitjih močnostnih transformatorjev z vpeljavo dušenja induktivnih tokov, doktorska disertacija, Ljubljana 1975. [9] B. Cučič: Raspodjela udarnog napona po preloženom namotu transformatora, Magistrsko delo, Fakultet elektrotehnike i računarstva, Zagreb, 2001. [10] Trbušič M., Čepin M., "Razporeditev udarne napetosti vzdolž zvrnjenega navitja močnostnega transformatorja", Elektrotehniški vestnik, 78, (2011), no. 3, 106-111 [11] Inman D.J., Engineering vibration, Pearson Prentice Hall, Upper Saddler River, New Jersey, 2009. [12] Octave software, www.gnu.org/software/octave/ (zadnjič obiskano 5.7.2018) Literatura [1] B. Heller, A. Veverka, Surge Phenomena in Electrical Machines, Publishing House of the Czechoslovak Academy of Sciences, Prague, 1968. [2] Karsai K., Kerényi D., Kiss L., Large Power Transformers, Budapest: Académia Kiadó, 1987 [3] Popov M., Van der Sluis L., Smeets R. P. P., "Evaluation of surge-transferred overvoltages in distribution transformers", Elec. Pow. Syst. Res., 78, (2008), no. 3, 441-449 [4] Borghetti A., Morched A., Napolitano F., Nucci C. A., Paolone M., "Lightning-induced overvoltages transferred through distribution power transformers", IEEE Trans. on Pow. Deliv., 24, 2009, 1, 360-372 236 Improve forecasting of daily load Boris Bizjak Faculty of Electrical Engineering and Computer Science University of Maribor Koroška cesta 46, 2000 Maribor, Slovenija E-pošta: boris.bizjak@um.si Improve forecasting of the daily load Abstract. In this paper, we discuss the daily hourly load forecasting of load for an industrial complex using ARIMA methodology with one predictor. For predicting the daily load, we need to make a forecast of 24 steps in the case of the 1-hour prediction interval. The story of predicting in the article is due to trading in electricity. The basis for the forecasting is the time series of energy consumption data, which is a time series from 15 min values. The presented load forecasting model needs at the learning phase two input historic time series: Energy consumption and real production data. We get production data (predictor) from the Production Planning Department. We wanted to use a simple and robust predictor, which not only has a theoretical value for forecasting, but also a practical utility to be used in practice. So, the predictor has a value of 1 when the furnace is running and 0 when the furnace is not in operation. For predictor type 1, the time resolution at the predictor is 1 hour, and for predictor type 2 the time resolution at the predictor is 15 min. The predictor also follows production with different dynamics. Type 1 has a constant value of 1 for all the duration interval of the arc furnace working, and predictor type 2 follows the arc furnace cycle more dynamically with fluctuation between 1 and 0. To find the optimal predictor we used a similar spectral density method of two time series. We called it predictor type 2. In the case of the 1-hour prediction step with predictor type 2, by linear regression, the independent variable of production explains 84% of the variance in the load, MAPE is 23% and RMSE 3389. Additionally, energy consumption at the industrial plant had a seasonal day, hours feature. Therefore, we improved forecasting performance - statistical indicators, using ARIMA methodology, by approximately 15%. Finally, the ARIMA model, with one predictor type 2, explains 95% (R2 0.95) of the variance in the load, with MAPE 9% and RMSE 1982. 1 Introduction Our example of predicting the daily power flow for the industrial complex has a specific large electric arc furnace (UHP). In addition, other companies within the industrial complex operate according to the seasonal model. Therefore, three prediction methods should be used in order to make good predictions: ARIMA methodology, seasonal model and predictor of the operation of the arc furnace. In the article, we first show how to determine a predictor that illustrates the operation of an arc furnace. The final result is a forecast of the daily power flow using the selected predictor, ARIMA and the seasonal model. 2 Industrial complex and steel production The beginnings of the ironworks in Koroška go back to the year 1620. Today, there are several companies in the area of the former Ravne Ironworks, employing approximately 3,000 people. The largest company on the site is Metal Ravne with approximately 900 employees. Metal Ravne is the largest, and the largest consumer of electricity. The company consists of a steelwork, a rolling mill and electro-smelting under slag. In the steel plant, the basic unit is a 45-tonne electric UHP oven and a vacuum refill kiln for castings of classical ingots. In the Electro-under-slip section under the slag, 36-tonne and 3-tonne ESR devices are in use. At present, it operates on the scale of an industrial complex of 20 companies. The melting process [1] is always carried out in an arc furnace with reduced voltage, since the conditions for burning the arc are poor in a cold cartridge; the ignition of the arc is carried out in such a way that the graphite electrode is lowered to the cartridge until it touches it, and until contact is reached with the other electrodes with the cartridge. At the discharge of the electrode, then an electric arc is triggered - like the firing of the arc during manual arc welding. Because of this, the current size changes from the short-circuit current through the rated power to the zero current at the end of the arc. We say that the arc furnace is operating restlessly at the beginning of melting. Due to the formation of the first melt at the bottom of the furnace, the conditions for burning the arc are improved due to good ionization conditions, so we increase the voltage of the arc gradually and the power of melting to full power: This is always the largest when melting the cartridge when there is already a melt on the bottom of the furnace. We say that we are melting with a hidden arc, which radiates at full power in the crater, which the boulder has drilled into the plunged insert of old iron. In the further heating of the melt, or in maintaining its temperature, the power of the furnace is ERK'2018, Portorož, 209-212 237 significantly lower. The characteristics of the electric arc must be different in this situation, since the arc can now freeze to the walls and the furnace vane. 3 Forecasting daily power consumption per hour interval Due to the way of trading, the forecast of the daily flow of electricity flows requires a forecast for at least 24 hours, even better in 48 steps (48 hours). We want to predict power flow on the common energy supply of the industrial complex Ravne. The structure of total energy consumption for the Ravne industrial complex is the sum of 20 different companies. The biggest, 75% of the energy consumers, is the Metal Ravne Steel Mill. The dominant energy consumer in the steel industry is the UHP electric arc furnace, the second largest consumer is the oven for overheating LF + VD, and then the other technological line of the steel mill, which follows the melting process of old iron. The remaining 25% of consumption, on a common energy connection, is represented by the other companies, with a typical spending profile of 7 days a week, of which 5 are working days. Change of 25% of consumption over a day is relatively low, and therefore it can be predicted very well. The steel plant does not operate statistically on a random basis, but over the day according to the orders and the price of electricity. Since its consumption is 75% of the entire energy of the industrial complex, it has the greatest influence on the consumption profile on the total energy supply of the industrial complex. The issue is the production time; real production will be moved to the late afternoon, next to the evening (cheap electricity), over midnight, until 9:00 AM the next day. Occasionally, when there is a large volume of orders, the steel plant operates for 24 hours continuously, regardless of the daily price of the electric power unit over a working day. Due to cheap electricity, Saturdays and Sundays also operate for 24 hours. Once a year, the steel works carry out a repair that lasts about a month. Of course, the electric arc furnace does not work then. Power flow in a UHP arc furnace during steel production is more or less constant. The difference between individual loads at the arc furnace is only in what happens after we have finished melting in the arc furnace. Sometimes overheating occurs and sometimes it does not, which means a short leap in the consumption of electricity to the maximum. Spectral Oensrty of je_ni_sarze_novi by Frequency The spectral density of the for 15 minutes' power flow for one year indicates additional periodicity of the signal at frequency 0.12 (Figure 1). Given the spectral density fluctuation for 1 -hour average power flow at one year, we have had monotonic falls from low frequencies to the highest frequencies. In other words: 1-hour time series have less frequency content. The prediction was started with predictor type 1. The predictor has a value of "1" if the hourly average power consumption is > 4500 and "0" if the hourly average power consumption is < 4500. The predictor's time is coincident with the progress of the blue step line in Figure 2. We reached: The ARIMA model, with one predictor, explains 85% (R2 0.85) of the variance in the load, with MAPE 13%. The results of predicting with the type 1 predictor were not satisfied. Therefore, we have introduced a new type 2 predictor with only two amplitude values: 0 and 1. Predictor type 2 is more time-divergent than type 1, so it is better to follow the operation of the electric arc furnace and other technological lines of the steel plant. The predictor has a value of "1" if the 15 minutes' power consumption is > 6500 and "0" if the 15 minutes' power is < 6500. □ay artd Hour Figure 2: Predictor type 1 and predictor type 2. To find the optimal predictor we used a similar spectral density method of two time series. Predictor type 2 is an optimal predictor. This is confirmed by the similarity of the density of the frequency spectrum of the time series of electricity consumption and the frequency of the type predictor type 2 for the same time period (Figure 1,3). Also, there were excellent results of predictions using the type 2 predictor. Frequency Figure 1: Spectral density for 15 minutes' power flow. Frequency Figure 3: Spectral density for predictor type 2. 2 238 In the time series of electricity consumption, the outliers are also noticed; these are values when the consumption of electricity escapes from the standard Gaussian distribution and is close to zero. Such values are expressed on May 1 and December 31. These two cases were not addressed specifically in the forecast itself, but, in any case, they have a negative impact on forecasting performance statistics. Various statistics are used to evaluate the performance of forecast models. We decided to use in the article only MAE, MAPE, RMSE and R2 to comparison between individual solutions. The Mean Absolute Percentage Error (MAPE), is a measure of prediction accuracy of a forecasting method in statistics. It usually expresses accuracy as a percentage, and is defined by the formula: MAPE = n Ai-Fi Ai RMSE = YH=1(Ai - Fi) N R squared in statistics, the coefficient of determination, denoted R2, is the proportion of the variance in the predictable variable Fi that is from the actual value Ai: IL SStot =YJ(M-ÂÏ)2 i=1 n n SSres = ^(Ai-K)2 =^ef R i=i 2 „ JJres SSt, For the described type of industry complex we started forecasting continuously with linear regression [2]. This is a robust method that has a weakness in the limited level of confidence in the forecast. We calculate the 1-hour step predictor type 2 from the 15-minute time series with aggregate functions. The predictor's time is coincident with the progress of the grey step line in Figure 2. In the case of the 1-hour prediction step with linear regression, the independent variable of production data at the arc furnace now explains 84% of the variance in the load, which is highly significant, and the F-test says we can trust fa and £i> 99.9 % , MAPE 23% and R square 0.84. Table 1 : Daily load forecasting at linear regression. R square MAE MAPE RMSE 0,84 2700,62 22.84 % 3388,97 Number of predictions 8543 where Ai is the actual value and Fi is the forecast value. Problems can occur when calculating the MAPE value with a series of small denominators. A singularity problem of the form 'one divided by zero' and/or the creation of very large changes in the Absolute Percentage Error can occur, caused by a small deviation in error. The Root-Mean-Square Error (RMSE) is a frequently used measure of the differences between values predicted by a model and the values observed. The RMSE represents the sample Standard Deviation of the differences between predicted values and observed values. These individual differences are called residuals when the calculations are performed over the data sample that was used for estimation and are called prediction errors when computed out-of-sample. RMSE is a measure of accuracy, to compare forecasting errors of different models for data and not between datasets, as it is scale-dependent. RMSE is sensitive to outliers. Figure 4: Daily load forecasting at linear regression. Figure 4 show a typical chart of a prediction with linear regression. A forecast with linear regression could be improved by changing the predictor's timing or amplitude, which means that the on / off principle would be adapted more often to actual production or that the amplitude would follow a production value with not only 0 or 1, but, for example, "0.9", "1" and "1.1". We achieved this by proceeding with the forecast in 15-minute steps, and then we aggregate the 15 min prediction to a 1 hour prediction step. We do this because we believe that such a predictor can be expected from the Production Planning Department. Table 2: Forecasting daily power consumption per hour at ARIMA methodology. Hour + R square MAE MAPE RMSE Number of predictions 1 0,95 1386,93 6.81 % 1965,98 504 2 0,94 1455,65 7.33 % 2060,92 504 3 0,94 1534,3 7.8 % 2106,36 504 4 0,94 1616,43 8.26 % 2149,73 504 5 0,93 1675,69 8.78 % 2224,52 504 6 0,93 1711,12 9.08 % 2238,19 504 7 0,93 1748,47 9.28 % 2268,13 504 1 2 n 2 239 8 0,93 1756,52 9.51 % 2280,33 504 9 0,93 1759,68 9.47 % 2280,7 504 10 0,93 1789,77 9.76 % 2317,68 504 11 0,93 1828,01 9.83 % 2360,4 504 12 0,93 1837,03 9.91 % 2364,44 504 13 0,93 1824,9 9.89 % 2330,4 504 14 0,92 1855,75 10.02 % 2387,83 504 15 0,93 1816,1 9.87 % 2330,17 504 16 0,93 1845,7 10.03 % 2352,68 504 17 0,93 1795,34 9.73 % 2276,53 504 18 0,93 1794,97 9.77 % 2286,87 504 19 0,93 1813,72 9.91 % 2295,4 504 20 0,93 1814,17 9.77 % 2322,71 504 21 0,93 1758,78 9.7 % 2262,13 504 22 0,93 1781,22 9.81 % 2309,08 504 23 0,93 1780,48 9.86 % 2296,16 504 24 0,93 1786,35 9.99 % 2298,05 504 From linear regression results will be improved with ARIMA metrology [3] and one predictor. Energy consumption at the industrial plant had a seasonal day, hour (7/24) feature and one dominant predictor. The forecasting results in Table 2 show much better: For "24 hour - 24 steps" forecasting the MAPE statistic was 9% and R2 0.95. Linear regression has an RMSE constant value of 3388 for all predictions. With ARIMA methodology, for the same historical time series, RMSE ranges between 1386 and 1859, which is a significant improvement. So, the model ARIMA plus predictor is a better prediction model, because the lower RMSE value means a better forecast model. Looking in Table 2 at the 24-hour forecasts, we notice that better forecasts are for the values near 1+ and 24+ hours, which shows the 24-hour periodicity of our time series. Figure 5: Forecasting daily power consumption per hour with ARIMA methodology, + 1 hour. Figure 6: Forecasting daily power consumption per hour with ARIMA methodology, + 48 hour. Figure 5 and Figure 6 shows that we have improved the forecast for low power consumption dramatically. There is also an improvement in high consumption, but it's not as good as we would like. 3 Conclusion The test forecasting was carried out over 3 weeks from December 1 to December 21. We predict 48 times for each hour, which means first 48 hours ahead ... and the last announcement is 1 hour ahead. The results are shown in Figure 5,6 (+1 hour, +48 hours) and in Table 2 for each hour plus separately. The advantage of the presented forecast system is its small forecast error. Finally, forecasts for the Ravne industrial complex are implemented with ARIMA methodology, seasonal models and extended with one predictor. The solution is based on modified IBM SPSS and Microsoft software products, and the theory from [2] and special [3]. Models of forecasts are learning dynamically. The prediction models are, thus, optimized constantly according to the current time series. To learn the model, we use the time series of the common energy meter of the Ravne industrial complex and the optional energy meter before the steelmaker Metal Ravne. The prediction database is a SQL server. All images and Tables are part of an existing WEB site application. References [1] Janez Bratina, Elektrooblocna pec, Ravne na Koroskem, 1994. [2] Douglas C. Montgomery, George C. Runger, Applied statistic and probability for engineers, Wiley, 2003. [3] George E. P. Box Gwilym M. Jenkins Gregory C. Reinsel. Time series analysis forecasting and control, Wiley, 2014. 2 240 Generic Test Network Model for Scalability and Replicability Analysis on the DeCAS Project Leopold Herman, Mitja Antončič, Boštjan Blažič Faculty of Electrical Engineerign, University of Ljubljana E-pošta: leopold.herman@fe. uni-lj.si Abstract. The main aim of this paper is to present test network model to be used within European project DeCAS by individual pilot sites to demonstrate replicability and scalability of proposed solutions and results. The main objective of the DeCAS project is to research and analyse the coordination of ancillary services such as, aggregated demand response, individual voltage control and reactive power management concepts over traditional boundaries from high voltage (HV), medium voltage (MV) to low voltage (LV). 1 Simulation Model Description The simulation model is one of the results of an European project DeCAS (Demonstration of Coordinated Ancillary Services covering different Voltage Levels and the Integration in Future Markets) [1, 2]. The simulated test network covers all elements between the transmission (220 kV) level, distribution (110 kV and 20 kV) level and the LV connection points. A 110 kV looped grid is supplied from two sides, with two three-winding 220/110 kV transformers. At the MV level, two feeders (rural and urban) were modelled in details, representing the generic model of two typical feeders. The consumption of other MV feeders was determined by appropriate scaled equivalent loads. At the LV level, several LV (radial) feeders were modelled in details to represents the situation in rural and urban LV networks. The consumption of other LV networks that were not modelled in details was determined by scaled equivalent LV loads. 1.1 HV Network Modelled HV network is supplied with a slack bus. In order to observe the variables in the HV net-work, one 110 kV loop has been modelled. Underlying MV networks are supplied through this HV loop. Topology of the proposed HV network is presented in Figure 1. 1.2 MV Network To illustrate a typical situation in the MV network, the transformer station was modelled with two generic radial feeders: - Rural (OH) feeder and - Urban (cable) feeder. The following line parameters have been considered: Ir = 290 A In = 309 A r = 0,413 Q/km r = 0,210 Q/km x = 0,362 Q/km x = 0,122 Q/km b = 79,796 S/km 220/110 kV Transformer Rural line Urban line Type: Al/Fe 70/12 Type: NA2XS(F)2Y 1x150RM Ur = 20 kV Un = 12/20 kV Figure 1: Modelled HV network single-line diagram. U being the nominal voltage, Ir the nominal current, r series resistance per km, x series reactance per km and b parallel susceptance. The length of the rural feeder is 8 km, which represents a typical length of a rural feeder, where larger (400 kVA) transformers (5 in total) are uniformly distributed along the beginning of the feeder, followed by 13 transformers of 250 kVA and 4 transformer with a nominal power of 160 kVA. Transformers towards the end of the feeder are supplying remote small settlements, with low consumption. The length of the urban feeder is 2 km, with 400 kVA transformers (10 in total) uniformly distributed along the feeder. Rural feeder mainly supplies household consumers, while a portion of industrial or business consumers is attached to the urban feeder (approximately 30% of total consumption). ERK'2018, Portorož, 209-212 241 The MV network modelled in DIgSILENT PowerFactory v.2017 software is shown in Figure 2. Figure 2: Single-line diagram of a MV distribution network with two feeders. At the point, where the transformer stations are reddish, LV networks are modelled in details. 1.3 LV Rural Network Individual LV radial feeders are supplying 70 customers and are connected to the rural MV network at different points along the feeder. The main conductors have a cross-section of 70 mm2, more distant conductors are 35 mm2 and 16 mm2. The total lengths of conductors of all feeders are as follows: • 3.000 m conductors with a cross-section of 70 mm2, • 1.000 m conductors with a cross-section of 35 mm2, • 1.500 m conductors with a cross-section of 16 mm2. In contrast to the MV network, the loading of lines vary considerably over time. The rural network supplies only household consumers. 1.4 LV Urban Network Individual radial feeders of urban LV (cable) network are connected to the MV urban feeder at different points along the feeder. Consumption is more concentrated than in the rural case, and the feeders are shorter and amount to about 400 m. The following data has been used: Type: PP 00-A 4x70 (NAYY) Ur = 0,6/1 kV Ir = 175 A r = 0,444 Q/km x = 0,075 Q/km b = 254,5 S/km The network supplies both, household and business customers. In both cases, with the rural and urban LV networks, the transformers tap positions are set so that the nominal voltage at the LV busbar in the transformer station is always achieved, thus allowing a 10 % voltage drop in the LV network. 2 Generation of Load and DG Profiles For modelling the loads, real measured 15-minute load data of LV customers were used. The measurement data contains 1 year load profiles of 3000 consumers. For each transformer station, the required number of consumers is set in such a way that in winter times, when a peak in demand is reached, the transformer is loaded with approximately 75 %. The aggregated household consumption differs from the business or industrial load especially in a clear eveningpeak (see Figure 3). In the case of other types of loads, the peak demand occurs during working hours. As mentioned, in the urban network, 70 % of the consumption is modelled as household loads and the rest 30 % as a combination of business and industrial loads. In terms of voltage dependence, loads are modelled as constant power type of load and operate with cos^ = 0,95. 0 100 2 00 3 00 4 00 50D 600 7 00 Figure 3: Week diagram of 3000 household loads. Simulations can be performed for different days of the week (or for several days) and for different seasons. Household consumption is higher during the weekends, whereas industrial consumption is generally lower during the weekends. There are also some other differences. The time of the year for which we are preforming the simulations is also important. In winter, consumption is high and production from solar power plants (PV system) is low, and in the summer it is the opposite, consumption is lower, and production from DG is higher. An example of one-week production of a 10 kW The following line parameters have been considered: X00/0-A (NFA2X) Un = 0,6/1 kV In = 223 A r = 0,496 Œ/km x = 0,100 Œ/km 70 X00/0-A (NFA2X) Un = 0,6/1 kV In = 142 A r = 0,972 Œ/km x = 0,100 Œ/km 35 X00/0-A 4x16 (NFA2X) Un = 0,6/1 kV In = 91 A r = 2,139 Œ/km x = 0,100 Œ/km 242 solar power plant is shown in Figure 4, where we can see how production can vary within one week. Similarly to load diagrams, measured data was also used to model the PV sources. Diagrams for the production of solar power plants are based on yearly measured production diagrams with appropriate scaling of power. In the analysis, only PV sources were taken into account, since they represent the majority of DG in distribution networks, taking into account that the rated power of each PV source is 10 kW. Despite the fact that permitted voltage drop in the MV network is 7.5 %, in reality, such high values normally do not occur. In reality, 5% drop in voltage is already a very high value. In the MV transformer station there is also a generic load and generation connected to the MV busbars. The power of the generic load on the rural feeder is about 10,5 MVA, and on the urban feeder 14,5 MVA. The 20 kV network is connected to the 110 kV level via a 31,5 MVA OLTC transformer, with ± 12 taps of 1,33% Un each. The reference voltage on the secondary side of the OLTC transformer is 1,03 p.u. RURAL MV MIN and MAX voltages Figure 4: Example of a one-week production diagram from a solar power plant 3 Simulation Procedure Load flow simulations can be performed on the network model presented in previous chapters. Several loads are connected to the MV network, which represent the consumption of individual transformer stations. In order to analyse the situation on the LV level, at different locations along the MV feeder, several LV feeders (urban and rural) were modelled in details. One- or several-days simulations of all networks (MV and LV) are carried out simultaneously. The process of calculating the LF simulations roughly follows the following steps: 1. A network model is developed in a simulation program. 2. Load consumption and PV production diagrams for one or several days with a resolution of 15 min are generated with Matlab file LoadPVGenerator.m. a. Randomly, but with certain limitations, the consumption of loads is determined and the PV units are placed in the network. 3. The load flow is calculated for all the operation points. 4. The simulation results (voltages, power flow etc.) for every simulation time step are saved into an excel file. Simulations can be made for different days of the week and for different seasons. The results below represent the situation for a winter day, as the most severe season. 4 One-Day Simulation Results 4.1 MV feeders The maximum voltage drop that occurs on the MV rural feeder is about 4 % and maximal power consumption of the feeder about 3 MVA. Both number represent a realistic situation on the MV level. The maximum voltage drop occurring on the MV urban feeder is about 0,8%, with a maximal power flow of 2 MVA. _i_i_i_i_i_i_i_i >>>>>>>>> ooooooooo_____________ cmcmcmcmcmc4c4cmcmooooooooooooo fflfflfflcnfflfflfflffloj^^^^^^^^^^^^^ ffffffffi£££££££££££££ III555555EEEEEEEEEEEEE SaSaSaSaSailiaiailNNNNNNNNNNNNN lalalalalalalalalalajajaja Figure 5: MIN and MAX voltages of individual MV busbars -rural feeder. TR loading I % - Transformer HV/MV1 loading Transformer HV/MV 2 loading 10 20 30 40 50 60 70 SO 90 15 min intervals (1 day) Figure 6: Loading of HV/MV transformers. 4.2 LV rural feeders Below in Fig. 7 are power flow results for transformer station no. 19 on the rural MV feeder. The maximum power flowing through the transformer is about 125 kVA, which means 78 % of the peak load. The highest voltage drop is app. 6,9 % (Fig. 3.9). 243 TS 19 power (MVA) rural 0,14 0,04 0,02 0 0 20 40 60 SO 100 120 Figure 7: MV/LV transformer no. 19 (rural feeder) load flow data. Figure 8: MIN and MAX voltages of individual LV busbars -rural feeder. Figure 3.10: MIN and MAX voltages of individual LV busbars - urban feeder. 5 Conclusions In this paper a generic test network model was presented, which was used within the DeCAS project for scalability and replicability analysis of individual pilot action's outputs. Literature [1] Fingrid, 'Supply of Reactive Power and Maintenance of Reactive Power'. . [2] 'DeCAS project'. [Online]. Available: decas-project.eu. [Accessed: 05-Dec-2017]. 4.3 LV urban feeders Below in Fig. 9 are power flow results for transformer station no. 10 on the urban MV feeder. The maximum power flowing through the transformer is about 226 kVA, which means 57 % of the peak load. The highest voltage drop is app. 1,8 %. TS 10 (MVA) urban 0,25 0,05 0 I- 0 20 40 SO 80 100 120 Figure 9: MV/LV transformer no. 10 (urban feeder) load flow data. 244 Modelling of Equivalent Low-Voltage Nodes Leopold Herman, Mitja Antončič, Boštjan Blažič Faculty of Electrical Engineerign, University of Ljubljana E-pošta: leopold.herman@fe. uni-lj.si Abstract. This paper presents modelling procedure and simulation results of equivalent low-voltage nodes models. Models were used in a DeCASproject, to define the reactive power of the LV grid as a function of the load, generation and voltage and especially to simplify the modelling procedure of large networks. 1 Introduction This paper demonstrates results of the DeCAS project (Demonstration of Coordinated Ancillary Services covering different VoltageLevels and the Integration in Future Markets) [1, 2]. The main objective of the DeCAS project is to research and analyse the coordination of ancillary services such as, aggregated demand response, individual voltage control and reactive power management concepts over traditional boundaries from high voltage (HV), medium voltage (MV) to low voltage (LV) and develop approaches and concepts for a co-ordinated control approach considering the different objective functions of individual voltage levels. It included the integration related monitoring and controls in process control systems as well as to flexibility markets. LV grids are usually not automated yet and there are hardly any measurements available. Thus, the project evaluates promising concepts for LV grid operation tools, processes and how they can interface with MV/HV SCADA DMS [3, 4]. A Passive LV network model development approach that was developed within the DeCAS project is presented in this paper. Whole LV network is to be represented as black box with its inputs and outputs being explained hereafter. For the sake of transparency, we will refer to the "black box LV model" as a "model" through the whole paper. 2 Passive LV Nodes - Black Box Model 2.1 Model description The purpose of the developed model is to define the reactive power of the LV grid as a function of the load, generation and voltage. It can be written as: QlV = f (Poad , Ppv ,U) (1) Conceptual scheme of the developed model is shown in Figure 1. Figure 1: LV network model concept Input for the model is a normalized active power injection profile of particular LV network, together with the time of the year, the type of the network customers (e.g. residential, commercial, urban, rural...) and the PV penetration as a rate of transformer nominal power. Outputs from the developed model are active and reactive power injections that can be used for definition of network loading within simulation program (e.g. Neplan). Active power injection definition is based on appropriately scaled normalized load profile. Reactive power injection is calculated using previously defined active power injection and cos(^model) database. Mentioned database is defined with quantiles in a probabilistic manner. It allows for both deterministic Q calculation using median value of cos(^) and also for stochastic network simulation using provided probability distribution function for iterative Q definition. Additionally also network losses are available outputs from the model. They are calculated using provided normalized Ploss(Ppfm) function. Input load profiles are distinguished by the season (winter, summer, between) and type of day (weekday, Saturday, Sunday). It consequently leads to 9 different load profiles. Consequently, also cos(^model) database has to be developed for the same periods of year as input load profiles are. However, based on our observations, the difference between Saturday and Sunday cos(^) distribution is negligible, therefore we have merged these two days into a single subgroup. 2.2 Data source Two sources of data were used to generate the cos(^model) database. Actually, we have created two different subgroups of the cos(^model) : cos(^load) (without PVs) and cos(^pv) (with PVs) database. Sources of data used for their definition are measurements and simulations respectively. ERK'2018, Portorož, 245-248 245 2.3 Measurements The cos(9load) is based on the field measurements of the real MV/LV transformers supplying the real LV grid. Three different subgroups were defined, based on the type of supplied customers, connected to LV grid: residential, commercial and mixed (mixture of both). Additionaly, also a distinction between three different seasons and two type of days was made, which leads to 18 different hourly cos(^load) databases. 2.4 Simulations In order to generate realistic cos(^py) database and to properly describe the losses for the built model, we did as follows: I. We have modeled Kostendorf LV network in detail from the provided Neplan data. Load allocation factor for each consumer in this network was also extracted from the Neplan data. II. For load active power definition we rely on provided customer and transformer measurements from Kostendorf network. Firstly, we have subtracted measured aggregated PV generation and EV consumption of the whole network from the real power injection measurements of the MV/LV Kostendorf transformer. Obtained values were then used for probabilistic transformer active power injection database generation. LV load reactive power is defined using the previously mentioned cos(^load) database III. From the PV measurements we have generated PV generation database. Since the reactive power injection of PVs is voltage dependent, we were also provided with the Qpv(U) characteristic. Both databases are further segmented in the same manner as previously mentioned cos(^load) database. IV. We implemented Monte Carlo simulations of the modeled network using the databases defined in the previous steps. This step is further explained later in the Simulation details subchapter. V. Based on the calculated values of interest probabilistic cos(^load) database was obtained. From the calculated network losses also network losses are defined stochastically, on a per-hour basis, as a rate of consumption of the network loads. It is later used for the model losses calculation. VI. Now the injection of active and reactive power together with the losses of the network can be defined based on the network power profile and time of the year using cos(^py) and losses databases from previous step. 2.5 Simulation details Following is detailed explanation of the Monte Carlo (MC) simulations from the step IV nad. Altogether 100 MC iterations of a daily load flow simulation in a 5-minute resolution was performed. Presented are the results for the summer, when the PV generation reaches its peak. It consequently results in a voltage rise in the LV network. Aggregated nominal power of all installed PVs in the network equals 100% of the transformer nominal power. MV/LV transformer with rated power of 250 kVA is supplied from the grid which provides constant supply voltage to its MV winding at 1.03 pu. The voltages of the network buses during the simulation are presented in Figure 2. There is a significant voltage rise during the peak PV generation. Figure 2: Network voltages Provided are the results of workday simulation in the summer season. The transformer active power injection, cos(^load) and PV generation database is chosen in accordance with the chosen simulation period. Three different cos(^load) databases were defined separately, taking into consideration the type of supplied consumers, for each season and day type. These groups are: households, commercial and mix of both of them. Aggregated active power of all the LV network loads profile for each iteration P^ds-i is defined from the database. It is also presented in Figure 3, together with its median profile and upper and lower 90% boundaries. Positive power represents power flow into the supplied LV network. Figure 3: Aggregated active power of LV network loads Reactive power injection of each PV is voltage dependent. Its dependency is shown in Figure 4. 246 Figure 4: Q(U) characteristic 2.6 Simulation outputs At the end of the last MC iteration, the power flow through the MV/LV transformer is available for the whole simulation (all MC simulations). Active and reactive power flow of the network is presented in Figure 5, together with its median and upper/lower 90% boundaries. Positive values mean power flowing into the LV network, whilst the negative ones represent the power flowing out from the network, into the MV distribution network. Figure 6: Boxplot of cos(^pv) Besides the MV/LV transformer power flow data, the network losses measurements are also of interest in our case. These measurements serve as a basis for developed model loses calculation. Network losses, for each iteration are presented in Figure 7 Figure 5: Power flow through MV/LV transformer Definition of the cos(^pv) database is of main goal of these simulations, as also mentioned before. This database is derived from the simulated PpfiR and 0pfiR values presented in Figure 5. Due to the high penetration of the pVs in the simulated LV network there is a change in the PpfiR during the day in terms of its direction. On the other hand, the flow of the 0pfiR retains its direction through the whole day. Consequently, when the PpfiR is opposite to the 0pfiR the cos(^pv) turns out to be a negative value. However the direction, cos(^pv) is close to the 1 in one case and close to -1 in the other. Therefore we decided to present the cos(^pv) with a bit unusual approach as can be seen in Figure 6. presented is a boxplot of values, where values bellow 1 represent the positive cos(^pv), while the values above 1 represent the negative cos(^pv). Figure 7: LV network losses (including the transformer losses) These measurements are then used for investigation of relation between the power flow through the transformer and the losses in the network. The relation in absolute values is shown in Figure 8. Network losses vs transformer power flow as is 0 200 _ [kVA] Figure 8: Ploss(PpfiR) presented with original measurements (left) and with absolute PpfiR values (right) In order to generalize the relation to different LV networks, the values have to be normalized. Losses are normalized with the aggregated consumption of active power of all network loads only (pv are not taken into account) at each iteration. The variance of values is a bit higher during the pv generation period as can be seen in the Figure 9. 247 LV network losses for each iteration: summer T—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—I—r ¡M "•si i g ? ' J_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_I_L ■o 0.06 o EL 0.04 ® of 002 0 1 2 3 4 5 6 7 8 9 1011 12131415161718192021222324 Hour Figure 9: Normalized LV network losses boxplot For validation of the used method for the losses calculation, histograms of the measured and the calculated network losses are presented in Figure 10. Similarity of the shown histograms is obvious. There is however some discrepancy, which is a consequence of relating the losses only to the consumption of the network (without PVs). The discrepancy can be observed also from the Figure 11, where the daily network losses profile comparisons are shown. Losses calculation is based solely on the network load consumption, disregarding the PVs generation. However, one can see, that mean values fit perfectly. 10000 s e Z 5000 Calculated and simulated losses comparison summer i-|p I_I loss-calculated i-|p I-1 loss-simulation hnO . . ■ 2 4 6 Power [kVA] 10 Figure 10: Network losses: histogram of calculated and simulated values Figure 12 shows a per-hour boxplot of cos(^model) for the LV network supplying a mix of households and commercial users, for the summer season: weekday and weekend. PV penetration rate in terms of MV/LV transformer nominal power equals 100%. This is actually a cos(^pv) database, which is a result of the network simulation described above. One can see, that cos(^model) variance is higher, during the PV generation period of the day. Otherwise, there is no significant difference between the two distributions. LV network cos