• Rezultati Niso Bili Najdeni

ˇZigaPisar Razvojaplikacijezadoloˇcevanjesrˇcnegautripazdigitalnokamero

N/A
N/A
Protected

Academic year: 2022

Share "ˇZigaPisar Razvojaplikacijezadoloˇcevanjesrˇcnegautripazdigitalnokamero"

Copied!
94
0
0

Celotno besedilo

(1)

UNIVERZA V LJUBLJANI Fakulteta za strojniˇstvo

Razvoj aplikacije za doloˇ cevanje srˇ cnega utripa z digitalno kamero

Magistrsko delo magistrskega ˇstudijskega programa II. stopnje Strojniˇstvo

Ziga Pisar ˇ

Ljubljana, september 2021

(2)
(3)
(4)
(5)

UNIVERZA V LJUBLJANI Fakulteta za strojniˇstvo

Razvoj aplikacije za doloˇ cevanje srˇ cnega utripa z digitalno kamero

Magistrsko delo magistrskega ˇstudijskega programa II. stopnje Strojniˇstvo

Ziga Pisar ˇ

Mentor: prof. dr. Primoˇ z Podrˇ zaj, univ. dipl. inˇ z.

Ljubljana, september 2021

(6)
(7)
(8)
(9)

Zahvala

Iskreno se zahvaljujem mentorju prof. dr. Primoˇzu Podrˇzaju za mentorstvo, izkazano zaupanje ter strokovno pomoˇc, tako pri pisanju kot tudi tekom ˇstudija. Zahvaljujem se asist. raz. dr. Mihi Finˇzgarju, ki je s strokovnimi nasveti in obˇsirnim znanjem vedno priskoˇcil na pomoˇc.

Hvala moji druˇzini, Ivanu in Petri ter bratu Jaˇsi za modre nasvete in dolge debate.

Vaˇse tiho upanje se je konˇcno uresniˇcilo.

Najlepˇse se zahvaljujem dragi punci Amadeji, ki vedno znova razume, me podpira in, ko zadano breme dokonˇcno postane preteˇzko, nalahno umiri divji tok mojih misli.

v

(10)

vi

(11)
(12)

viii

(13)

Izvleˇ cek

UDK 612.172:004.4:007.52(043.2) Tek. ˇstev.: MAG II/944

Razvoj aplikacije za doloˇ cevanje srˇ cnega utripa z digitalno ka- mero

Ziga Pisarˇ

Kljuˇcne besede: fotopletizmografija mobilni robot rPPG

Raspberry Pi frekvenca srca

Cloveˇsko telo z vsakim srˇˇ cnim ciklom ˇcrpa kri po celotnem telesu. Kontrakcija in relaksacija srˇcne miˇsice ustvarjata ˇcasovno spremenljivo in ponovljivo tlaˇcno razliko znotraj kardiovaskularnega sistema. Brezkontaktna fotopletizmografija (rPPG) je no- vejˇsa, cenovno ugodna in neinvazivna optiˇcna metoda zaznavanja volumetriˇcnih krvnih sprememb po telesu. Ker ˇcloveˇska kri zelo dobro absorbira doloˇcen del spektra bele svetlobe, lahko s primernim senzorjem zaznamo in spremljamo majhne, oˇcem nevidne spremembe v intenziteti absorbirane ali odbite svetlobe. V primerjavi z elektrokardi- ografijo in konvencionalnimi fotopletizmografi, ki zahtevajo fiziˇcen stik, zazna rPPG z uporabo oddaljene potroˇsniˇske digitalne kamere intenziteto odbite svetlobe na koˇzi obraza ali drugje. S procesiranjem dobljenih podatkov lahko doloˇcimo pulzni signal, posredno utrip srca, in izdelamo fizioloˇsko sliko pacienta. Z ozirom na novi, zelo nale- zljivi koronavirus, ki je povzroˇcil globalno zdravstveno krizo, smo razvili mobilni robot za brezkontaktno doloˇcevanje utripa srca, podprtega s sistemom za oddaljeno nasta- vljanje ostrine. Mobilni robot smo nadgradili z namensko strojno opremo in izvedli eksperiment v treh svetlobnih pogojih: v notranjih prostorih, zunaj in pod studijsko osvetlitvijo. Meritve so pokazale, da lahko ˇze v sobnih pogojih, s pomoˇcjo algoritma rPPG, izmerimo frekvenco srca z napako, manjˇso od 1 BPM. Aplikacija mobilnega robota z rPPG ni samo dobra alternativa konvencionalnim merilnikom pulza, temveˇc v ˇcasih, ko so fiziˇcni kontakti moˇcno odsvetovani, nudi tudi moˇznost oddaljenega spre- mljanja utripa srca z nizkocenovno kamero in namenskim vgradnim sistemom.

ix

(14)

x

(15)

Abstract

UDC 612.172:004.4:007.52(043.2) No.: MAG II/944

Development of an application for pulse monitoring using a digital camera

Ziga Pisarˇ

Key words: photoplethysmography mobile robot

rPPG

Raspberry Pi pulse rate

Every cardiac cycle of the human body comprises of two periods of activity: relaxation and contraction of the heart muscle. With the first, the human heart relaxes and refills with blood (diastole), followed by a robust contraction (systole) that pumps the fluid throughout the cardiovascular system. This rhythm causes a time dependent pressure pulse that drives a continuously changing volumetric flow, which can be detected due to the blood’s good light absorbance. Remote photoplethysmography (rPPG) is a no- vel, non-invasive and cost-effective method of detecting changes in blood volume by illuminating the dermal tissue and sensing infinitesimal intensity changes. Compared to conventional electrocardiography, rPPG does not require physical contact to deter- mine a human’s heart rate. Using an ordinary digital camera, with a suitable rPPG algorithm, one can indirectly determine the heart rate by first measuring the pulse wave of the flowing blood. This way, an important physiology metric is obtained with information on the subjects’ health. With respect to the novel and highly contagious Coronavirus that evolved into a global health crisis, we have developed and tested a telemedicine application using a tele-operated mobile robot, outfitted with a high reso- lution camera. An experiment was conducted in three scenarios: living room lighting, direct sunlight and in a photography studio setting. In the case of former, the average error measured was less than 1 BPM. The gathered results clearly show that a rPPG algorithm on a mobile platform works not only as a functional alternative to other conventional means of determining pulse rate, but also as a novel concept capable of decreasing the healthcare system’s workload.

xi

(16)

xii

(17)

Kazalo

Kazalo slik . . . xv

Kazalo preglednic . . . xix

Seznam uporabljenih simbolov . . . xxi

Seznam uporabljenih okrajˇsav . . . xxiii

1 Uvod . . . 1

1.1 Ozadje problema . . . 1

1.2 Pregled literataure . . . 2

1.3 Cilji magistrskega dela . . . 3

2 Teoretiˇcne osnove in pregled literature . . . 5

2.1 Elektrokardiografija in cikel srca . . . 5

2.2 Fotopletizmografija . . . 6

2.2.1 Pulzni signal frekvence srca . . . 8

2.2.2 Brezkontaktna fotopletizmografija . . . 10

3 Metodologija raziskave . . . 13

3.1 Mobilni robot . . . 13

3.1.1 Opis robota . . . 13

3.2 Nadgradnja mobilnega robota . . . 15

3.2.1 Kompatibilnost strojnih kamer . . . 15

3.2.1.1 Predelava kamere Raspberry Pi . . . 17

3.2.1.2 Knjiˇznica raspivid . . . 17

3.2.2 Visokoresolucijska kamera . . . 19

3.2.3 Objektiv . . . 19

3.2.4 Adaptacija arhitekture sistema . . . 19

3.2.4.1 Krmilnik servomotorjev . . . 20

3.2.4.2 Komunikacijski nivoji . . . 22

3.2.5 Shematiˇcen prikaz delovanja sistema . . . 23

3.2.6 Sistem za nastavljanje ostrine . . . 24 xiii

(18)

3.2.6.1 Nosilec kamere . . . 24

3.2.6.2 Dimenzioniranje zobniˇske dvojice . . . 25

3.2.7 Kinematiˇcni model sistema . . . 28

3.2.8 Ohiˇsje in ˇsasija robota . . . 29

3.2.9 Programska oprema . . . 31

3.2.9.1 Posodobitve grafiˇcnega vmesnika . . . 32

3.2.9.2 Nova nadzorna ploˇsˇca . . . 33

3.3 Delovanje rPPG-algoritma kot aplikacija . . . 34

3.3.1 Pogostejˇsi algoritmi . . . 34

3.3.2 Uporabljen rPPG-algoritem in njegovo delovanje . . . 35

4 Eksperimentalni del . . . 39

4.1 Uvod . . . 39

4.2 Umerjanje pulznega oksimetra . . . 39

4.3 Zasnova eksperimentalnega sistema . . . 40

4.4 Meritve frekvence srca . . . 42

5 Rezultati in diskusija . . . 45

5.1 Rezultati nadgradnje robota . . . 45

5.2 Rezultati meritev z rPPG . . . 52

5.2.1 Rezultati umerjanja . . . 52

5.2.2 Sobni pogoji z omejeno svetlobo . . . 52

5.2.3 Meritve na prostem . . . 53

5.2.4 Studijska osvetlitev . . . 55

6 Zakljuˇcki . . . 59

Literatura . . . 61

xiv

(19)

Kazalo slik

Slika 2.1: Tipiˇcno pulzno valovanje, ki ga srˇcna miˇsica ustvarja cikliˇcno. . . . 6 Slika 2.2: Shematiˇcni prikaz poteka cikla srca z oznaˇcenim vrhom R. . . 6 Slika 2.3: Shematiˇcni prikaz obeh PPG-metod: a.) metoda transmisivne in b.)

odbojne PPG-metode (povzeto po [22]). . . 7 Slika 2.4: Absorbcija svetlobe v tkivu ter dve periodi utripajoˇce in kvazistatiˇcne

komponente pulznega valovanja (povzeto po [22]). . . 9 Slika 2.5: Primerjava elektrokardiograma in fotopletizmograma. . . 9 Slika 2.6: Shematiˇcni prikaz postavitve eksperimentalnega sistema z uporabo

rPPG-metode za doloˇcevanje frekvence srca. . . 10 Slika 3.1: Rezultat diplomske naloge je bil mobilni robot, zasnovan za mobilne

aplikacije robotskega vida. . . 14 Slika 3.2: Prikaz prvotnega grafiˇcnega vmesnika kot nadzorne ploˇsˇce za operi-

ranje robota iz leta 2017. . . 14 Slika 3.3: Predelana kamera Pi s po meri narejenim vmesnikom za objektive. . 17 Slika 3.4: Visokoresolucijska kamera Raspberry Pi – HQ Pi kamera [39]. . . . 19 Slika 3.5: 3D-model Pi-kamere in 16 mm objektiva. . . 20 Slika 3.6: Krmilnik Adafruit PCA9685 za krmiljenje servomotorjev [40]. . . . 21 Slika 3.7: Vmesna ploˇsˇcica med vezjem in podvozjem, ki sluˇzi kot ohiˇsje krmil-

nika. . . 22 Slika 3.8: Blokovna shema, ki prikazuje arhitekturo glavnega sistema Raspberry

Pi – Arduino. . . 23 Slika 3.9: Blokovna shema, ki podrobno prikazuje sistem krmiljenja servomo-

torjev. . . 24 Slika 3.10: 3D-model nosilne ploˇsˇce in kamere. . . 25 Slika 3.11: Shematiˇcni prikaz zobniˇske dvojice: na levi gnani zobnik servomo-

torja, na desni pa pogonski zobnik servomotorja. . . 26 Slika 3.12: Oznaˇcene izraˇcunane mere zobnika, ki smo jih upoˇstevali pri mode-

liranju. . . 28 Slika 3.13: 3D-model zasnovanega nosilca kamere in servomotorja. . . 28 Slika 3.14: Prikazan je natisnjen nosilec kamere in servomotorja ter dimenzio-

nirani zobnik. . . 29 xv

(20)

Slika 3.15: Celoten sistem nastavljanja ostrine (3D-render) s prikazanim zasno-

vanim in izdelanim zobnikom. . . 29

Slika 3.16: Kinematiˇcni model sistema za pozicioniranje kamere. . . 30

Slika 3.17: 3D-model zasnovanega prednjega pokrova robota. . . 30

Slika 3.18: 3D-model zasnovanega prednjega odbijaˇca robota. . . 31

Slika 3.19: 3D-sestav mobilnega robota s pokrovom in spodnjim odbijaˇcem. . . 31

Slika 3.20: Izgled drsnikov na novem grafiˇcnem vmesniku z dodanimi gumbi za zagon aplikacije rPPG, inicializacijo servomotorjev na izhodiˇsˇcno pozicijo ter njihov zagon in izklop. . . 32

Slika 3.21: Funkcija, ki ob pritisku na tipko W na tipkovnici zapelje robot naprej in obarva gumb rdeˇce. . . 33

Slika 3.22: Funkcija, ki robot ustavi, ko tipko W spustimo. . . 33

Slika 3.23: Konˇcni izgled nadzorne ploˇsˇce, do katere dostopamo s poznavanjem IP-naslova in ki omogoˇca vse veˇcje funkcije za operiranje mobilnega robota. . . 34

Slika 3.24: Shematiˇcni prikaz realno-ˇcasovnega delovanja algoritma (povzeto po [50]). . . 36

Slika 3.25: Celoten rPPG-algoritem je povezan v priroˇcno aplikacijo, kjer zgor- nje okno prikazuje detektiran obraz oz. ˇcelo, spodnje pa spremenljiv FFT-signal z maksimumom. . . 37

Slika 3.26: Prikaz prvega okna z videoprenosom in ukazi za sledenje obrazu ter zagon merjenja utripa. . . 38

Slika 4.1: Oksimeter, ki prikazuje utrip srca in nasiˇcenost krvi s kisikom. . . . 40

Slika 4.2: Osnovni zastavljeni koncept izvajanja meritev z metodo rPPG. . . . 41

Slika 4.3: Teoretiˇcna postavitev eksperimentalnega sistema. . . 42

Slika 4.4: Dejanska postavitev eksperimentalnega sistema. . . 43

Slika 5.1: Rezultat magistrskega dela je mobilni robot v zakljuˇceni obliki z dodanimi strojnimi in programskimi sistemi. . . 46

Slika 5.2: Prednji pokrov in odbijaˇc sluˇzita kot zaˇsˇcita elektronike na robotu. 47 Slika 5.3: Podsistem za oddaljeno nastavljanje ostrine vkljuˇcuje nosilec kamere in motorja, zobniˇsko dvojico ter servomotor. . . 48

Slika 5.4: Predelana Pi-kamera z 12 mm objektivom in natisnjenim adapterjem. 48 Slika 5.5: Servomotor je na ploˇsˇco pritrjen z vertikalnim nosilcem, upoˇstevajoˇc medosno razdaljo zobniˇske dvojice. . . 50 Slika 5.6: Raztros referenˇcnih in eksperimentalnih vrednosti v sobnih pogojih. 54 xvi

(21)

Slika 5.7: Raztros referenˇcnih in eksperimentalnih vrednosti, merjeno na pro- stem. . . 55 Slika 5.8: Raztros referenˇcnih in eksperimentalnih vrednosti, merjenih v foto-

grafskem studiu. . . 57

xvii

(22)

xviii

(23)

Kazalo preglednic

Preglednica 3.1: Rezultati testiranja kamer z ˇziˇcno povezavo. . . 16 Preglednica 3.2: Rezultati testiranja kamer z brezˇziˇcno povezavo . . . 16 Preglednica 3.3: Karakteristike 16 mm teleobjektiva . . . 20 Preglednica 3.4: Zbrane karakteristike krmilnika Adafruit PCA9685 [40]. . . 21 Preglednica 3.5: Izraˇcunane dimenzije zobniˇske dvojice – pogonski zobnik. . 27 Preglednica 3.6: Zbrane uporabljene tipke in pripadajoˇci znaki Unicode . . 33 Preglednica 3.7: Odmevnejˇsi rPPG-algoritmi z objavljenimi prispevki. . . 35 Preglednica 5.1: Meritve frekvence srca z oksimetrom in ˇstetjem utripov na

minuto. . . 52 Preglednica 5.2: Zbrane vrednosti merjenja pulza v notranjih prostorih. . . . 53 Preglednica 5.3: Zbrane vrednosti merjenja pulza na prostem. . . 54 Preglednica 5.4: Zbrane vrednosti merjenja pulza pod studijskimi luˇcmi. . . 56

xix

(24)

xx

(25)

Seznam uporabljenih simbolov

Oznaka Enota Pomen

a mm medosna razdalja

Bd MBit/s hitrost prenaˇsanja bitov

d mm premer zobnika

f mm goriˇsˇcna razdalja

F P S 1/s ˇstevilo sliˇcic na sekundo

h mm viˇsina zoba

i / prestavno razmerje

I A tok

m / modul

m kg masa

p mm korak zobnika

P W moˇc

T K temperatura

U V napetost

z / ˇstevilo zob zobnika

ν Hz frekvenca

λ nm valovna dolˇzina

Indeksi

a temenski premer

f vznoˇzni premer

i zobnik

z zob

xxi

(26)

xxii

(27)

Seznam uporabljenih okrajˇ sav

Okrajˇsava Pomen

3D Tridimenzionalni prostor (angl. 3D space) AC Izmeniˇcni tok (angl. Alternating Current)

API Aplikacijski programski vmesnik (angl. Application Programming In- terface)

ARM 32-bitna procesna arhitektura (angl. Advanced RISC Machine) AVI Format video datoteke (angl. Audio Video Interleave)

BPM Utripi na minuto (angl. Beats Per Minute)

CAD Raˇcunalniˇsko podprto modeliranje (angl. Computer Aided Drafting) CCD Vrsta slikovnega senzorja (angl. Charge-coupled Device)

CMOS Komplementarni kovinski polprevodniˇski senzor (angl. Complemen- tary Metal Oxide Semiconductor)

COVID-19 Koronavirusna bolezen (angl. Coronavirus Disease) DC Enosmerni tok (angl. Direct Current)

FHD Polna visoka loˇcljivost (angl. Full High Definition) FOV Kot gledanja (angl. Field-of-View)

FPS Stevilo sliˇˇ cic na sekundo (angl. Frames Per Second) GND Ozemljitev (angl. Ground)

I2C Komunikacija med integriranimi vezji (angl. Inter-Integrated Circuit) IDE Integrirano razvojno okolje (angl. Integrated development enviro-

nment)

IoT Internet stvari (angl. Internet of Things) IP Internetni protokol (angl. Internet Protocol) IR Infrardeˇce valovanje (angl. Infrared light)

LED Polprevodniˇsko svetilo (angl. Light-emitting Diode) LiPo Litij polimerska baterija (angl. Lithium Polymer Battery)

MMAL Multimedijska abstrakcija (angl. Multi-Media Abstraction Layer) MP Milijon slikovnih enot (angl. Million Pixels)

OS Operacijski sistem (angl. Operating System) PC Osebni raˇcunalnik (angl. Personal Computer) PLA Termoplastiˇcen poliester (angl. Polylactic Acid) PPG Fotopletizmografija (angl. Photoplethysmography) PT Sistem nagiba in zasuka (angl. Pan-Tilt)

PTT Prehodni ˇcas pulza (angl. Pulse Transit Time)

PWM Pulzno ˇsirinska modulacija (angl. Pulse-width Modulation) RAM Delovni pomnilnik (angl. Random Access Memory)

RGB Barvni model rdeˇce, zelene in modre (angl. Red-Green-Blue) RPI Raˇcunalnik Raspberry Pi (angl. Raspberry Pi)

rPPG Brezkontaktna fotopletizmografija (angl. Remote Photoplethysmo- graphy)

SARS Hudi akutni respiratorni sindrom (angl. Severe Acute Respiratory Syndrome)

xxiii

(28)

SCL Linija oscilatorja (angl. Serial Clock Line) SDA Podatkovna linija (angl. Serial Data Line)

SDK Komplet za razvoj programske opreme (angl. Software Development Kit )

SDK Univerzalna serijska vrata (angl. Universal Serial Bus) SNR Razmerje signal-ˇsum (angl. Signal To Noise Ratio)

TCP Protokol za nadzor prenosa (angl. Transmission Control Protocol) TM Oddaljeno zdravljenje (angl. Telemedicina)

UDP Nepovezovalni protokol za prenaˇsanje paketov (angl. User Datagram Protocol)

USB Univerzalna serijska vrata (angl. Universal Serial Bus) UV Ultravijoliˇcno valovanje (angl. Ultraviolet light)

VLC Multimedijski predvajalnik (angl. VideoLAN Project)

WHO Svetovna zdravstvena organizacija (angl. World Health Organization) WiFi Brezˇziˇcni internet (angl. Wireless Network Protocols)

WUI Spletni grafiˇcni vmesnik (angl. Web User Interface)

xxiv

(29)

1 Uvod

Cloveˇstvo se od decembra leta 2019 naprej, ko so v mestu Wuhan v kitajski provinciˇ Hubei zabeleˇzili prve primere okuˇzb, spopada z novo, hudo obliko nalezljive bolezni COVID-19, ki je posledica novega respiratornega koronavirusa. Izjemno nalezljivi vi- rus SARS-CoV-2 se lahko manifestira asimptomatsko, vendar se v doloˇcenih primerih razvije tudi v pljuˇcnico ali sindrom akutne dihalne stiske [1].

Preko kapljiˇcnega raztrosa aerosola ter fiziˇcnega prenosa preko okuˇzenih povrˇsin se je virus hitro razˇsiril tudi globalno [1]. Svetovna zdravstvena organizacija (WHO) je 30.

januarja 2020 naznanila izbruh okuˇzbe kot mednarodno groˇznjo ˇcloveˇstvu, 11. marca pa razglasila pandemijo, kateri je nato 12. marca sledila tudi uradna razglasitev epi- demije v Sloveniji [2], [3]. Po dosedanjih podatkih (pridobljenih 29. 6. 2021) se je z virusom okuˇzilo 181.533.728 ljudi po vsem svetu, od tega je 257.287 potrjenih primerov okuˇzenih v Sloveniji. Bolezen je samo v Sloveniji do 21. 7. 2021 terjala 4.425 smrtnih ˇzrtev, na globalnem nivoju pa 4.122.004 [4].

1.1 Ozadje problema

Nenaden izbruh nove, zelo nalezljive bolezni, ki ima visoko incidenco ter presega ge- ografske meje, je moˇcno vplival na kakovost sploˇsnega javnega zdravstva. Sirjenjeˇ nepoznanega virusa v zgodnjih obdobjih je presenetilo zdravstvo in hitro zapolnilo bolniˇsniˇcne kapacitete. Reorganizacija delovnih mest, nadure, strogi reˇzimi razkuˇzevanja in prekinitev izvajanja preventivnih zdravstvenih pregledov z izjemo za tiste, katerih odloˇzitev bi imela hujˇse negativne posledice, so le nekatere spremembe, ki so zamajale zdravstveni sistem, katerega temelj so ljudje, ki so zaposleni v zdravstvenih ustano- vah [5].

Alokacija prostorov, ˇstevilo postelj, razpolaganje z materiali in ostalimi viri, ki se upo- rabljajo za sprejem ljudi s sumom na okuˇzbo, zdravljenje in distanciranje ˇze obolelih ter vzporedno dovolj varno in sprotno izvajanje zdravljenja ostalih kroniˇcnih in aku- tnih boleznih ostajajo ˇse danes, tako lokalno kot globalno, glavna dilema zdravstvenega sistema [6].

Za varno rutinsko izvajanje zdravstvenih storitev in uˇcinkovitejˇso rabo ˇcasa in ˇcloveˇskih virov, predvsem pa za zajezitev in prepreˇcevanje ˇsirjenja okuˇzbe tako med zaposlenimi 1

(30)

Uvod

kot tudi med pacienti so leta 2015 v zdravstveni sistem prviˇc implementirali koncept od- daljenega zdravljenja in diagnoze (angl. telemedicine, v nadaljevanju TM) preko video konzultacij [7]. Z uporabo novodobnih tehnologij, kot so telekomunikacijske aplikacije, umetna inteligenca in senzorika kot tudi mobilna in industrijska robotika, lahko virtu- alno in brezstiˇcno pridobivamo fizioloˇske in zdravstvene informacije o pacientih ter jih virtualno shranjujemo in obdelujemo. Lokalno centralizirana hramba in medsistemsko deljenje informacij preko interneta stvari (IoT) v kriznih ˇcasih ne le pohitri zdravljenje, temveˇc tudi v najveˇcji meri sovpada z direktivami o zmanjˇsevanju druˇzbenih stikov.

Takˇsne oddaljene storitve zdravljenja, spremljanja in diagnostike zmanjˇsujejo tveganje okuˇzb in izboljˇsajo zdravstveno varnost zaposlenih. Krajˇsajo se ˇcakalne vrste, hkrati pa se poveˇcuje uˇcinkovitost izvajanja zdravstvenih storitev [8], zaposleni pa so zato posredno razbremenjeni.

Nepriˇcakovan in hiter porast neznanih bolezni s seboj prinese ˇstevilne reforme. Spre- menijo se pogledi na alternativne moˇznosti integracije tehnologij iz razliˇcnih panog, kot so strojniˇstvo, medicina, elektrotehnika in informatika. ˇCloveˇstvo v ˇcasu eksistencialne krize zaradi lastnega obstoja in nuje po preˇzivetju najde reˇsitve v ˇse prej neznanih kombinacijah znanj.

1.2 Pregled literataure

Uporaba omenjenih tehnologij se je v preteklosti pri izbruhu koronavirusa SARS in virusa Zika ˇze izkazala kot dobra praksa [7]. Gonilna sila za vedno veˇcje usmerjanje pozornosti k uporabi in integraciji robotike v zdravstvenih ustanovah je bila ravno epi- demija. Projekcija rasti podroˇcja mobilne robotike do leta 2021 se nahaja v viˇsini 23 milijard aplikacij na trgu [9], [10].

Najveˇcja izpostavljena prednost ostaja oddaljeno pridobivanje informacij o pacientih brez fiziˇcnega kontakta. S tem namreˇc zmanjˇsujemo tveganje prenosa okuˇzb, opra- vljamo zdravstvene dejavnosti v karanteni, zmanjˇsamo porabo potroˇsnih zaˇsˇcitnih mask in oblaˇcil ter ostalih pripomoˇckov, ki se sicer uporabljajo pri obravnavi okuˇzene osebe [11].

Kirurˇski posegi z uporabo minimalno invazivnih robotskih sistemov z oddaljenim upra- vljanjem so ˇze uveljavljena tehnologija, ki se kliniˇcno uporablja tudi pri nas [12]. Kon- cept kombinacije kolaborativnega in mobilnega robotskega manipulatorja na osnovi ABB Yumi robota, ki nadomesti obhode medicinske sestre in spremlja vitalne znake ter streˇze pacientu, je predstavljen v Yang et al. [11]. V delu Cesta et al. [10] so za potrebe socialne interakcije starejˇsih generacij razvili hiˇsnega mobilnega robota z od- daljenim opravljanjem in zmoˇznostjo prenosa slike ter izvedli raziskavo, s katero so potrdili, da takˇsen naˇcin komunikacije z zunanjim svetom prinaˇsa ˇstevilne predno- sti z vidika duˇsevnega zdravja [10]. Podjetje Lifeline Robotics je razvilo aplikacijo, ki z uporabo kolaborativnega industrijskega robota varno in hitro izvaja jemanje brisa [9].

Tudi panoga avtonomnih mobilnih robotov ne zaostaja za industrijskimi manipula- torji. Podjetji DJI in Blue Ocean Robotics sta razvili robote za spremljanje telesne 2

(31)

Uvod temperature in dezinfekcijo predmetov. Slednji se ˇze uporabljajo v zdravstvenih usta- novah, in sicer v sobivanju z ljudmi [9].

Kljub porastu in prednostim oddaljenega zdravljenja pa nekatere ovire in izzivi osta- jajo. Analiza pripravljenosti pacientov na TM je pokazala, da ljudje zaradi preteklih izkuˇsenj dobro sprejemajo nove naˇcine prejemanja zdravstvenih storitev, vendar sta- rejˇse generacije ljudi k zdravstvu raje pristopajo na konvencionalen naˇcin, tj. z obiski osebnega zdravnika [13], [14]. Prav tako zahteva uporaba novejˇsih tehnologij dodatno osveˇsˇcanje pacientov, kot tudi izobraˇzevanje zaposlenih o prednostih in sami uporabi aplikacije [13].

1.3 Cilji magistrskega dela

Cilj magistrskega dela je zasnovati in izdelati zakljuˇceno aplikacijo, ki omogoˇca brez- kontaktno, fleksibilno in mobilno izvajanje meritev frekvence srca. Za potrebe merjenja je nujno, da mobilnega robota opremimo z namensko kamero dosegljivega cenovnega ranga in primernimi resolucijskimi karakteristikami. Izmerjene vrednosti frekvence pulza morajo biti zanesljive in toˇcne, samo merjenje pa ponovljivo in dovolj robustno za rabo v razliˇcnih okoljih.

Vsebina magistrskega dela se navezuje na diplomsko nalogo [15], v kateri smo konstruk- cijsko razvili in izdelali tele-operacijskega mobilnega robota opremljenega z raˇcunalnikom in dvema kamerama za potrebe avtonomnih aplikacij in robotskega vida (poglavje 3.1).

Namen magistrskega dela je mobilnega robota konstrukcijsko nadgraditi in dopolniti, in sicer z ustrezno strojno opremo, izbrati kamero in objektiv, omogoˇciti uˇcinkovito in stabilno pretoˇcnost slik od robota do oddaljenega raˇcunalnika, preveriti in implemen- tirati algoritme za detekcijo frekvence srca ter izvesti meritve, s katerimi aplikacijo na koncu ovrednotimo. Zaˇzeleno je, da se v ospredje postavi enostavnost uporabe v smislu zagona robota, polnjenja, kot tudi samega vodenja.

Z ozirom na preteklo in aktualno epidemioloˇsko stanje pri nas in po svetu mora konˇcna aplikacija ustrezati osnovnim smernicam za potencialno rabo v realnem okolju, bodisi v domaˇci rabi ali kliniˇcnih ustanovah bodisi v drugih zdravstvenih ustanovah, kot so domovi za ostarele. Zahteve za mobilno robotsko aplikacijo za doloˇcevanje frekvence srca so sledeˇce:

– Zdruˇzitev PPG in mobilne robotike,

– Robustnost delovanja algoritma in upravljanja mobilnega robota v celoviti aplikaciji, – Izbira primerne kamere in zagotovitev stabilnega prenosa slike preko spleta (angl.

streaming),

– Zajemanje, obdelava in preraˇcun frekvence utripa v najkrajˇsem moˇznem ˇcasu, – Validacija sistema z izvedbo eksperimenta v razliˇcnih prostorih in svetlobnih pogojih, – Doloˇcitev glavnih parametrov, ki vplivajo na toˇcnost in natanˇcnost meritev,

– Enostavno posluˇzevanje in upravljanje robota ter njegovih funkcij z intuitivnim grafiˇcnim vmesnikom,

– Cenovna ugodnost sistema in modularnost robota za laˇzje dodajanje in odvzemanje komponent in delov.

3

(32)

Uvod

Magistrsko delo se priˇcne z orisom ozadja problema in definicijo ciljev, ki so podprti s pregledom trenutnih raziskovalnih in praktiˇcnih reˇsitev na trgu. Kot podlaga za laˇzje razumevanje so predstavljena teoretiˇcna izhodiˇsˇca, ki podrobneje opisujejo PPG- metodo. Opisani so postopki konstrukcijske in programske nadgradnje s podrobnimi opisi komponent, vkljuˇcno z analizo ustreznih kamer, ki jih vgradni sistem podpira.

Doloˇcili smo eksperimentalno okolje in robota uporabili kot merilno orodje za preiz- kus algoritmov za doloˇcevanje frekvence pulza. Za preverjanje meritev smo uporabili osnovni prstni oksimeter ter roˇcno merjenje pulza s pomoˇcjo ˇstoparice. Na koncu sle- dijo rezultati meritev in opis robota v konˇcni konfiguraciji.

Glavni izzivi, s katerimi se bomo sreˇcevali pri zasnovi aplikacije, so zagotavljanje do- volj hitrega ter hkrati stabilnega prenosa sliˇcic v enotah FPS. Za minimiziranje merilne napake pri izraˇcunu ˇcasovno odvisne frekvence srca se morajo sliˇcice prenaˇsati v ena- komernih ˇcasovnih intervalih. Posnetki koˇze, natanˇcneje obraza, morajo biti v visoki resoluciji, kar lahko znatno obremeni prenaˇsanje na oddaljeni raˇcunalnik preko spleta.

Soˇcasno zahteva prenos sliˇcic z veˇcjo hitrostjo tudi veˇcjo raˇcunsko moˇc raˇcunalnika, vgrajenega na robotu, zaradi ˇcesar se poveˇca poraba elektriˇcne energije. To lahko ne- gativno vpliva na domet elektriˇcnega vozila.

Implementacija mobilnega robota ali katerekoli tehnoloˇske naprave v zdravstveno okolje je zahteven proces, ki zahteva skladnost s strogimi standardi in direktivami. Aplikacija mora biti varna, hermetiˇcno zaprta oz. sterilna, dobro vidna in prilagojena za ozke hodnike ustanov. Tudi redundantni varnostni senzorji in sistemi so nujno potrebni za zagotavljanje varnega sobivanja s ˇclovekom. Kljub temu pa se rezultati, predstavljeni na koncu magistrskega dela, lahko smatrajo kot ˇstudija izvedljivosti in koncept, ki mu potencialno sledijo izboljˇsave v smeri konˇcnega izdelka za dejansko rabo v praksi.

4

(33)

2 Teoretiˇ cne osnove in pregled lite- rature

V nadaljevanju so opisane osnovne definicije delovanja srca, opisana je konvencionalna optiˇcna metoda fotopletizmografije (angl. photoplethysmography, v nadaljevanju PPG) in njeno delovanje. Za laˇzjo predstavo je opisana tudi elektrokardiografija (EKG) z grafiˇcnim prikazom napetostnega signala utripanja srca v primerjavi s fotopletizmo- grafom. Podrobneje smo opisali naˇcine kontaktne PPG in omejitve, s katerimi se sreˇcujemo pri njeni uporabi, grafiˇcno smo prikazali komponente pulznega valovanja zaradi ˇcrpanja krvi ter predstavili koncept brezkontaktnega merjenja frekvence pulza.

2.1 Elektrokardiografija in cikel srca

Cloveˇsko telo z vsakim srˇˇ cnim ciklom ˇcrpa kri po celotnem telesu. Kontrakcija in relaksacija srˇcne miˇsice ustvarjata ˇcasovno odvisno in ponovljivo tlaˇcno razliko znotraj kardiovaskularnega sistema, ki jo lahko s primerno opremo zaznamo in spremljamo.

Cikel utripanja je sestavljen iz dveh faz, ki sta prikazani na sliki 2.1: diastole (angl.

diastole), ki predstavlja relaksacijo miˇsice, pri ˇcemer se srce napolni s krvjo, in sistole (angl. systole), pri kateri srˇcna miˇsica s kontrakcijo izvede potisk s kisikom nasiˇcene krvi po veliki telesni odvodnici, imenovani aorta, od koder potuje naprej po arterijskem vejevju. Tako utripajoˇca narava toka krvi ustvarja pulzno valovanje kot funkcijo ˇcasa [16].

Izmeniˇcno raztezanje in krˇcenje srˇcne miˇsice je rezultat elektriˇcnih draˇzljajev, ki delu- jejo kot naravni srˇcni spodbujevalnik. Skupek posebnih miˇsiˇcnih celic v srcu, imenova- nih sinusni vozel, tvori elektriˇcno vzbujanje [16], s katerim koordinira ritmiˇcno gibanje srˇcne miˇsice. Elektrokardiografija (EKG) je preprosta, zanesljiva in hitra metoda merje- nja elektriˇcne aktivnosti srca s pomoˇcjo elektrod, nameˇsˇcenih na koˇzo. Je standarden in uveljavljen pristop, s katerim lahko zaznamo majhne elektriˇcne spremembe, natanˇcneje polarizacijo in depolarizacijo preddvorov (atrij) in prekatov (ventrikel) srca, ki enoliˇcno sovpadajo s krˇcenjem in raztezanjem srˇcne miˇsice oz. z veˇcanjem in manjˇsanjem krv- nega tlaka [17], [18].

Na sliki 2.2 je prikazan tipiˇcen potek EKG-signala po ˇcasovni skali. Zapis pulznega vala srˇcnega cikla je sestavljen iz petih kljuˇcnih toˇck:

5

(34)

Teoretiˇcne osnove in pregled literature

t [s]

Napetostni signal [V]

diastola sistola

sistolična točka

diastolična točka

Slika 2.1: Tipiˇcno pulzno valovanje, ki ga srˇcna miˇsica ustvarja cikliˇcno.

– P-val predstavlja depolarizacijo atrijev (diastola)

– Cona Q-R-S predstavlja depolarizacijo ventriklov (faza kontrakcije),

– T-val predstavlja repolarizacijo ventriklov (faza okrevanja in ponoven priˇcetek cikla).

t [s]

U [mV]

Q S

P R

T R-R interval

diastola sistola

Slika 2.2: Shematiˇcni prikaz poteka cikla srca z oznaˇcenim vrhom R.

Znotraj QRS-kompleksa se nahaja toˇcka R, ki predstavlja vrh tlaˇcnega pulza. Inverzna vrednost med dvema R-pulzoma neposredno definira utrip srca. Krajˇsi kot je interval med zaporednimi vrhovi, manjˇsa je frekvenca utripa [19].

2.2 Fotopletizmografija

Delovna karakteristika srˇcne miˇsice vsebuje veliko informacij o ˇcloveˇskem telesu. Je po- kazatelj emocionalnega in duˇsevnega stanja osebe, njene fiziˇcne pripravljenosti, hkrati pa oznanja morebitne bolezni srca in oˇzilja.

Fotopletizmografija (v nadaljevanju PPG) je optiˇcna metoda, s katero lahko na koˇzi detektiramo frekvenco srca. Gre za cenovno ugodno in neinvazivno metodo, ki za 6

(35)

Teoretiˇcne osnove in pregled literature razliko od signalov elektriˇcne aktivnosti pri elektrokardiografiji temelji na zaznavanju sprememb volumskega pretoka krvi. Pretok po oˇzilju v ritmiˇcnih presledkih poganja tlaˇcna razlika, ki jo ustvarja srce. Valovanje, ki pri tem nastaja in je prikazano na sliki 2.1, imenujemo fotopletizmogram. To je pokazatelj distalnega pulza, ki je neposredno sinhroniziran s frekvenco srca [20], [21].

Kot dobro uveljavljena metoda ima PPG ˇsiroko paleto uporabe v kliniˇcnih okoljih.

Posredno realno, ˇcasovno spremljanje fizioloˇskih parametrov, kot so nasiˇcenost krvi s kisikom, utrip srca, krvni tlak in respiracija, vaskularna diagnostika arterijskih bolezni ter staranja oˇzilja so le ene izmed mnogih prednosti, ki jih metoda PPG nudi [21].

V najosnovnejˇsi obliki deluje metoda PPG kontaktno, in sicer tako, da tkivo (na- tanˇcneje koˇzo) obsevamo z umetnim ali naravnim svetlobnim virom. Razliko inten- zitete med absorbirano in prepuˇsˇceno svetlobo skozi tkivo na drugi strani merjenca zaznamo s fotodetektorjem (angl. transmission-mode PPG). Lokalno poveˇcana go- stota krvi zaradi perfuzije, ki sledi sistoliˇcnemu pulzu (predstavljen v poglavju 2.1), oslabi in atenuira intenziteto vhodne svetlobe na tipalo.

Kot alternativa zgoraj omenjeni baziˇcni metodi pa je PPG-metoda, kjer merimo inten- ziteto svetlobe, ki se od tkiva odbije (angl. reflectance-mode PPG). ˇCe tipalo postavimo ob bok svetlobnemu izvoru, se relacija med odsevano svetlobo in volumskim pretokom krvi spremeni: veˇcji kot je volumski pretok v ˇzilah, veˇcja je intenziteta svetlobe, ki pade na senzor. Na sliki 2.3 je shematiˇcen prikaz koncepta obeh konvencionalnih me- tod kontaktne PPG-metode [20].

Slika 2.3: Shematiˇcni prikaz obeh PPG-metod: a.) metoda transmisivne in b.) odbojne PPG-metode (povzeto po [22]).

Ker je PPG primarno optiˇcna metoda, je izvor svetlobe glavni pogoj za njeno delovanje.

Fundamentalni princip delovanja PPG temelji na drobnih razlikah v obˇcutljivosti krvi na razliˇcne valovne dolˇzine [23], zato je izbira svetlobnega vira s primerno barvo zelo pomembna [23]. Idealna valovna dolˇzina je tista, katere absorbtivnost v krvi je veˇcja oz.

boljˇsa kot absorbcija v okoliˇskem tkivu [24]. Krajˇse valovne dolˇzine se bolje absorbirajo v melaninu, UV-svetloba pa v vodi. Kot vir svetlobe se tipiˇcno uporablja predvsem rdeˇca in bliˇznja IR, vendar najdemo tudi svetlobo zelene barve. V raziskavi Maede et al. [25] so pokazali, da ima zelena svetloba v doloˇcenih pogojih boljˇso absorbtivnost v hemoglobinu kot v primeru obsevanja z rdeˇco svetlobo, kar poslediˇcno daje natanˇcnejˇse meritve z boljˇsim razmerjem signal-ˇsum (SNR).

Na spremembe intenzitete absorbirane svetlobe vpliva nasiˇcenost hemoglobina s kisi- kom v krvi, vrednost melatonina v koˇzi in mioglobin v miˇsiˇcnem tkivu. Fotopletiz- mogram je kvalitativno merilo, kjer sprememba intenzitete svetlobe posredno nakazuje 7

(36)

Teoretiˇcne osnove in pregled literature

na spremembo volumskega pretoka. Na vrednosti pletizmograma vplivajo ˇse: loka- cija merjenja na telesu (prst, uˇsesna meˇcica), intenziteta vhodne svetlobe in valovna dolˇzina, kot tudi velikost in postavitev senzorja ter fotovoltaiˇcne karakteristike. Pretok krvi modulirajo tudi drugi fizioloˇski sistemi v telesu, zato se ta metoda lahko upora- blja za spremljanje dihanja in diagnozo hipovolemije. Ker je to primarno kontaktna metoda merjenja frekvence srca, se najveˇcji vnos merilne napake zgodi, ko je pritisk svetlobnega vira in senzorja na koˇzo prevelik (ali premajhen), kakor v primeru prstnega pulznega oksimetra [20].

Izzivi konvencionalne PPG-metode kljub naˇstetim prednostim ˇse vedno ostajajo [24], [26]:

– Enotoˇckovno merjenje: Konvencionalna kontaktna PPG-naprava je sposobna zazna- vati frekvenco pulza samo na enem mestu na koˇzi. Sistemi, ki lahko spremljajo veˇc toˇck hkrati, sicer obstajajo, vendar zahtevajo kompleksnejˇso ˇcasovno sinhronizacijo delovanja. Naprave za merjenje morajo biti nameˇsˇcene na anatomsko simetriˇcnih lokacijah za enoliˇcne rezultate.

– Stik senzorja s preiskovancem: Za toˇcne meritve mora imeti senzor zadosten stik s koˇzo. V primeru poˇskodbe na specifiˇcnem mestu, kamor bi sicer namestili senzor, je meritev praktiˇcno nemogoˇca. Tudi sila pritiska senzorja na toˇcko meritve je eden izmed vnosov merilne napake zaradi deformacije arterijskih sten.

– Napake zaradi tresljajev in gibanja: PPG-metoda je dovzetna za korupcijo signala, katere vzrok je gibanje osebe relativno glede na ravnino in usmerjenost senzorja.

Uporaba je tako v ˇsportnem zdravstvu omejena.

Fotopletizmogram je sestavljen iz dveh seˇstetih komponent, prikazanih na sliki 2.4.

Prva, imenovana AC-komponenta, predstavlja utripajoˇci del, ki je odvisen od spre- minjajoˇcih se absorbcijskih karakteristik, ki so posledica pulznega delovanja ˇcrpanja krvi in poslediˇcnih majhnih sprememb v volumskem pretoku. Druga se imenuje DC- komponenta in predstavlja kvazistatiˇcen del signala zaradi povpreˇcnih konstantnih ab- sorbcijskih lastnosti kosti in oˇzilja in se navezuje na respiracijske funkcije [27]. Slika prikazuje nivoje potovanja fotonov pri vstopu v povrhnjico koˇze in se nanaˇsa na sliko 2.3. Svetloba se deloma absorbira v vseh nivojih, vendar pa se najveˇcji del intenzitete svetlobe vpije v arterijah, kjer se pretaka kri.

2.2.1 Pulzni signal frekvence srca

Na sliki 2.5 sta prikazana signala, pridobljena z razliˇcnimi metodami. V zgornjem delu se nahaja elektrokardiogram, ki je tipiˇcen kazalnik proksimalnega delovanja srca, tj. merjenje pulza na izstopu iz srˇcnega prekata v aorto oz. zaznavanje inherentne elektrostimulacije neposredno na srˇcni miˇsici z uporabo elektrod. Pod njim pa je nanizano pulzno valovanje, pridobljeno s PPG-metodo [21]. Oznaˇceni so vrhovi pulzov, R-R interval (poglavje 2.1), sistola in diastola.

Na sliki 2.5 opazimo neskladnost vrhov med spodnjim in zgornjim valovanjem, kar je oznaˇceno s PTT (angl. pulse transit time). To je prehodni ˇcas, ki nastane zaradi ˇ

casovne zakasnitve pri potovanju pulza od izstopa iz srˇcne miˇsice pa vse do distalnega venskega oˇzilja obraza, uˇsesne meˇcice ali prstov, kjer ga z rPPG-metodo naknadno 8

(37)

Teoretiˇcne osnove in pregled literature

t [s]

Napetostno signal [V] AC komponentaDC komponenta

t [s]

DC komponenta Venska kri Tkivo in koža

AC komponenta Svetlobni vir

diastola sistola

Slika 2.4: Absorbcija svetlobe v tkivu ter dve periodi utripajoˇce in kvazistatiˇcne komponente pulznega valovanja (povzeto po [22]).

PPG-signal EKG-signal

t [s]

U [mV]

P

R

T

Q S

PTT

diastola R sistola

R

P R

T

Slika 2.5: Primerjava elektrokardiograma in fotopletizmograma.

9

(38)

Teoretiˇcne osnove in pregled literature

zaznamo. Gre za funkcijo tako hitrosti pulznega valovanja kot tudi krvnega tlaka in neposredno nakazuje na proˇznost oˇzilja, ki se s starostjo in zdravjem spreminja.

Prehodni ˇcas PTT se pri starejˇsih zmanjˇsuje zaradi poveˇcevanja togosti oˇzilja, kar je lahko posledica sladkorne ali kroniˇcne bolezni ledvic [28].

2.2.2 Brezkontaktna fotopletizmografija

Oddaljena, brezkontaktna fotopletizmografija (v nadaljevanju rPPG), je metoda za vi- zualizacijo perfuzije krvi po oˇzilju in koˇznem tkivu z uporabo digitalne kamere. Slikovni sistemi oddaljenega zaznavanja frekvence srca predstavljajo funkcijsko alternativo za elektromagnetne in laserske pristope, ki sicer prevladujejo v kliniˇcnih okoljih [24].

Zaˇcetki razvoja slikovne in oddaljene fotopletizmografije segajo v leto 1996 [29]. Ka- sneje so Wu et al. [30] predstavili uporabo slikovnih senzorjev CCD za zaznavanje der- malnega volumskega pretoka ter validirali uporabnost metode v praksi. Od leta 2015 naprej se je pojavnost slikovnih rPPG-metod v znanstveni literaturi znatno poveˇcala [24].

Metoda rPPG je v principu sorodna konvencionalni brezkontaktni metodi PPG, pred- stavljeni v poglavju 2.2, saj temelji na istem optiˇcnem principu in izhaja iz enake relacije med volumskim pretokom krvi in intenziteto odsevane svetlobe. ˇCeprav obe metodi za svoje delovanje potrebujeta izvor svetlobe ter tipalo, ki zaznava spremembe osvetljenosti, se glavna razlika nahaja v sami morfologiji in fizikalnem ozadju delovanja senzorja. Pri obiˇcajni metodi se uporabljajo enotoˇckovni polprevodniˇski senzorji (npr.

fotodiode), medtem ko pri rPPG omenjena tipala zamenja matriˇcni sistem slikovnih tipal, ki jih najdemo v vseh digitalnih kamerah (CMOS) [24].

Kamera

Laptop

Vir svetlobe

Obraz

Slika 2.6: Shematiˇcni prikaz postavitve eksperimentalnega sistema z uporabo rPPG-metode za doloˇcevanje frekvence srca.

Shematski prikaz postavitve in delovanja rPPG-metode je prikazan na sliki 2.6. Za delo- vanje je potrebna naravna ali umetna svetloba, s katero osvetljujemo izbrano interesno 10

(39)

Teoretiˇcne osnove in pregled literature obmoˇcje (ROI). S kamero, ki ima vgrajeno matriko toˇckovnih senzorjev, zajamemo od- bito svetlobo z obraza v realnem ˇcasu (ali samo posnamemo), ˇcemur sledi procesiranje sliˇcic. Zaˇzeleno je, da ima kamera visoko loˇcljivost ter zadostno in stabilno hitrost branja sliˇcic [31]. Podrobno delovanje algoritma je predstavljeno v poglavju 3.3.

Dosegljivost potroˇsniˇskih kamer (v naˇsem primeru je to kamera Raspberry Pi) je od- prla novo vejo v raziskovanju algoritmov in aplikacij na temo metode rPPG. Uporaba takˇsnih kamer prinaˇsa ˇstevilne prednosti v primerjavi z uporabo namenskih naprav (pr- stni oksimeter), ki uporabljajo konvencionalno PPG-metodo (opisano v poglavju 2.2).

Nizka cena visokoloˇcljivih naprav omogoˇca, da lahko algoritme z odprtokodno licenco uporablja vsak. Poleg tega nam sistem omogoˇca, da samo z eno takˇsno kamero merimo mnoˇzico testnih subjektov na razliˇcnih, tj. poljubnih interesnih obmoˇcjih hkrati. Me- rimo in doloˇcamo lahko ne le frekvenco srca, temveˇc tudi hitrost pulznega valovanja, nasiˇcenost krvi s kisikom in perfuzijo krvi po telesu. V delu Wang et al. [32] so opravili tudi ˇstudijo izvedljivosti merjenja koncentracije glukoze v krvi s pomoˇcjo rPPG-metode z uporabo digitalne kamere.

Kot zelo robustna in fleksibilna metoda predstavlja rPPG dobro alternativo ustaljenim naˇcinom diagnoze. Lahko se uporablja v ˇsportu, videonadzorih mnoˇzice v epidemiji, interakciji ˇcloveka z robotom, ˇstudijah spanca in anesteziologiji [19]. V osnovi je rPPG- metoda sestavljena iz dveh korakov: procesiranja slik inizluˇsˇcevanja in procesiranja za nas zanimivih signalov.

Procesiranje slik pri metodi rPPG se naprej deli na:

– Definicijo interesnega obmoˇcja: Na zaˇcetku zajemanja sliˇcic obraza ali drugega dela telesa se roˇcno ali z uporabo algoritmov za detekcijo delov telesa doloˇci interesno obmoˇcje. S tem se izloˇcijo neˇzelene informacije (okolica, lasje itd.) in obdrˇzijo zgolj toˇcke, kjer se nahaja koˇzno tkivo. Pomembno je, da interesnemu obmoˇcju sledimo skozi celotno izvajanje meritve.

– Pretoˇcnost sliˇcic: Sledi shranjevanje (snemanje videoposnetka) ali (v primeru realno ˇ

casovne aplikacije) sprotno poˇsiljanje posameznih sliˇcic v nadaljnjo fazo procesiranja [19] z uporabo zanesljivih protokolov za prenos sliˇcic (TCP). V primeru snemanja moramo uporabiti primerno kodiranje videoposnetkov, z niˇcelno ali delno kompresijo (angl. lossless codec), ter primeren videoformat (AVI). Priporoˇcljivo je zajemanje surovih (RAW), neokrnjenih posnetkov.

Procesiranje signalov pa si sledi v naslednjem vrstnem redu:

– Prostorsko povpreˇcenje: Pri metodi rPPG se iskani signali pulznega valovanja per- fuzije skrivajo v surovih RGB-sliˇcicah. Vsako slikovno toˇcko nadomestimo s pov- preˇcjem intenzitet toˇck v njeni neposredni bliˇzini, in sicer za vsako sliˇcico intere- snega obmoˇcja. Tako filtriramo toˇcke, katerih vrednosti bi v sistem izraˇcuna vnesle nepotreben ˇsum in s tem izboljˇsamo SNR,

– Izbira barvnega kanala: Veˇcina senzorjev v kamerah zajema sliˇcice v treh barvah:

rdeˇci, zeleni in modri (RGB). Absorbcija svetlobe v hemoglobino variira znatno v odvisnosti od valovne dolˇzine svetlobe, s katero obsevamo obmoˇcje interesa, zato je primerna izbira barvnega kanala pomembna. Izbira svetlobe je odvisna predvsem od ostalih dejavnikov, kot je to opisano npr. v delu Verkruysse et al. [33], kjer se je v pri- meru uporabe okoliˇske ambientne svetlobe izkazalo, da zelena svetloba daje najveˇcje 11

(40)

Teoretiˇcne osnove in pregled literature

amplitude nihanja pri konˇcnem izhodnem signalu delovanja srca. Uporabimo lahko tudi linearno kombinacijo vseh treh RGB-kanalov [34].

– Zmanjˇsevanje ˇsuma: Dodatno filtriranje signala lahko za bolj toˇcen rezultat izloˇci frekvence utripa (BPM), ki se nahajajo izven obiˇcajnega razpona zdravega ˇcloveˇskega delovanja srca [34],

– Izloˇcitev signala frekvence pulza: Naˇcinov, kako iz spreminjajoˇcih se signalov barvnih kanalov izraˇcunati frekvenco srca, je veˇc. V delu McDuff et al. [35] so predstavili metodo za detekcijo vrhov v ˇcasovni domeni na naˇcin iskanja lokalnih maksimumov, ˇcemur sledi faza drseˇcega primerjanja (angl. moving window) vrhov. ˇCe je naslednji lokalni maksimum veˇcji od prejˇsnjega, se iskanje premakne v naslednji podnabor vrednosti, ˇce pa je vrednost lokalnega maksimuma manjˇsa, pa se izbere prvotno doloˇcen ekstrem. Proces se ponavlja cikliˇcno. Alternativno pa lahko pulzno valova- nje s Fourierjevo transformacijo prestavimo v frekvenˇcno domeno in tako izloˇcimo dominantno frekvenco [19].

12

(41)

3 Metodologija raziskave

Uporaba rPPG se enaˇci s statiˇcnimi aplikacijami, kjer je kamera fiksirana na stojalu ali mizi. Testni subjekt oz. pacient se postavi pred kamero, nakar se izvedejo meri- tve. V nadaljevanju so opisane naprave in metode, ki smo jih uporabili za izdelavo mobilne aplikacije z uporabo robota, ki se lahko z oddaljenim brezˇziˇcnim vodenjem pripelje do pacienta in izvede meritev frekvence srˇcnega utripa na lokaciji. Prikazani so postopki dodelave mobilnega robota in nadgradnja z ustrezno kamero. Opisane so razvite komponente, ki pripomorejo k bolj robustni rabi in nakazujejo korak naprej proti potencialni rabi v kliniˇcnih ustanovah in domovih za ostarele.

3.1 Mobilni robot

Uporabljena platforma je nastala kot diplomska naloga ˇstudija prve stopnje. Uni- verzalni mobilni robot, prikazan na sliki 3.1, ima ˇstirikolesni diferencialni pogon, dva servomotorja za dvoosno premikanje kamer in je zasnovan modularno. Po meri iz- delano podvozje in konstrukcija kot tudi odprtokodna zasnova omogoˇcajo, da lahko komponente strojne in programske opreme poljubno dodajamo in odvzemamo [15].

3.1.1 Opis robota

Vgrajeni sistem v robotu je Raspberry Pi 3 B (v nadaljevanju RPI), na katerem je nameˇsˇcen operacijski sistem Raspbian Stretch. Ob zagonu sistema oz. robota se zaˇzene glavna aplikacija, ki lokalno ustvari streˇznik. Do nadzorne ploˇsˇce za voˇznjo, prikazane na sliki 3.2, dostopamo v poljubnem spletnem brskalniku z vpisom lokalnega IP-naslova robota. Ena LiPo-baterija s kapaciteto 3700 mAh in napetostjo 7,4 V napaja centralni raˇcunalnik, motorje (DC in servo) in kamere ter zadostuje za do uro in pol aktivnih operacij. V ˇcasu izdelave diplomske zakljuˇcne naloge smo zasnovali le robota in spletni vmesnik za krmiljenje glavnega pogona in pomoˇznih servomotorjev. Zagotovili smo zadostno napajanje za robota in kamere ter konstrukcijsko montaˇzo za dve relativno veliki kameri z objektivoma. Prenos slike in algoritmi za robotski vid v diplomski nalogi niso bili implementirani.

13

(42)

Metodologija raziskave

Slika 3.1: Rezultat diplomske naloge je bil mobilni robot, zasnovan za mobilne aplikacije robotskega vida.

Slika 3.2: Prikaz prvotnega grafiˇcnega vmesnika kot nadzorne ploˇsˇce za operiranje robota iz leta 2017.

14

(43)

Metodologija raziskave

3.2 Nadgradnja mobilnega robota

Mobilni robot je bil v prvi stopnji zasnovan kot univerzalna, modularna enota, ki ji lahko dodajamo poljubne elemente, tako programsko kot strojno. Kljub temu da smo predhodno pripravili tako elektroniko in napajanje kot tudi fiziˇcno montaˇzo, pa robotu manjka namenska aplikacija in zmoˇznost robotskega vida. V tem poglavju so opisane dodelave, ki smo jih izvedli, in sicer po fazah, ki sovpadajo s kronoloˇskim potekom razvoja in zasnove konˇcne aplikacije.

To poglavje se zaˇcne s pregledom strojnih kamer in testom kompatibilnosti pri ˇziˇcnem in brezˇziˇcnem prenosu videoposnetkov. Nadgradnja se nadaljuje v opisu izbrane ka- mere in objektiva s pripadajoˇcimi karakteristikami. Sledi poglavje o podrobno opisani kljuˇcni spremembi v arhitekturi sistema, kjer smo krmiljenje strojno in programsko raz- delili na veˇcnivojski sistem. Poslediˇcno smo razreˇsili problem dodajanja servomotorjev ter izboljˇsali stopnjo robustnosti delovanja robota. Na koncu je opisan razvit sistem za avtomatsko in oddaljeno nastavljanje ostrine ter izboljˇsave na grafiˇcnem vmesniku za upravljanje robota.

3.2.1 Kompatibilnost strojnih kamer

Glavna lastnost takˇsnega robota, ki ga lahko vozimo brezˇziˇcno, je prenos ˇzive slike.

Tako robotu odpremo pot za paleto razliˇcnih avtonomnih operacij, kot so prepoznavanje ljudi in obrazov, sledenje objektom ter kartografija prostora. Pri aplikacijah, kjer pa robot sluˇzi kot orodje (angl. robot-as-tool) za dosego viˇsji ciljev, so kognitivne razseˇznosti ˇcloveka in njegova sposobnost odloˇcanja primarnega pomena. S takˇsnim orodjem delo ˇcloveka, natanˇcneje zdravstvenega delavca, le obogatimo ter mu nudimo podlago za poveˇcanje njegove uˇcinkovitosti pri delu. Zato je pomembno, da ima mobilni robot karseda premiˇsljeno zasnovo pri operiranju. Kot ˇze omenjeno, je glavni faktor sposobnost vida na oddaljeni lokaciji, ˇcetudi operater ni fiziˇcno prisoten.

Za takˇsno delovanje robota smo izvedli pregled treh dostopnih kamer, ki jih sreˇcujemo v razvojnih aplikacijah strojnega vida:

– PointGrey Grasshopper (strojna kamera), – Basler ACE acA1920-40gc (strojna kamera), – Raspberry Pi - Pi Camera v2.0.

Vsako kamero smo preizkusili tako na osebnem raˇcunalniku z uradno programsko opremo kot tudi na raˇcunalniku Raspberry Pi, ki smo ga odklopili od vseh funkcij robota za ˇcim bolj transparentne rezultate in laˇzje razhroˇsˇcevanje. Tudi tukaj smo uporabili uradno programsko opremo, ˇce je le bila na voljo. Uspeˇsnost testa smo vre- dnotili glede na sploˇsno delovanje (podpira, ne podpira) in maksimalno ˇstevilo sliˇcic na ˇcasovno enoto (FPS) pri maksimalni resoluciji, ki jo lahko doseˇzemo pri ˇziˇcni oz.

brezˇziˇcni povezavi. Vrednosti meritev smo odˇcitali znotraj posamezne sovpadajoˇce programske opreme, v primeru RPI-kamere pa smo maksimalno pretoˇcnost in resolu- cijo doloˇcili, ko je delovanje preraslo na s prostim oˇcesom zaznavno latenco. Rezultati testiranja ˇziˇcne povezave so zbrani v tabeli 3.1, rezultati brezˇziˇcnega prenosa slike pa v tabeli 3.2. Prva kamera (PointGrey), ki smo jo predhodno strojno ˇze vgradili 15

(44)

Metodologija raziskave

Preglednica 3.1: Rezultati testiranja kamer z ˇziˇcno povezavo.

Kamera Povezljivost Program PC RPI

PointGrey USB 3.0 FlyCapture SDK

1980x1080, 160 FPS

Ne deluje Basler ACE Ethernet Pylon v 6 1980x1080,

227 FPS

1980x1080, 22 FPS Pi Camera CSI port raspivid

knjiˇznica

Ne deluje 1280x720, 60 FPS

na robota, je razvidna iz slike 3.1. Povezana preko USB na osebni raˇcunalnik z ura- dno programsko opremo deluje zelo dobro in dosega 160 FPS pri FHD (1980x1080) resoluciji, vendar na operacijskem sistemu ARM deluje nestabilno oz. ne deluje (Ta- bela 3.1). Druga kamera, ˇziˇcno povezana z Ethernet kablom in prav tako testirana lokalno na osebnem raˇcunalniku, deluje odliˇcno in doseˇze zadostno resolucijo tudi na RPI-raˇcunalniku. Tretja, uradna kamera Raspberry Pi lokalno dosega visoko resolu- cijo in zelo dobro pretoˇcnost. Test slednje na osebnem raˇcunalniku ni mogoˇc zaradi razliˇcnih arhitektur in nepodprte povezljivosti. Vse tri kamere smo preizkusili tudi preko brezˇziˇcne povezave (WiFi). Za prvi dve kameri smo uporabili programsko opremo VirtualHere (v nadaljevanju VH), ki fiziˇcno USB-povezavo preko streˇznika (v tem pri- meru Raspberry Pi) – odjemalec (PC) modela spremeni v brezˇziˇcno [36]. Kamera PointGrey je preko USB povezana na RPI, na katerem je vzpostavljen VH-streˇznik.

Na osebnem raˇcunalniku je nameˇsˇcen VH-odjemalec, ki kamero PointGrey posredno zazna kot fiziˇcno vstavljeno v enega izmed USB-vhodov osebnega raˇcunalnika in izdela abstrakcijo na nivoju operacijskega sistema. Podoben koncept smo uporabili tudi za kamero Basler, ki se poveˇze z Ethernet prikljuˇckom. Seveda morajo biti na osebnem raˇcunalniku nameˇsˇceni uradni gonilniki in uradna programska oprema. Iz tabele 3.2

Preglednica 3.2: Rezultati testiranja kamer z brezˇziˇcno povezavo

Kamera Povezljivost Program Rezultati PointGrey USB-Over-

WiFi

FlyCapture SDK

426Ö240, 7 FPS

Basler ACE Ethernet-Over- WiFi

Pylon v6 426Ö240, 1 FPS

Pi Camera WiFi raspivid

knjiˇznica

1280x720, 30 FPS

vidimo, da dobimo izjemno nizke resolucije in v primeru kamere Basler samo eno sliˇcico na sekundo. Kljub enostavnosti je takˇsna reˇsitev poˇsiljanja sliˇcic preko spleta praktiˇcno neuporabna. Kamera Raspberry Pi pa po drugi strani doseˇze (samo) brezˇziˇcno, preko WiFi, enakovredne rezultate kot pri ˇziˇcni povezavi. Uporabili smo uradne knjiˇznice in module, ki pa so predstavljeni v poglavju 3.2.1.2. Jasno je, da zahtevne strojne ka- mere niso kompatibilne z RPI-raˇcunalnikom, zato je logiˇcen sklep uporaba z vgradnim sistemom robota kompatibilne opreme.

16

(45)

Metodologija raziskave 3.2.1.1 Predelava kamere Raspberry Pi

V primerjavi z ostalimi strojnimi kamerami ima kamera Pi v2.0 nekaj pomanjkljivosti.

Kljub majhni velikost in dobri podpori s knjiˇznicami in moduli ima bistveno manjˇsi toˇckovni senzor in poslediˇcno slabˇso resolucijo. Vgrajena leˇca s fiksno goriˇsˇcnico 3 mm ima sicer ˇsiroko vidno polje, vendar v primerjavi z omenjenima strojnima ka- merama v poglavju 3.2.1 omejuje uporabnika na samo doloˇceno vrsto aplikacij. ˇCe ˇzelimo vsestranskost pri uporabi, potrebujemo razliˇcne objektive. Uradno kamero smo razstavili, odstranili tovarniˇsko leˇco, s ˇcimer smo dobili golo leˇco. S programsko CAD- opremo in 3D-tiskalnikom smo razvili montaˇzni adapter (Slika 3.3), ki sprejme vse C/CS objektive. Kljub dobri zaˇcasni reˇsitvi pa je goriˇsˇcna razdalja zaradi vmesnega obroˇca vpraˇsljiva, zaradi daljˇse razdalje med senzorjem in leˇco objektiva pa je poveˇcava bistveno veˇcja kakor pri tovarniˇski kameri.

Slika 3.3: Predelana kamera Pi s po meri narejenim vmesnikom za objektive.

3.2.1.2 Knjiˇznica raspivid

Raˇcunalnik RPI je znan po tem, da ima poleg centralne procesne enote tudi grafiˇcno procesno enoto znotraj Broadcom ˇcipa. Delovni pomnilnik (RAM), ki je na voljo, je poloviˇcno razdeljen in deljen med njima. Uporabnik do slikovnih podatkov dostopa posredno, in sicer s pomoˇcjo orodja Raspivid. Ko uporabnik izvrˇsi omenjeni ukaz, ustvari ta preko API-vmesnika MMAL (angl. multimedia abstraction layer) abstrak- cijo ˇcez OpenMax okolje in poenostavi posredno komunikacijo ter prenos slikovnih po- datkov. Okolje OpenMax je vmesnik, napisan v programskem jeziku C, ki preko treh nivojev (angl. application, integration, development) komunicira in upravlja s strojno opremo – kamero [37]. Abstrakcija pomeni, da viˇsjemu nivoju (ali je to uporabnik ali uporabniˇski vmesnik) ni potrebno skrbeti za niˇzje nivojsko delovanje sistema oz.

podsistema. Enostavnejˇsi primer za razumevanje: Katerikoli operacijski sistem (OS) osebnih raˇcunalnikov, ki po hierarhiˇcni topoloˇski lestvici bdi nad strojno opremo (npr.

omreˇzne kartice za komunikacijo, ekran in periferija itd.), ustvarja abstrakcijo sistema.

17

(46)

Metodologija raziskave

Tako konˇcnemu uporabniku ni potrebno skrbeti, kako bo programsko in s strojno kodo realiziral poˇsiljanje sporoˇcil preko spleta. To zanj namreˇc poenostavi operacijski sistem.

Ukazraspivid je funkcija ukazne vrstice v terminalu, ki preprosto, z eno besedo omogoˇca dostop do RPI-kamere. Omogoˇca snemanje videoposnetkov in zajemanje slik z nabo- rom razliˇcnih parametrov [38]. Brezˇziˇcni prenos slike iz RPI-raˇcunalnika na oddaljen osebni raˇcunalnik, ki smo ga za preverjanje kompatibilnosti kamer uporabili v poglavju 3.2.1, izvedemo na sledeˇci naˇcin:

raspivid -t 0 -n -w 640 -h 480 - fps 60 -b 20000000 -ih -pf baseline -o udp://”ip- naslov”:”port”

Argumenti, ki jim sledi ˇstevilska vrednost s presledki:

– t ˇcasovno izvajanje ukaza (vrednost 0 predstavlja neskonˇcno), – n brez okna s predogledom,

– w ˇsirina sliˇcice, – h viˇsina sliˇcice,

– fps ˇstevilo sliˇcic na sekundo,

– b ˇstevilo bitov na sekundo (20MBits/s),

– ih vkljuˇcimo PPS in SPS v glavi poslanih bitov,

– pf specificiramo, kateri H264 profil za kodiranje ˇzelimo,

– o tukaj doloˇcimo, da je izhod iz ukaza UDP na ˇzelenip-naslov oddaljene naprave inport. ˇCe ˇzelimo raje uporabiti TCP, zgolj zamenjamo kljuˇcni besedi.

Kar dokumentacija [38] ne omenja, so argumenti ukazne vrstice, ki na zelo preprost naˇcin uredijo pretoˇcnost slik preko spleta (zadnja alineja zgornjega naˇstevanja). Na oddaljenem PC-ju lahko sliko sprejemamo zelo preprosto in na veˇc naˇcinov. Ugotovili smo, da lahko poleg poˇsiljanja slik v namenske programe, kot so VLC, pretok pre- beremo tudi v razvojnih okoljih, kot so OpenCV ali Matlab. Veˇcino programiranja smo na koncu zaradi podprtosti s knjiˇznicami naredili v jeziku Python, ki podpira tudi knjiˇznice za raˇcunalniˇski vid. Da sliko preberemo na PC-ju, v poljubnem programskem okolju (IDE), uporabimo sledeˇci ukaz:

feed = cv.VideoCapture(’udp://0.0.0.0:”port”’)

Uporabili smo Python v3.7 32-bit, OpenCV v4.0.0. knjiˇznico in nekaj osnovnih modu- lov, ki so vkljuˇceni v glavni distribuciji Python (numpy, scipy, itd.). Vsaka nadaljnja sliˇcica se tako shrani v spremenljivko feed, ki jo poljubno obdelamo. Pomembno je, da na obeh straneh prenosa sliˇcic navedemo ujemajoˇca vrata (angl. port), za IP-naslov pa lahko navedemo privzet in generalen naslov, ki omogoˇca, da sliˇcice sprejemamo od kateregakoli poˇsiljatelja na vratih 3333.

Kljub temu da smo osnovno RPI-kamero verzije 2 uspeli predelati do te mere, da lahko nanjo namestimo poljuben objektiv in da kamera premore sprejemljivo loˇcljivost ter hitrost zajemanja, smo se odloˇcili, da kamero zamenjamo. Alternativa in razlogi za menjavo so predstavljeni v poglavju 3.2.2.

18

(47)

Metodologija raziskave

3.2.2 Visokoresolucijska kamera

Leta 2020 so inˇzenirji pri podjetju Raspberry Pi na trgu predstavili novo generacijo odprtokodne kamere z visoko loˇcljivostjo – Raspberry Pi HQ Camera. Zadnja kamera v generaciji ponuja 12 milijonov slikovnih toˇck (MP) in uporablja senzor Sony IMX477 z diagonalo 7,9 mm, na katerem so slikovne toˇcke v velikosti 1,55 mikrometrov. Ima obroˇcek za precizno korigiranje goriˇsˇcne razdalje od senzorja do leˇce ter sprejme vse obstojeˇce objektive C in CS. Kamera, predstavljena na sliki 3.4, ima vgrajen IR-filter in colsko slepo navojno izvrtino, primerno za vse standardne stative. Kljub dobrim karakteristikam ostaja cena nizka, zato je bila kamera v kombinaciji z zmogljivim RPI- raˇcunalnikom za nas prva izbira za aplikacijo robotskega vida [39].

Slika 3.4: Visokoresolucijska kamera Raspberry Pi – HQ Pi kamera [39].

3.2.3 Objektiv

Zaradi majhnih gabaritov robota, relativno na sedeˇco ali stojeˇco osebo, ki ji merimo utrip, potrebujemo tako kakor v mobilni robotski aplikaciji z metodo rPPG objektiv, ki lahko detajle oddaljenega interesnega obmoˇcja zajame v dobri kvaliteti oz. resoluciji.

Uporabili smo teleobjektiv z goriˇsˇcnico 16 mm podjetja CGL Electronics, katerega karakteristike so predstavljene v tabeli 3.3. Objektiv ima 10 milijonov slikovnih toˇck in roˇcno nastavljivo zaslonko v razponu od 1/4 do 16. Na kamero se pritrdi z vmesnim ˇclenom, ki omogoˇca roˇcno nastavljanje goriˇsˇcne ravnine. Objektiv odlikuje tudi majhna teˇza ter majhne dimenzije, zaradi ˇcesar je primeren za montaˇzo na robota.

3.2.4 Adaptacija arhitekture sistema

V diplomski nalogi [15] smo zasnovali dvoosni sistem pozicioniranja kamere preko dveh servomotorjev. S premikanjem drsnikov v grafiˇcnem vmesniku lahko nastavljamo na- gib in zasuk kamere (angl. pan, tilt) ter s tem natanˇcneje usmerimo os objektiva v 19

(48)

Metodologija raziskave

Slika 3.5: 3D-model Pi-kamere in 16 mm objektiva.

Preglednica 3.3: Karakteristike 16 mm teleobjektiva

Parameter Vrednost

Goriˇsˇcna razdalja 16 mm

Zaslonka F1,4 – F16

Montaˇza C-objektiv

FOV 44,6 x 33,6 °

Min. oddaljenost do objekta 20 cm

Dimenzije ⊘39 x 50 mm

ˇ

zeleno interesno obmoˇcje. Krmiljenje tega sistema je bilo reˇseno na karseda enostaven naˇcin, brez dodatnega namenskega krmilnika. Uporabili smo programsko knjiˇznico, ki se imenuje ServoBlaster. Preko funkcijskih ukazov v terminalu RPI-raˇcunalnika poˇsiljamo pulzno-ˇsirinsko moduliran signal (PWM), ki je simuliran programsko brez dodatnih komponent. ˇCetudi je ta naˇcin preprost in deluje, krmiljenje obeh servomo- torjev ni bilo zanesljivo in natanˇcno. Celoten sistem krmiljenja in komunikacije smo spremenili in nadgradili. Spremenjena shema krmilnih signalov in koncept krmiljenja sta predstavljena v naslednjih podpoglavjih.

3.2.4.1 Krmilnik servomotorjev

Gonilna sila za loˇcitev krmiljenja servomotorjev in raˇcunalnika za viˇsjenivojske opera- cije, kot so vzpostavitev streˇznika, poˇsiljanje ukazov za voˇznjo, komuniciranje s kamero ter izvajanje algoritma za detekcijo frekvence srca, je bila potreba po namenski kontroli in sprostitvi procesne moˇci glavnega raˇcunalnika. Posebej loˇceno vezje (angl. slave), ki preko oscilatorja strojno generira PWM-signal in lahko z vidika elektriˇcne obremenitve varno poganja veˇcje ˇstevilo motorjev, komunicira z glavnim raˇcunalnikom (angl. ma- ster) preko I2C-komunikacije. Ta omogoˇca delovanje sistema v veˇcopravilnem naˇcinu, kar pomeni, da procesi izvajanja ne potrebujejo kontinuiranega poˇsiljanja signalov, ki bi ˇcip v celoti okupirali, temveˇc samo posamezne signale proˇzenja. Mikrokrmilnik nato 20

(49)

Metodologija raziskave na podlagi teh signalov sam razporeja z opravili (angl. scheduler) in razporeditvijo raˇcunalniˇskih kapacitet.

Izbrali smo izjemno majhen Adafruit PCA9685 16-kanalni PWM-krmilnik (Slika 3.6), ki podpira I2C-komunikacijo in lahko preko zgolj dveh vhodnih pinov krmili do 992 PWM izhodov oz. servomotorjev. PWM-signali so nastavljivi in imajo maksimalno frekvenco 1,6 kHZ ter 12-bitno resolucijo izhodnega signala. Ker se tovrstni krmilnik napaja preko vhodne napetosti 5 V, je primeren za vse standardne mobilne aplika- cije. Kljub temu pa ima moˇznost loˇcenega vhoda za napajanje moˇcnostnih komponent (motorjev), ki zahtevajo veˇcje napetosti do 12 V, z vkljuˇceno zaˇsˇcito proti obratni po- lariteti. Z ˇze vgrajenimi upori na izhodih je tudi napajanje in utripanje LED-svetil zelo preprosto [40].

Preglednica 3.4: Zbrane karakteristike krmilnika Adafruit PCA9685 [40].

Parameter Vrednost

Cipˇ PCA9685

ˇSt. kanalov 16

Komunikacija I2C (SDA, SCL)

Resolucija 12-bit

Napajanje ˇcipa 5 V

Napajanje motorjev 5–12 V Dimenzije 62,5 x 25,4 x 3 mm

Teˇza 9 gramov

Slika 3.6: Krmilnik Adafruit PCA9685 za krmiljenje servomotorjev [40].

Za montaˇzo krmilnika Adafruit smo po meri izdelali adapter, v katerega se zaskoˇci omenjeno tiskano vezje. Plastiˇcna ploˇsˇcica ˇsˇciti spodnje kontakte in krmilnik fiksira med voˇznjo. Izdelek je prikazan na sliki 3.7.

21

(50)

Metodologija raziskave

Slika 3.7: Vmesna ploˇsˇcica med vezjem in podvozjem, ki sluˇzi kot ohiˇsje krmilnika.

3.2.4.2 Komunikacijski nivoji

Zaradi spremembe arhitekture, natanˇcneje izbire dodatnega mikrokrmilnika, predsta- vljenega v poglavju 3.2.4.1, smo v verigo vkljuˇcili ˇse dodaten mikrokrmilnik Arduino Nano (Tabela 3.4), ki deluje kot vmesni ˇclen med RPI-raˇcunalnikom in krmilnikom Adafruit. Loˇcitev sistema na tri dele po principu asimetriˇcnega master-slave modela je smotrna, ko ˇzelimo poenostaviti komunikacijo in glavne kritiˇcne operacije robota loˇciti od moˇcnostnega dela, pri ˇcemer pa lahko nastanejo problemi pri zakasnitvah poˇsiljanja ukazov po verigi navzdol.

Raˇcunalnik RPI je preko USB 2.0 na mini-B USB-kabla povezan s mikrokrmilnikom Arduino. Na krmilniku je naloˇzena programska koda, ki sprejema ukaze iz RPI- raˇcunalnika, poslane iz grafiˇcnega vmesnika. Vzpostavljena je preprosta serijska ko- munikacija, ki preko serijskih vrat poˇsilja sekvenˇcne bite, enega za drugim. Preko abstrakcije strojne kode za serijsko komunikacijo in knjiˇznice Python Serial na RPI doloˇcimo USB-izhod /dev/ttyUSB in hitrost komunikacije (Baud rate) s sledeˇco vr- stico:

ser = serial.Serial(’/dev/ttyUSB0’, 9600, timeout=1)

Koncept poˇsiljanja deluje tako, da na izhodna vrata RPI-raˇcunalnika zapiˇsemo simbol in kot zasuka, ki ga Arduino prebere in interpretira. ˇCe ˇzelimo denimo servomotor zasuka zavrteti za 90 stopinj, poˇsljemo iz grafiˇcnega vmesnika sledeˇci ukaz, kjer P predstavlja zasuk (angl. Pan), T nagib (angl. tilt) in F servomotor fokus sistema, predstavljenega v poglavju 3.2.6. Spremenljivka zraven vkljuˇcuje tudi celo ˇstevilo po- ljubnega kota zasuka od 0 do 180 stopinj. Ukaz za nagib kamere za 90 stopinj je:

ser.write(”P90”)

Na strani odjemalca pa kombinacijo znakov, poslanih z ujemajoˇco hitrostjo komuni- kacije, preberemo in razˇclenimo na dva podatkovna tipa: char in int. Glede na znak preverimo, kateri servomotor ˇzelimo premikati, ˇstevilˇcna vrednost pa neposredno na- slavlja kot zasuka:

22

(51)

Metodologija raziskave i f ( S e r i a l . a v a i l a b l e ( ) ) {

znak = S e r i a l . r e a d ( ) ; i f ( znak == ’P ’ ) {

k o t = S e r i a l . p a r s e I n t ( ) ;

pwm. setPWM( pservonum , 0 , k o t ) ; }

}

Na mikrokrmilniku Arduino smo uporabili dve knjiˇznici za operiranje servomotorjev, ki sta napisani v programskem jeziku C. Prva se imenuje AdafruitPWMServoDriver in je uradna knjiˇznica servokrmilnika Adafruit. Druga pa je VarSpeedServo, ki smo jo uporabili za sistem avtomatskega ostrenja kamere. Druga se od prve razlikuje po tem, da za krmiljenje servomotorjev uporablja sistemske prekinitve, motorje pa kr- mili soˇcasno in asinhrono z opcijo poljubne hitrosti obraˇcanja vsakega posameznega motorja. Knjiˇznica je dosegljiva v [41].

3.2.5 Shematiˇ cen prikaz delovanja sistema

Za laˇzjo predstavo je na sliki 3.8 prikazana glavna blokovna shema skupnega sistema.

Njen podsklop, oznaˇcen z modro barvo, pa je podrobneje razˇclenjen na sliki 3.9.

Raspberry Pi

Arduino Nano Adafruit PCA9685

Servomotorji (Pan, Tilt, Fokus)

PWM USB ("P90")

+5V

Pretvornik

+7,4V

+5V

GND GND

Uporabniški vmesnik

Pozicioniranje kamere +7,4V

+7,4V

MASTER

SLAVE

Slika 3.8: Blokovna shema, ki prikazuje arhitekturo glavnega sistema Raspberry Pi – Arduino.

Arduino in krmilnik servomotorjev Adafruit se napajata z napetostjo 5 V neposredno iz fiziˇcnega USB-prikljuˇcka, ki izhaja iz RPI-raˇcunalnika, pri ˇcemer pazimo na skupno ozemljitev. Ko Arduino iz RPI prejme enega izmed izkljuˇcno treh znakov, ga ustrezno interpretira in na ustrezen digitalni izhod poˇslje signal za zaˇcetek rotacije. Krmilnik Adafruit ustvari ˇsirinsko moduliran pulz ter aktivira motorje. Celoten sistem se napaja preko 3700 mAh baterije z nazivno napetostjo 7,4 V. Preko posebnega pretvornika se napetost za napajanje RPI-raˇcunalnika najprej regulira na 5 V. Servomotorji pa se napajajo neposredno iz baterije, zato je bilo pomembno, da izberemo servomotorje, ki podpirajo nazivno vrednost napetosti baterije.

23

(52)

Metodologija raziskave

Arduino Nano PWM

PWM

PWM Adafruit PCA9685

GND

GND +5V

Servo 2 (TILT)

Servo 3 (Fokus) Servo 1 (PAN)

+7,4V

SDA SCL +5V

+7,4V

Slika 3.9: Blokovna shema, ki podrobno prikazuje sistem krmiljenja servomotorjev.

3.2.6 Sistem za nastavljanje ostrine

Majhne kamere in ujemajoˇci objektivi na podroˇcju strojnega in robotskega vida so obiˇcajno brez avtomatskih funkcij za nastavljanje ostrine in spreminjanje odprtine za- slonke, saj so zaradi ponovljivosti v primeru aplikacij zagotavljanja kakovosti kamere vedno na istem mestu, osvetlitve pa jasno definirane. Ostrina se na obiˇcajnih strojnih kamerah nastavlja roˇcno in fiksno.

V naˇsem primeru pa se, bodisi zaradi voˇznje robota bodisi zaradi premikanja sistema pozicioniranja, usmeritev kamere nenehno spreminja. Poslediˇcno se goriˇsˇcna ravnina neprestano oddaljuje in pribliˇzuje, kar diktira sprotno korekcijo ostrine. Enostavno in intuitivno upravljanje robota na daljavo mora vkljuˇcevati ne samo voˇznjo in dvoosno premikanje kamere preko sistema za pozicioniranje, temveˇc je potrebno zagotoviti tudi oddaljen dostop do funkcij objektiva.

Za potrebe celovite robotske aplikacije smo razvili krmiljen sistem za avtomatsko na- stavljanje ostrine preko grafiˇcnega vmesnika. Pri razvoju smo se opirali na CAD- programsko opremo Creo 3.0 in tehnologijo 3D-tiska. Z dodelavo arhitekture, ki je predstavljena v poglavju 3.2.4, kjer smo v elektroshemo dodali krmilnik servomotorjev in mikrokrmilnik Arduino, smo poveˇcali univerzalnost sistema. Prikljuˇcitev dodatnega servomotorja tako ni bila ovira.

V nadaljevanju so opisane metode in postopek preraˇcuna zobniˇskega para kot izhodiˇsˇce za razvoj montaˇznih elementov in zobnika samega. Vse komponente so iz materiala PLA.

3.2.6.1 Nosilec kamere

V poglavju 3.2.2 smo se zaradi nizke cene, izvrstnih karakteristik in podpore s strani RPI-raˇcunalnika odloˇcili, da za vid mobilnega robota uporabimo kamero HQ Pi. Ker je celotna ponudba podjetja RPI z izjemo procesorskih ˇcipov odprtokodna, je na voljo tako tehniˇcna dokumentacija tiskane ploˇsˇce kamere kot tudi objektiva. Na podlagi teh informacij smo izdelali nosilec, ki se enoliˇcno prikljuˇci na PT-sistem, ki smo ga ˇze opisali v delu Pisar et al. [15].

24

Reference

POVEZANI DOKUMENTI

Kljub temu, da MoSync podpira razvoj za veliko razliˇ cnih mobilnih platform, pa lahko aplikacije, ki teˇ cejo v izvornem oknu brskalnika naprave izdelujemo le za Android, iOS

S po- vezavo meritev in bolniku doloˇ cenih podatkov bi imeli tudi moˇ znost skrajˇsati in poenostaviti pregled za spremljanje kroniˇ cnega srˇ cnega popuˇsˇ canja; drugo

Zaradi mnoˇ zice razliˇ cnih virov dogodkov je pred oddajo dogodka potrebno zagotoviti transformacijo podatkov v naprej doloˇ ceno, standardizirano

V bliˇ znji okolici referenˇ cnih toˇ ck sem ˇ zelel natanˇ cno doloˇ citi mejni toˇ cki srca, kar mi je uspelo z uporabo lastnega operatorja za zaznavanje robov. Nato sem z

Zaradi moˇ znosti uporabe veˇ c razliˇ cnih domen uˇ cnih podatkov in s tem tudi razliˇ cnega ˇstevila argu- mentov, ki se uporabljajo pri prikazu, je sistem narejen tako, da se

Branje binarnih slik je seveda mogoˇ ce, vendar je zaradi velikega ˇstevila razliˇ cnih formatov teˇ zko podpreti vse, zato bralnik slik prebere slike v formatu base64, iz

Ker lahko ekipa agentov pobere le celo ˇstevilo enot hrane, se vpliv doloˇcene lastnosti (sploh, ˇce je ta manjˇsi) ne bo pokazal v vsakem primeru, v nekaterih primerih pa bo

Pri razliˇ cnih konfiguracijah skladiˇsˇ cnega sistema so prikazani le rezultati za razliˇ cne naˇ cine premikanja dvigala, ne pa tudi rezultati za razliˇ cne naˇ cine izrabe