Laboratorij za robotiko in biomedicinsko tehniko

Transcription

Laboratorij za robotiko in biomedicinsko tehniko
Univerza v Ljubljani
Fakulteta za elektrotehniko
ROBOTSKI MEHANIZMI in HAPTIČNI ROBOTI
SEMINAR IZ ROBOTIKE IN MERJENJ
Ljubljana, januar 2014
Študenti FE
Grega Eržen
Beti Fajdiga
Primož Flander
Primož Glavač
Rok Goljat
Nejc Krajnik
Katja Pretnar
Mentorji
Robotski menahizmi
Haptični roboti
Denis Forte, IJS
Luka Ambrožič, FE
Matjaž Mihelj, FE
Tadej Petrič, IJS
Janez Podobnik, FE
Grega Logar, FE
Jan Babič, IJS
Seminar iz robotike in merjenj
Matej Žontar, SIQ
Urban Pompe, LPKF d.o.o.
Franci Klun, Kolektor Group
Matjaž Preložnik, Etra d.o.o.
Igor Pušnik, FE
Miran Rudman, Krka d.d.
Erih Arko, YASKAWA
SLOVENIJA d.o.o.
Jure Pucelj, YASKAWA
SLOVENIJA d.o.o.
Predavatelji
Marko Munih
Jadran Lenarčič
Janko Drnovšek
Matjaž Mihelj
UVOD
V pričujoči brošuri so zbrani povzetki štirinajstih študentskih raziskovalnih nalog.
Polovica nalog je bila opravljena v okviru praktičnih vaj pri predmetih Robotski
mehanizmi in Haptični roboti, druga polovica nalog pa pri Seminarju robotika in
merjenja.
Tehniški študijski programi na evropskih univerzah so pogosto veliko bolj
usmerjeni v praktično samostojno delo študentov, kot to velja za naše programe.
V Laboratoriju za robotiko in v Laboratoriju za metrologijo in kakovost se po
najboljših močeh trudimo, da bi takšen način poučevanja vpeljali tudi za naše
študente. Tako se naši študentje s projektnim delom srečajo že v prvem letniku
podiplomskega študija, pri čemer jih čim bolj poskušamo uvesti v samostojno delo.
Zaradi specifičnih zahtev za robotske mehanizme večina projektov poteka v
Laboratoriju za robotiko na Fakulteti za elektrotehniko v sodelovanju
Raziskovalnim odsekom za avtomatiko, biokibernetiko in robotiko na Institutu
Jožef Stefan.
Da bi zagotovili dovolj zanimivih aplikativnih projektov, pa smo se v sodelujočih
laboratorijih odločili, da se za izvedbo projektnih nalog pri Seminarju iz robotike in
merjenj povežemo z zunanjimi sodelavci. Nastala je mreža visoko tehnoloških
inštitucij, predvsem podjetij, na katerih študentje opravljajo praktične vaje.
Študenti si na ta način lahko prosto izberejo smer robotike oziroma merjenj, ki jih
najbolj zanima – bodisi predvsem raziskovalno usmerjeno ali pa bolj aplikativno.
Vzpostavijo pa tudi prve stike z morebitnimi kasnejšimi delodajalci, ki študente
spoznajo še pred zaključkom študija.
Na tem mestu se želimo še posebej zahvaliti vsem mentorjem za skrbno vodenje
svojih varovancev.
Matjaž Mihelj, Marko Munih, Janko Drnovšek in Jadran Lenarčič
ROBOTSKI MEHANIZMI in HAPTIČNI ROBOTI
Uporaba Gaussove regresije pri učenju robotov
Grega Eržen, Denis Forte
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
2
Institut »Jožef Stefan3«, Jamova 39, 1000 Ljubljana
Odsek za avtomatiko, biokibernetiko in robotiko
E-pošta: [email protected]
Using Gaussian process for robot learning
Robot can face a vast number of different types of tasks
or situations on which the proper response is expected.
Intelligent robots cannot be programmed in advance for
all possible situations, but they should be able to
generalize the response based on acquired knowledge.
Robot must be able, through the statistic methods on the
acquired data, generating useful responses in situations
for which the robot has not been specifically instructed
how to response.
The paper describes using Gaussian process
regression as a statistic method for robot learning. The
method creates the model and estimates the parameters
of generalization of the acquired motor knowledge. The
goal is to grab a ball in random position. New action is
generalized by applying Gaussian process regression
and the goal of movement, which is provided with robot
3D stereo vision. If the ball position is out of reach, the
robot generates proper walk structure and approach the
ball in such manner that the ball is in the reaching
position.
1 Uvod
Naša naloga je bila programirati humanoidnega robota
HOAP-3 (slika 1), da s pomočjo Gaussove regresije
posplošuje gibanje desne roke od začetne do katerokoli
končne točke v njegovem delovnem območju[1].
izhod. Za našo nalogo smo za statistično obdelavo
uporabili Gaussovo regresijo[2].
Učno množico naučenih podatkov je predstavljalo
140 trajektoriji s
ciljnimi točkami enakomerno
porazdeljenimi po celotnem delovnem območju
robotove desne roke v oddaljenosti približno 5 cm.
Trajektorije so bile ustvarjene s fizičnim pomikom roke
robota in merjenjem kotov štirih sklepov na roki. S
posploševanjem robot izvede gib desne roki, ki ga
predhodno nismo naučili, z enako obliko trajektorije,
kot jo imajo naučeni gibi.
V primeru, da je predmet izven dosega desne roke
robota, se robot do predmeta sprehodi. Robot izračuna
oddaljenost predmeta s pomočjo stereo vida in sestavi
hojo iz vnaprej pripravljenih trajektorij za posamezne
dele hoje tako, da se približa predmetu.
2 Gaussov regresijski proces
Gaussovi procesi so primer verjetnostnega modeliranja
z verjetnostnim napovedovanjem izhodov. Modeli na
osnovi Gaussovih procesov imajo zanimivo in za
vodenje uporabno lastnost, da model poleg vrednosti
izhoda napoveduje tudi zaupanje v to vrednost[2].
Če izberemo nekaj poljubnih vhodov in jim
definiramo izhode (slika 2), bo Gaussova regresija
posplošila te podatke, ustvarila funkcijo med njimi in
ocenila varianco te funkcije. Največja varianca je v
območjih z manj testnimi točkami in tam, kjer so testne
točke bolj oddaljene od aproksimacije (slika 2).
Slika 1. Humanoidni robot HOAP-3
Strojno(robotsko) učenje je področje umetne
inteligence, ki za učenje uporablja statistične metode, ki
na podlagi učne možice podatkov zgradijo nek globalen
model funkcije, ki preslika vhodne podatke v nek želeni
Slika 2. Primer delovanja Gaussove regresije v
dvodimenzionalnem prostoru
Do posplošitve pridemo preko naslednjega postopka.
Preko enačbe (1) izračunamo korelacijsko matriko,

D
1
2 
K ij = σ 2f ∑d =1 exp − 2 (xi − x j )  + σ n2δ ij (1)
 2l d

za izračun katere potrebujemo še parametre (σ, δ, l), ki
pa jih dobimo iz učne množice. Ko imamo izračunano
kovariančno matriko K(X,X) lahko izračunamo
predikcijo izhoda pri novi vhodni točki X*(2).
[
Y ( X *) = K ( X *, X ) K ( X , X ) + σ n2 I
]
−1
y
(2)
trajektorijo(enačbi (3) in (4)), glede na novo ciljno
točko. Ko te parametre podamo nelinearnemu
dinamičnemu sistemu, ga integriramo z Eulerjevo
integracijo in izhod uporabimo za vodenje. Kot izhod
dobimo časovni vektor in vektor vrednosti v
posameznem sklepu v določenem časovnem trenutku.
Robot premakne roko po želeni trajektoriji in ko pride v
stik s premetom ga zgrabi. Sedaj smo želeli, da roko
skupaj s predmetom vrne v začetni položaj prijemanja.
V ta namen smo zgradili trajektorijo povratnega giba, ki
je enaka trajektoriji seganja, vendar je vrstni red
pošiljanja vrednosti sklepov robotu ravno obrnjen.
3 Zapis trajektorij
5 Hoja
DMP (Dynamic Movement Primitive) je metoda za
predstavitev gibanj, ki temelji na nelinearnem
dinamičnem
sistemu[3].
Ena
najpomembnejših
prednosti DMP-jev je ta, da niso direktno odvisni od
časa.
Robot oceni razdaljo do predmeta z stereo vidom, nato
pa z vnaprej od proizvajalca podanimi trajektorijami za
začetni korak, vmesni korak, končni korak, obrat v levo
in obrat v desno, sestavi in izvrši tako hojo, da se
približa predmetu tako, da je predmet v delovnem
območju njegove desne roke. Robot uporablja
nedinamično stabilno hojo, kar pomeni, da je robot
stabilen in ostaja v ravnotežju tudi med korakom. Robot
v funkciji iskanja, stoji drugače kot v funkciji hoje, zato
je bilo potrebno, v izogib sunkovitih gibov,
sprogramirati funkcijo prehoda, kar poskrbi za gladek
prehod med stanji
τ z = α z (β z ( g − y ) − z ) + f ( x)
.
.
τ y=z
(3)
(4)
Za zapis trajektorije tako uporabimo sistem enačb (3) in
(4), ki ga lahko uporabimo za aproksimacijo diskretnih
gibov različnih oblik[4].
Preden zajete podatke trajektorij podamo Gaussovi
regresiji, jih moramo malce preoblikovati. Shranjene
trajektorije smo tako zakodirali z nelinearnimi
dinamičnimi sistemi (DMP-ji) in jih aproksimirali s 25
primerno uteženimi radialnimi baznimi funkcijami.
Število uteži je bilo eksperimentalno določeno, glede na
kompleksnost in dolžino učnih trajektorij.
6 Zaključek
V članku je predstavljeno, kako smo implementirali
avtomatsko generiranje primerne trajektorije glede na
poljuben položaj predmeta v prostoru. Seveda mora biti
zraven tudi prisoten sistem, s katerim robot pridobi
pozicijo predmeta, se predmetu približa, ga zgrabi in
vrne roko v začetni položaj.
4 Posploševanje z Gaussovo regresijo
Literatura
Dobljeno polje uteži se uporabi pri v Gaussovi regresiji
pri izračunu uteži za trajektorije, ki sežejo v katerokoli
točko v delovnem območju desne roke robota, pri čemer
uteži določajo obliko trenutne trajektorije, le ta pa ima
podobno obliko kot predhodno naučene trajektorije.
Gaussova regresija prav tako posploši funkcijo, ki
preslika končne vrednosti trajektorij v zunanjih
koordinatah, ocenjene s strojnim vidom, v polje končnih
vrednosti roke robota v notranjih koordinatah. Prav tako
ji podamo tudi polje časovnih trajanj posameznih učnih
gibov in tako se lahko za vse vmesne trajektorije s
posploševanjem določi
ustrezen
čas
izvedbe
posameznega giba.
Ko robot, s pomočjo strojnega vida, oceni pozicijo
predmeta v zunanjih koordinatah, Gaussova regresija na
podlagi posploševanja izračuna končno pozicijo
robotske dlani v notranjih koordinatah, 25 uteži za
želeni gib seganja in primeren čas trajanja tega giba. To
so tako imenovani DMP parametri, ki opisujejo želeno
[1] D. Forte, A. Ude, A. Kos, »Robot Learning by Gaussian
Process Regression”, Proceedings of the 2010 IEEE 19th
International Workshop on Robotics in Alpe-AdriaDanube Region, Hungary, str. 303-308, 2010
[2] C.E. Rasmussen, C. Williams, »Gaussian Process for
Machine Learning«, Cambridge, MA: MIT Press, 2006
[3] S. Schaal, P. Mohajerianm, A. Ijspeert, »Dynamics
system vs. optimal control – a unifying view«, Progress
in Brain Research, vol. 165. 6, str. 425-445, 2007
[4] A. Gams, A. Ude, »Generalization of Example
Movements with Dynamic Systems«, 9th IEEE-RAS
International Conference on Humanoid Robots, 2009
Merilni sistemi za preučevanje biomehanskih parametrov in
podpornega lika človeka pri vstajanju in hoji
Beti Fajdiga1, Luka Ambrožič1
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
E-pošta: [email protected]
Measuring systems for the study of
biomechanical parameters and supporting
polygon of man when getting up and
walking
Study includes the monitoring of the stability of man
during walking with observing of the point Center of
Pressure and supporting polygon during phase of single
support using famous algorithm, which states that point
COP must remain within the boundaries of support
polygon. If so, one is stable, otherwise one will fall. The
experiment also includes moderation of the point COP
with known Center of Mass of mobile platform KUKA
youBot.
1 Uvod
Spremljanje parametrov podpore je pomembno pri
humanoidih in eksoskeletnih robotih. Naloga
eksperimenta je bila merjenje točke COP (»Center of
Pressure« - središče pritiska), podpornega lika človeka
in s tem povezano stopnjo stabilnosti. Podporni lik
človeka je bil merjen s pomočjo podpornega poligona,
točka pritiska pa s pomočjo štirih senzorjev sile (2
senzorja robotskega zapestja in 2 pritiskovni plošči).
Z raziskovanjem stabilnosti so znanstveniki začeli že
zelo zgodaj, ne le za humanoidne robote, ampak za
kakršnokoli vrsto mobilnih sistemov (vozila na kolesih,
štirinožne robote,…). Za določitev parametra stabilnosti
pa se je tekom raziskav razvilo več različnih metod:
točka FRI (»Foot-rotation indicator« - kazalec rotacije
stopala) [1], za dinamične razmere prirejen kriterij za
točko COM (»Center of Mass« - težišče) imenovana
XcoM (ekstrapoliran položaj težišča mase) [2], metoda
NDESM (numerična dinamična stopnja energijske
stabilnosti) – upoštevamo tudi dinamične efekte [3],
točki COM in COP, točka ZMP (»zero-moment point« točka ničtega momenta) [4], itd.
2 Naloga in izvedba
Glavna naloga je bila sledenje podpornemu liku človeka
in točki središča pritiska (COP) med hojo. S pomočjo
teh dveh biomehanskih parametrov lahko določimo
stabilnost človeškega mehanizma. Dokler se točka COP
nahaja znotraj podpornega lika je človek stabilen, ko je
točka na črti podpornega lika pa je človek na meji
stabilnosti.
Pri izvajanju eksperimenta so bili uporabljeni
naslednji eksperimentalni sistemi: podporni poligon
(Slika 1), pritiskovne plošče, senzorji robotskega
zapestja, sistem Optotrak. Sistem pritiskovnih plošč
zajema 18 senzorskih kontaktnih plošč, kjer ima vsaka
256 senzorjev, ki delujejo na principu membranske
tipkovnice (stikala v matrični konfiguraciji). S
posameznimi
ploščami
komuniciramo
z
mikrokrmilnikom preko I2C komunikacije. Merilna
podlaga je dimenzij 1080x2080 mm. Skupaj ima
merilna površina 96x48 tipk, kar nam da ločljivost
zaznavanja večjo od 2,5 cm [6-7]. Podatki se iz
mikrokrmilnika pošiljajo na računalnik, kjer se v
programu Matlab obdelajo v primerno obliko za prikaz
in za izračun podpornega lika človeka. Iz vrnjenih
koordinat točk pritiska se lahko izračuna konveksni
podporni lik z vgrajeno funkcijo convhull v Matlabu. Pri
tem je potrebno biti pozoren na kolinearnost točk in za
to uvesti posebno rešitev.
Pritiskovne plošče vračajo sile in navore v vseh treh
smereh lokalnega koordinatnega sistema. Merilno
območje plošč je od 0 do 2 t, kar povzroča problem pri
merjenju manjših sil za predmete do 100 kg (velika
nihanja vrednosti). Za izračun COP so potrebne le sile v
globalnem koordinatnem sistemu. Pritiskovna plošča
meri sile na dveh ogliščih podpornega poligona.
Slika 1. Podporni poligon, pritiskovne plošče in senzorji
robotskega zapestja.
Uporabljena sta bila tudi senzorja robotskega zapestja
JR3 45E 15A nameščena na nogi oglišč podpornega
poligona, ki vračajo sile in navore v lastnem
koordinatnem sistemu [5].
Sistem Optotrak je namenjen določanju pozicije
infrardečih markerjev v prostoru. Markerji so nameščeni
na opazovano telo, uporabnik pa lahko tako spremlja
pozicijo tega telesa v prostoru. Sistem je uporabljen v
drugem delu eksperimenta pri umerjanju točke COP na
podpornem poligonu s pomočjo obteženega mobilnega
robota KUKA youBot.
2.1 Enačbe in slike
Točka COP je izračunana s pomočjo ravnotežja navorov
po enačbah (1) [1]. Ker se z-komponenta glede na
definiran koordinatni sistem ne spreminja in se vse
dogaja v x-y ravnini, ni potreben izračun vseh treh
komponent točke COP.
FR  F1  F2  F3  F4
M R  COP  FR
M R  R1  F1  R2  F2  R3  F3  R4  F4 (1)
COPx  
M Ry
FRz
COPy 
M Rx
FRz
Podporni poligon in točka COP se izrisujeta na istem
grafu, kar omogoča sprotno sledenje stabilnosti in
takojšen vizualni prikaz uporabniku. Primer meritve
točke centra pritiska in podpornega poligona pri hoji
prikazuje slika 2.
Slika 3. Absolutna napaka točke pozicije COP.
3 Zaključek
Pri meritvah stabilnosti človeka med hojo je bila
uporabljena metoda točke centra pritiska COP, ki se
mora nahajati znotraj podpornega lika. Spremljana je
točka COP in merilni poligon med fazo enojne podpore
(Slika 2). Ugotovljeno je tudi bilo, da imajo pritiskovne
plošče zelo veliko šuma pri merjenju majhnih sil zaradi
svojega širokega območja delovanja, kar kvari izračun
točke COP. Boljše rezultate bi bilo mogoče dobiti s
predhodno obtežitvijo pritiskovnih plošč (cca. 100 kg).
Literatura
Slika 2. Prikaz meritve podpornega lika in točke COP pri hoji.
Opazno je, da je točka COP znotraj podpornega
poligona stopala, le pri prehajanju iz ene noge na drugo
potuje med stopali, kar je pričakovano.
Točko centra pritiska je potrebno umeriti oz. preveriti
kako natančen je izdelan algoritem. Eksperiment je bil
izveden s pomočjo mobilnega robota KUKA youBot, na
katerega je bila dodatno nameščena še 10 kg utež. S
pomočjo senzorja robotskega zapestja je bila po metodi
ravnotežja momentov v stacionarnem stanju izračunana
točka COP in ustrezno transformirana v lokalni
koordinatni sistem robota. Ta koordinatni sistem je bil
določen s pomočjo 3 markerjev in sistema Optotrak. To
je omogočalo transformacijo v globalni koordinatni
sistem podpornega poligona s pomočjo znane pozicije
robota določene s sistemom Optotrak in markerji
nameščenimi na robot in sam podporni poligon.
Ujemanje obeh meritev točk COP je največje pri
najmanjši y-koordinati in se linearno povečuje z
oddaljenostjo od roba, kjer so nameščene pritiskovne
plošče (Slika 3). Napako povzroča nestabilna vrednost
sil pridobljenih s pritiskovnih plošč, zaradi njihovega
širokega območja delovanja (0 do 2 t).
[1] A. Goswami, “Postural stability of biped robots
and the foot-rotation indicator (fri) point,”
International Journal of Robotics Research, vol.
18, no. 6, str. 523 - 533, 1999.
[2] A. Hof, M. Gazendam, in W. Sinke, “The
condition for dynamic stability, ” Journal of
Biomechanics, vol. 38, no. 1, str. 1 - 8, 2005.
[3] E. Garcia in P. G. de Santos, “A new dynamic
stability margin for walking machines, ” v 11-th
International Conf on Advanced Robotics
ICAR'03, Coimbra, Portugal, 2003.
[4] P. Sardain in G. Bessonnet, “Forces acting on a
biped robot center of pressure – zero
moment point,” IEEE Transactions on Systems,
Man and Cybernetics, vol. 34, no. 5, str. 630 –
637, sep. 2004.
[5] Datasheet JR3 45E 15A,
https://docs.google.com/viewer?url=http%3A%2F
%2Fwww.jr3.com%2Fdocuments%2Ffiles%2Fdra
wings%2F4873F.pdf, (4.11.2013).
[6] B. Zupan, »Merilni sistem za analizo stabilnosti
večnožne opore«, magistrsko delo, Fakulteta za
elektrotehniko, Ljubljana, 2011.
[7] M. Riccobon, »Vgrajeni sistem za zajem in
posredovanje podatkov s senzorskih kontaktnih
plošč«, diplomsko delo, Fakulteta za
elektrotehniko, Ljubljana, april 2012.
Merjenje volumna tekočine na podlagi razlike tlakov
Primož Flander, Matjaž Mihelj
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
E-pošta: [email protected]
Measuring the volume of a liquid on the
basis of difference in pressure
The bio-analytical laboratories demand a correct and
precise pipetting in order to ensure repeatable and
reliable measurements. Different pipetting techniques
among individuals can lead to different measurement
results. Because of that, the pipetting systems are
becoming more and more automatized, which brings
many advantages, including a higher degree of
repeatability and reliability.
In this assignment, the workings of the MEMS
pressure sensors, MCB 1700 evaluation boards, the
pipettes, and xyz positioning system has been studied.
We have developed an application that enables
repeatable pipetting of desired volumes. Two pressure
sensors were used to measure volumes, with the help of
which the captured volume was determined with the
volume determination program.
It was established that the volume cannot be
precisely determined through the measurement of
volume on the basis of the difference in pressure.
The developed application fits the set goals, despite a
few of its shortcomings. The main shortcoming of the
application is imprecise pressure measurement with a
lot of noise. Better pressure sensors and optimisation of
the volume determination program are proposed.
pipeto postaviti v položaj za zajemanje volumna, zajeti
želen volumen in pipeto izprazniti na želeni lokaciji.
Merjenje volumna smo realizirali s pomočjo dveh
senzorjev tlaka, na podlagi katerih smo z ustreznim
algoritmom izračunali volumen zajete tekočine.
2 Uporabljena strojna in programska
oprema
2.1
Razvojna plošča Keil MCB1700 in programski
paket µVision
Razvojna plošča MCB1700 (slika 1) nam omogoča
razvoj in testiranje uporabniških programov. V
kombinaciji z razvojno ploščo smo uporabljali
programski paket µVision, ki nam omogoča preprosto
programiranje in razhroščevanje.
1 Uvod
Splošno znano je, da so netočnosti pipetiranih volumnov
največji vir napak. Na rezultate meritev vplivajo
temperatura, nadmorska višina in viskoznost tekočin.
Ustrezen pristop je opredelitev kritičnih točk
pipetiranja in zmanjševanje vpliva človeške napake s
pomočjo avtomatizacije procesa [1]. Boljšo ponovljivost
in avtomatizacijo meritev dosežemo z uporabo
elektronskih pipet. Študije so pokazale, da boljše
elektronske pipete omogočajo zajem volumnov 1µl z
napako manjšo od 0.5% [2]. Pipete se v kombinaciji z
mikro roboti uporabljajo tudi operacije bioloških celic
in za manipulacijo z zelo majhnimi predmeti, kjer
prevzamejo vlogo prijemala [3]. Avtomatizacijo
pipetiranja smo poskušali v seminarski nalogi realizirati
tudi mi.
Seminarska naloga je zahtevala razvoj aplikacije za
avtomatsko pipetiranje želenih volumnov. Naloga
sistema za pozicioniranje in krmiljenje pipete je bila
Slika 1. Razvojna plošča MCB1700 [4]
2.2
Pipeta Finnpipette F1
Omogoča zanesljivo, ponovljivo in veliko učinkovitost
pipetiranja z napako manjšo od 0.8%. (slika 2).
Nastavljamo lahko volumen od 10 do 100µl.
Slika 2. Pipeta Finnpipete F1 [5]
3.2
2.3
Senzor tlaka LPS331AP
LPS331AP (slika 3) je ultra kompakten piezoelektrični
senzor absolutnega tlaka zgrajen na MEMS [6]
tehnologiji. Omogoča merjenje tlaka v območju od 260
do 1260 mbar-a z ločljivostjo 0,02 mbar-a. Omogoča
I2C in SPI komunikacijo.
Program za premikanje in merjenje volumna
pipete
Program za pozicioniranje pipete smo razvili s pomočjo
programskega paketa µVision. Program nam je
omogočal začetno kalibracijo, premikanje pipete in
upravljanje pipete s pomočjo tipk na razvojni plošči. S
pomočjo informacije iz senzorjev tlaka je program
izračunaval volumen zajete tekočine.
4 Delovanje aplikacije
Slika 3. Senzor tlaka LPS331AP [7]
2.4
Sistem za pozicioniranje
Omogoča natančno pozicicioniranje pipete v želeno
lego s pomočjo štirih servomotorjev. Štirje so namenjeni
xyz pozicioniranju in rotaciji mize, peti pa za
upravljanje z pipeto (slika 4). Servomotorje krmilimo z
razvojno ploščo s pomočjo pulzno-širinske modulacije.
Ob zagonu najprej kalibriramo sistem za pozicioniranje,
da se postavi v začetno lego. Ko sprožimo program, iz
rezervoarja zajame določen volumen tekočine ter ga
pipetira na izbrano lokacijo, ki je določena v programu.
Volumen, ki ga pipeta ob pipetiranju zajame
nastavimo na pipeti sami. S pomočjo izračunanega
volumna iz senzorjev tlaka, ki sta nameščena eden v
pipeti, drugi pa prosto v prostoru, lahko preverimo ali se
izračunan volumen in nastavljen volumen pipete
ujemata.
5 Zaključek
Razvita aplikacija ustreza zastavljenim ciljem, vendar je
za izboljšave še veliko prostora. Glavna pomankljivost
aplikacije je nenatančno merjenje tlakov z veliko šuma.
Predlagamo boljše senzorje tlaka in optimizacijo
programa za določanje volumna. Razviti princip
merjenja volumna s pomočjo razlike tlakov lahko s
pridom uporabljamo še v veliko drugih aplikacijah.
Literatura
Slika 4. Sistem za xyz pozicioniranje
3 Razvoj aplikacije
3.1
Priključitev vhodnih in izhodnih enot
V prvi fazi razvoja smo na razvojno ploščo MCB1700
preko I2C vodila priključili dva senzorja tlaka
LPS331AP. Krmilnik servomotorjev, preko katerega
smo s pomočjo pulzno-širinske modulacije krmilili
posamezne motorje je bil že priključen. Za
pozicioniranje pipete smo uporabili tipke, ki so se
nahajale na razvojni plošči.
[1] K. Pandya, C. A. Ray, L. Brunner, J. Wang, J. W. Lee, in
B. DeSilva, “Strategies to minimize variability and bias
associated with manual pipetting in ligand binding assays
to assure data quality of protein therapeutic
quantification,” J. Pharm. Biomed. Anal., vol. 53, no. 3,
str. 623–630, Nov. 2010.
[2] H. H. Nishi, “Mechanized, direct digital-control pipette for
automation of ultramicro chemical analyses.,” Clin.
Chem., vol. 18, no. 8, str. 771–4, 1972.
[3] W. Zesch, M. Brunner, in A. Weber, “Vacuum tool for
handling microobjects with a NanoRobot,” in , 1997 IEEE
International Conference on Robotics and Automation,
1997. Proceedings, 1997, vol. 2, str. 1761–1766 vol.2.
[4] “Razvojna
plošča
MCB1700,”
http://www.keil.com/mcb1700/. (dostop: januar, 2014)
[5] “Pipeta Finnpipette F1,” http://www.thermoscientific.com.
(dostop: januar, 2014)
[6] D. C. Abeysinghe, S. Dasgupta, J. T. Boyd, in H. E.
Jackson, “A novel MEMS pressure sensor fabricated on an
optical fiber,” IEEE Photonics Technol. Lett., vol. 13, no.
9, str. 993–995, 2001.
[7] “Senzor
tlaka
LPS331AP,”
http://www.st.com/web/catalog/sense_power/FM89/SC13
16/PF251601. (dostop: januar, 2014)
Vodenje žoge z robotom Kuka LWR
Primož Glavač1, Tadej Petrič2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
2
Institut Jožef Štefan, Jamova c. 39, 1000 Ljubljana
E-pošta: [email protected]
Bouncing ball with robot Kuka LWR
Bouncing ball with robot is real-time dynamic problem,
where most important tasks are synchronization on
basic frequency of ball, and compensating external
variables (horizontal and vertical position of ball). We
solved this with non-linear oscillators, which are
extremely fast and satisfy our precision conditions.
1 Uvod
V tem članku vam bomo predstavili vodenje oziroma
odbijanje žoge s robotom. Če želimo odbijati žogo
potrebujemo v realnem času informacijo trenutnega
položaja žoge, frekvenco žoge ter kakšno fazo zamika
potrebuje robot, da bo ravno v pravem času odbil žogo.
Zato smo nalogo razdelili v dve pod-nalogi: iskanje
lastne frekvence žoge ter učenje robota udarca žoge
[1],[2].
Ker je odbijanje žoge ponavljajoči se gib, smo prvo
pod-nalogo rešili z uporabo nelinearnih oscilatorjev v
katere pripeljemo vhodni signal, v našem primeru je to
vertikalna pozicija žoge [3]. Drugo pod-nalogo pa smo
rešili na način, da lahko v programu preklapljamo med
načinoma »delovanje« in »učenje«, kjer pri slednjem
dovoljujemo, da robot zgolj kompenzira gravitacijo, za
premikanje pa je potrebna zunanja sila (človek).
2 Izvedba
2.1
Naloga
Naša naloga je bila razdeljena v več pod-nalog, in sicer
zajem vhodnih podatkov žoge s pomočjo robotskega
vida, pripraviti algoritem za enostavno učenje robota,
pripraviti računalniško simulacijo ter preizkus delovanja
eksperimenta na realnem robotu.
2.2 Eksperimentalni sistem
Eksperimentalni sistem zajema programska orodja ter
fizične naprave. Slednje so: kamera za zajem robotskega
vida s 120 Hz osveževanjem, visoko odbojna enobarvna
žoga, robot Kuka LWR (Slika 1) v povezavi s
računalnikom ter prirejeno prijemalo/odbijalo za
odbijanje žoge. Uporabili smo naslednja programska
orodja: Matlab Simulink, za izvajanje algoritma
vodenja, Robo Works za simuliranje in testiranje
aplikacije ter program DBall za robotski vid.
Slika 1. Robot Kuka LWR odbija žogo.
2.3
Algoritem vodenja
Odbijanje žoge je ponavljajoč oziroma periodičen
problem, posledično je trajektorija roke/robota za vsako
periodo enaka s korekcijami (zamik levo, zamik desno,
močnejši zamah, nižja točka odboja … ). Tako
dinamičen proces nas prisili v uporabo metod, ki so
sposobne potrebne podatke oziroma trajektorijo
izračunavati v realnem času. Slednje nam je uspelo z
uporabo nelinearnih oscilatorjev.
Slika 2. Del sheme algoritma – oscilator z vhodi in izhodi.
Naloga oscilatorja je, da poišče »osnovno frekvenco
sistema«, to je v našem primeru frekvenca s katero se
žoga odbija od tal. Na sliki 2 lahko vidimo, da so vhodi
v oscilator trenutna pozicija žoge, trenutna pozicija
vrha robota, nastavljiv parameter togosti oziroma
podajnosti robota ter vklopljeno/izklopljeno učenje
oscilatorja.[4]
Na podlagi slednjih podatkov, se
oscilator poskuša sinhronizirati na frekvenco žogo, z
upoštevanjem faze zamika pa »lovimo« najoptimalnejši
trenutek za odboj žoge. Oscilator vrača vertikalno
koordinato robotskega vrha. Zaradi že prej omenjenih
potrebnih korekcij je potrebno upoštevati tudi premik
žoge v horizontalnih smereh (več v poglavju 2.4).
2.4 Robotski vid
Za zajem pozicije žoge smo nadgradili že obstoječ
program Dball za zajem podatkov iz kamere (T. Petrič,
2013). Na sliki izberemo točko oz. področje katero
pozicijo želimo pošiljati naprej. Algoritem deluje na
osnovi barve področja, ki ga označimo. Posledično je
potreba po enobarvni žogi. Ker kamera zazna
spremembo v barvi že zgolj ob drugačni osvetlitvi
prostora, smo algoritem spremenili tako, da omogoča
nastavitev barvnega spektra, kateri je še zadovoljiv za
pravilno zaznavo žoge. Program nato pošlje koordinato
x in y preko UDP protokola.
Zaradi uporabe samo eno kamere, globine ne
moremo zaznavati, posledično nimamo informacije o
ordinatni osi, gledano iz perspektive robotskega vrha.
Rešitvi sta dve: uporaba dveh kamer s poznano vmesno
razdaljo ali sprememba algoritma zaznavanja žoge in
sicer na način, da računamo površino žoge. Kamera
zaznava žogo kot krog, kar pomeni, da različna
oddaljenost žoge od kamere vpliva na različen premer
kroga. V praksi se je izkazalo, da potrebe po slednjih
metodah ni, oziroma bi jih uporabili pri izboljšanju
rezultatov.
2.5 Simulacija
Zaradi varnostnih razlogov ter prezasedenosti robota
smo testirali našo aplikacijo najprej s simulacijo.
Uporabili sem programski paket Robo Works, slednji
ima dobro podporo s okoljem Matlab Simulink, kar se je
odražalo v relativno enostavni implementaciji. Potrebno
je bilo upoštevati gravitacijo ter zgraditi model žoge.
Slika 3. Spodnji sinusni signal je vhodni, zgornji sinusni
signal pa je izhodni signal iz oscilatorja.
2.6
Izvedba eksperimenta na realnem robotu
Pri izvedbi na realnem robotu smo najprej v shemi
dodali limite, ki ob prehitrih gibih slednjega ustavijo.
Prvi preizkusi so pokazali, da je robot prepočasen in
pretog za takšno nalogo. Togost smo nato rešili s
dodatno peno na prijemalu/odbijalu, hitrost robota pa s
kombinacijo nastavitev in spremembam parametrov
močnostnega krmilnika. Robot je posledično deloval
hitreje, vendar na meji zmogljivosti, kar se je odražalo
tudi v pogostih varnostnih zaustavitvah.
3 Zaključek
Spoznali smo da odbijanje žoge ni trivialen problem,
kljub temu, da ga človek opravlja brez večjih naporov.
Na Kukinem LWR robotu, nam je uspelo odbiti žogo
vsaj petnajstkrat zapovrstjo. Pri tem je bila uporabljena
lahka visoko-odbojna žoga.
Rezultat bi lahko še izboljšali s bolj podajnim
prijemalom/odbijalom, z zamenjavo robota z močnejšim
in hitrejšim ter uporabo dvojnega robotskega vida (angl.
stereo vision).
Literatura
[1] A. Gams, T. Petric, A. Ude, in L. Zlajpah,
“Performing Periodic Tasks: On-Line Learning,
Adaptation and Synchronization with External
Signals,” The Future of Humanoid Robots Research and Applications, R. Zaier, Ed. InTech,
2012.
[2] T. Petrič, A. Gams, A. J. Ijspeert, in L. Žlajpah,
“On-line frequency adaptation and movement
imitation for rhythmic robotic tasks,” Int. J. Robot.
Res., vol. 30, no. 14, str. 1775–1788, 2011.
[3] L. Righetti in A. J. Ijspeert, “Programmable central
pattern generators: an application to biped
locomotion control,” Proceedings 2006 IEEE
International Conference on Robotics and
Automation, 2006, str.. 1585–1590.
[4] A. J. Ijspeert, “Central pattern generators for
locomotion control in animals and robots: A
review,” Neural Netw., vol. 21, no. 4, str. 642–653,
2008.
Vodenje KUKA youBot z robotskim vidom
Rok Goljat, Janez Podobnik
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
E-pošta: [email protected]
Guiding KUKA youBot using robot vision
For this project, an existing code for robot vision had to
be upgraded, to improve precision of estimating the
pose of the robot. The robot was fitted with seven cyan
colored markers which were then being detected using a
ceiling mounted camera.
The algorithm had to successfully estimate the
orientation of the platform, and the position of the base
of the robot arm. This was done by finding a
transformation matrix between the recognized markers
and a fixed reference.
The marker recognition was done in MATLAB with
the use of image processing toolbox. Lighting
represented a major problem, so a user interface was
implemented to help in successful marker recognition.
1 Uvod
KUKA youBot je majhen mobilni robot s pet-osno
robotsko roko in dvoprstim prijemalom. Naloga je
zahtevala izboljšavo trenutnega algoritma določanja
lege robota. Sledenje je bilo zagotovljeno s pomočjo
barvnih oznak.
Browning in Veloso sta se lotila zaznavanja barvnih
oznak tako, da so za vsak slikovni element ocenili
verjetnost, kateri barvi pripada. Hkrati bi se algoritem
tudi prilagajal spremembam svetlosti okolja [1].
Kim in sodelavci so se lotili zaznave objektov tako,
da so najprej sliko normalizirali, ter se s tem znebili
vpliva neenakomerne osvetlitve objekta [2]. Nato so na
podlagi barve iz slike izluščili vse možne kandidate za
objekt ter nato z naprednimi algoritmi določili pravega.
Pylkko je vpeljal koncept zaznave barve objekta s
pomočjo “Color Judge” algoritma, ki vsakemu
slikovnemu elementu glede na njegovo barvo dodeli
oznako [3].
2 Določanje lege mobilne platforme
2.1
Obdelava slike
V našem primeru je bilo uporabljenih 7 okroglih
turkiznih oznak, od tega so bili trije uporabljeni že v
prejšnji verziji, štirje manjši pa so bili dodani naknadno.
Kamera na stropu zajema sliko velikosti 1280x720
svetlobnih elementov, vsak okvir pa se nato obdela, da
zaznamo vse vidne oznake. Najprej se naredi primerjava
med rdečim in modrim kanalom, kar nam da sivinsko
sliko. Rdeči in modri kanal sta izbrana zato, ker bo tu
največja razlika pri turkizni barvi. Slika se nato zgladi,
da se zmanjša šum, potem pa se spremeni še kontrast
slike. To povzroči, da najsvetlejši elementi, ki v idealnih
pogojih predstavljajo oznake, postanejo še svetlejši,
ostali deli slike pa se še potemnijo. Zatem se slika še
pretvori v binarno, kjer bela področja predstavljajo
oznake in morebiten šum. Na takšni binarni sliki se z
uporabo filtra odstranijo elementi, ki imajo število
slikovnih elementov pod nekim določenim pragom, za
ostale elemente pa se izračuna središče, ploščina in
ekscentričnost. Na podlagi teh podatkov se nato lahko
določi kateri elementi predstavljajo oznake, in kateri
šum.
Tabela 1. Okvirne 8-bitne vrednosti rdečega, zelenega in
modrega kanala turkizne oznake pri različnih osvetlitvah
Osvetlitev
Prevladuje naravna svetloba
Prevladujejo luči
R
20
50
G
170
110
B
240
170
Slika 1. Primerjava slike, kjer prevladuje naravna svetloba
(svetlejši del) in kjer prevladujejo luči (temnejši del)
2.2
Določanje lege
Ko imamo uspešno razpoznane vse barvne oznake in
določena njihova središča, jih je potrebno še pravilno
razporediti, ker funkcija za izračun transformacijske
matrike zahteva korespondenčne pare točk. Najprej
lahko na podlagi velikosti določimo prvotne tri oznake.
Na podlagi oddaljenosti od teh treh oznak lahko
določimo še ostale štiri, ki so bile naknadno dodane.
Za izračun transformacijske matrike sta uporabljeni
dve različni funkciji. Prva računa afino aproksimacijsko
matriko (1), ko je zaznanih več kot tri oznak, druga pa
izračuna togo matriko preslikave (2), ko so zaznane
samo tri oznake. V obeh primerih z dobljeno matriko
preslikamo referenčni center, kar nam da iskani center
baze roke (3). S pomočjo oznak A in C pa lahko
izračunamo še orientacijo mobilne platforme.
 a11   xx
a  
 12   xy
 tx   x
 
 a12   0
a 22   0
  
 t y   0
xy
x
0
0
yy
y
0
0
y
1
0
0
0
0
xx
xy
0
0
xy
yy
0
0
x
y
0

0
0

x
y

1 
x' y  y ' x  x' y  y ' x
x' x  y ' y  x' x  y ' y
 cos 
1
 x' x 


 x' y 
 x'  (1)


 y' x 
 y' y 


 y ' 
  arctg
a11  a 22
a12  a 21   sin 
(2)
t y  y '  x  sin   y  cos 
a12
a 22
0
tx 
t y 
1 
1
Določanje referenčnih točk
Referenčne točke določi uporabnik z ročnim
označevanjem centrov barvnih oznak. Določiti jih je
potrebno takrat, ko je baza robotske roke čim bolj v
središču vidnega polja kamere, saj je tam popačenje
najmanjše.
Ker je center baze roke težko natančno določiti
ročno, je bil uporabljen algoritem po Pratt-ovi metodi,
ki množici točk izračuna najbolj prilegajoč krog in vrne
središče tega kroga [4][5]. Ker je baza robotske roke
okrogla in različne barve kot mobilna platforma, je zato
precej lažje določiti robne točke kot pa sam center.
3 Zaključek
t x  x'  x  cos   y  sin 
C x   a11
C   a
 y   21
 1   0
2.3
C xr 
C  (3)
 yr 
 1 
V enačbah spremenljivke x in y predstavljata x in y
koordinate centrov zaznanih oznak, x' in y' pa
referenčne točke. Spremenljivke a in t predstavljajo
elemente transformacijske matrike, ki preslika točko
referenčnega centra v iskani center.
Naslednji okvir se nato obreže, tako da iz celotne
slike izluščimo samo nek določen del v okolici prej
izračunanega centra. V primeru, da tudi tu pride do
napake, pa se naslednji okvir ne obreže, ampak se zopet
obdela celotna slika. Na ta način se cikel pospeši, ker se
obdeluje manjša slika, zmanjša pa se tudi možnost
napake.
Slika 2. Prikaz postavitve oznak (A-G). X predstavlja iskani
center baze robotske roke.
Natančnost določanja lege je bila uspešno izboljšana.
Izdelan je bil tudi uporabniški vmesnik, preko katerega
lahko uporabnik določa referenčne točke, spreminja
parametre, obdelava slike in na zaslonu opazuje njihov
vpliv. Dodan je tudi gumb, s katerim lahko osvežimo
začetni položaj kock. To nam koristi v primeru, če so
bile kocke premaknjene med samo aplikacijo.
Literatura
[1] Browning, B. in Veloso, M. M., “Real-time, adaptive
color-based robot vision”., v IROS, IEEE, str. 3871-3876,
2005.
[2] Kim, S., S. Lee, S. Kim in J. Lee, “Object Tracking of
Mobile Robot using Moving Color and Shape
Information for the aged walking”., International Journal
of Advanced Science and Technology, vol.3, str. 293-297,
2009.
[3] Pylkko, H., Riekki, J. in Röning, J., “Real-Time ColorBased Tracking via a Marker Interface. ”, v ICRA , IEEE,
str. 1214-1219, 2001.
[4] Pratt V., “Direct least-squares fitting of algebraic surfaces,
Computer Graphics”, vol. 21, str. 145-152 1987.
[5] Chernov N., “Circle Fit (Pratt method) ”,
http://www.mathworks.com/matlabcentral/fileexchange/2
2643-circle-fit-pratt-method , 18.12.2013
Merilni sistem za preučevanje smučarskih skokov
Nejc Krajnik1, Grega Logar2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
E-pošta: [email protected]
Measuring system for analyzing ski jumps
Ski jumping is a very popular sport. The sport itself has
been a subject of studies for many different scientists
from different profession. The focus has mainly been on
phases of the jump and safety. Most studies come from
countries where ski jumping is more developed and
popular.
Biomechanic researches can be used for training
improvement and better preparation of ski jumpers. For
this purpose a receiver and two light sensors (for the
detection of kickback) were added to a pre-made
system, which include 7 inertial metric units (IME) for
kinematic measurements. Using the whole system we
can measure a ski jumper’s kinematics, calculate his
takeoff speed and divide the jump into specific phases.
In this article we will mainly deal with light sensors and
the detection of kickback.
katerega vodimo celotno merjeneje [3]. Tretji del
sistema je sestavljen iz dveh svetlobnih senzorjev
priklučenih na enoto z oddajnikom. Napajan je s 15 V
baterijo. V vezju sta dva napetosna regulatorja. LM7812
za napajanje senzorjev z 12 V in drugi LM7805 za
napajanje oddajnika s 5 V.
1 Uvod
Smučarski skoki so priljubljena športna panoga. S
smučarskimi skoki in njihovim preučevanjem se je do
sedaj ukvarjalo že precej različnih raziskovalcev iz
različnih področji. Ukvarjali so se predvsem s
preučevanjem posameznih delov skoka in varnostjo [1]
[2]. Večina študij prihaja iz držav, kjer so smučarski
skoki tudi najbolj razviti.
Biomehanske raziskave lahko uporabimo za
izboljšanje treningov in s tem izboljšamo pripravljenost
skakalcev. V ta namen smo že izdelanemu sistem, ki
vsebuje 7 inercialnih merilnih enot (IME) za merjenje
kinematike dodali še oddajnik in dva svetlobna senzorja,
ki služita zaznavi odskoka skakalca [3]. Komunikacija
med njimi poteka brezžično. S pomočjo celotnega
sistema lahko izmerimo kinematiko skakalca, izmerimo
njegovo odskočno hitrost ter razdelimo celoten skok na
posamezne faze. V tem članku se bomo posvetili
predvsem svetlobnima senzorjema in zaznavi odskoka
skakalca.
Slika 1: Blokovna shema sistema s svetlobnima senzorjema.
Senzorja sta preko optocouplerja 4N32 povezana na
vezje ki mu pravimo oddajnik. Oddajnik je del sistema s
katerega IME pošljemo števec ob času ko skakalec
prečka prvega izmed senzorjev in nov števec ko
skakalec prečka drugi senzor. Sestavljen je iz
mikrokontrolerja Atmega, ki skrbi za generiranje števca
in komunikacijo med senzorjema ter AT86RF230.
AT86RF230 je del oddajnika, ki brezžično komunicira z
IME. Na Atmegi teče tudi programski del zaznave.
2 Delo
2.1
Sistem
Sistem je sestavljen iz treh glavnih delov: 7 inercialnih
merilnih enot (IME), ki so pritrjene na skakalca.
Glavnega
sprejemnika
s
pomočjo
katerega
sinhroniziramo IME za zajem podatkov ter po
končanem merjenju poberemo vse izmerjene podatke iz
microSD kartic. Priključen je na računalnik preko
Slika 2: Blokovna shema oddajnika.
Vzorčenje poteka s 400 Hz, kar je enako vzorčenju
na IME. Ko skakalec prečka senzor, oddajnik na vse
IME, ki so pritrjene nanj pošlje števec, ki je bil aktualen
v času prečkanja. IME vse te podatke zapiše na
microSD kartico. Enako zaporedje sledi tudi za drugi
senzor. Zaradi samih povezav in zato ker signal od
oddajnika do IME potuje po zraku, je v rezultatu
prisotna določena zakasnitev. Le ta je bila izmerjena s
pomočjo osciloskopa in navadno znaša okoli 2 ms.
Hitrost skakalca izračunamo po enačbi (1). Za čas t
uporabimo razliko števcev, ki jih dobimo s pomočjo
naših senzorjev. Za razdaljo med senzorjema s pa
moramo biti pozorni že pri namestitvi senzorjev in
izmeriti razdaljo med njima.
v  s/t
(1)
2.2
Rezultati
Meritve, ki so zajete v analizo, so bile opravljene
31.12.2013 v Planici na srednje veliki skakalnici K-95,
HS-104, pri temperaturi okoli 0 stopinj celzija in v
brezveterju [4].
Slika 4: Graf poteka skoka.
3 Zaključek
Projekt je obsegal izdelavo sistema za detekcijo
odskoka skakalca, preizkus sistema in analizo skoka z
njegovo pomočjo. Sistem je bil izdelan in uspešno
preizkušen. Z njegovo pomočjo lahko določimo
trenutek odriva, hitrost skakalca in skok časovno
razdelimo na posamezne faze.
Slika 3: Lokacija senzorjev (1) in oddajnika (2) na skakalnici.
Senzorja sta bila postavljena na razdalji 9 m v
konfiguraciji, ki je razvidna iz Slike 3. Končni senzor je
bil postavljen povsem na rob odskočne mize. Skakalec,
ki je bil opremljen z IME je opravil šest skokov. Po
prenosu vseh podatkov iz microSD kartic na računalnik
in obdelavi s pomočjo programa Matlab dobimo končne
rezultate.
Na Sliki 4 je prikazan potek šestega skoka. Na x osi
je čas, na y osi pa φs, φGis, φb, φk, Vs. φs predstavlja
kot med smučmi in horizintom, φGis predstavlja kot
med smučmi in golenjo, φb predstavlja kot v bokih, φk
nam pove kot v kolenu, Vs pa predstavlja kot med
smučama pri V-slogu. Na grafu sta z dvema
horizontalnima črtama prikazana tudi časa signalov iz
svetlobnih senzorjev. Prva (rdeča) črta nam pove čas
proženja prvega senzorja, druga (zelena) nam pove čas
proženja drugega senzorja. Drugi senzor postavimo
povsem na konec odskočne mize, tako da se proži točno
ob optimalnem času odskoka skakalca.
S pomočjo enačbe (1), poznano razdaljo s = 9 m in
poznanim časom t med posameznimi prožitvami
senzorja, ki je pri šestem skoku znašala 0,4075 s,
dobimo hitrost skakalca pri odskoku 79,5 km/h.
Literatura
[1] J. Chardonnens, J. Favre, B. Le Callennec, F. Cuendet,
G. Gremion, in K. Aminian, “Automatic measurement of
key ski jumping phases and temporal events with a
wearable system,” J. Sports Sci., vol. 30, no. 1, str. 53–
61, 2012.
[2] W. Müller, “Determinants of ski-jump performance and
implications for health, safety and fairness,” Sports Med.
Auckl. NZ, vol. 39, no. 2, str. 85–106, 2009.
[3] Grega Logar, “Merilni sistem za preučevanje
biomehanike smucarskih skokov,” Fakulteta za
elektrotehniko, Ljubljana, Diploma, Sep. 2013.
[4] “Velikanka, Planica,” Skisprungschanzen-Archiv »
skisprungschanzen.com.
[Online].
Available:
http://www.skisprungschanzen.com/DE/Schanzen/SLOSlowenien/Planica/0476-Velikanka/. [Dostopano]: 08Jan-2014].
Modeliranje in analiza človekovega gibanja v okolju OpenSim
Katja Pretnar1 , Jan Babič2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana
2
Institut Jožef Stefan, Jamova 39, 1000 Ljubljana
E-pošta: [email protected]
Human Movement Modeling and Analyses
using OpenSim
The goal of our experiment was to investigate an alternative approach for human movement analysis. We used
OpenSim, an open source software for biomechanical modeling and simulation.
With motion capture system, we recorded 7 different
trials of a healthy subject (our focus were the lower extremities) and compute various quantities for the experiment (joint angles, generalized forces at each joint and
individual muscle forces at each instant in time). This
paper points out few problems that we encountered during the usage of OpenSim, but all in all we realized that
OpenSim has a lot to offer; from uncovering the principles that govern normal movement to designing an effective treatment for movement disorders.
1
2
Metode
Opazovali smo sedem različnih gibanj spodnje ekstremitete. Opazovana oseba (moški spol, 29 let, 185 cm, 80 kg)
je na začetku vsakega manevra mirovala, nato pa izvedla
pet ponovitev osnovnega giba pri dveh hitrostih (počasi
oziroma hitro); krčenje kolenskega sklepa, zamah celotne noge in posnemanje gibanja nog pri prsnem plavanju. Dodatno smo opazovali še navpični skok. Gibanje
smo posneli z dvema kamerama sistema 3D Investigator
pri frekvenci zajemanja 100 Hz. Desno spodnjo ekstremiteto merjenje osebe smo opremili z osmimi aktivnimi
markerji (slika 1).
Uvod
OpenSim je odprtokodni program, namenjen modeliranju, simulaciji in analizi mišično-skeletnega sistema. Program je bil zasnovan leta 2007 na univerzi Stanford [1],
velika skupnost strokovnjakov s celotnega sveta pa skrbi
za njegov stalni razvoj.
Osnova vsake analize v programu OpenSim je model
opazovanega objekta, ki je zgrajen na podlagi diferencialnih enačb, ki opisujejo dinamiko segmentov, mišic ter
geometrijo telesa. Naslednji korak pri analizi je izračun
simuliranega gibanja, ki kar najbolje posnema eksperimentalno zajete podatke. Nadaljnja analiza nam omogoča ocenitev parametrov, ki jih ne moremo neposredno
izmeriti, npr. obremenitve v sklepih ali akcije posameznih mišic oz. njihov prispevek h gibanju [2]. Program
nam je lahko v pomoč pri kompleksnejših nalogah (načrtovanju zdravljenja bolezenskih stanj, simulaciji kirurških posegov, oblikovanju protez, simulaciji gibanja humanoidnih robotov inp. [3]).
Študij človeškega gibanja je predmet raziskav številnih znanstvenikov. Namen programskega paketa OpenSim je osvetliti zakonitosti in razmere pri človeškem gibanju, dolgoročni cilj pa je sposobnost načrtovanja zdravljenja ob upoštevanju specifičnih lastnosti vsakega posameznika. Kljub velikemu napredku v tej smeri, znanstvenike čaka še veliko izzivov [3].
Slika 1: Postavitev osmih markerjev. Levo slika iz okolja OpenSim, desno pripadajoči markerji realne meritve.
Zbrane podatke smo s pomočjo programa First Principles shranili v datoteke *.c3d. Te smo nato uvozili v okolje Matlab s pomočjo orodja b-tk Biomechanical ToolKit [4]. Podatke smo interpolirali, transformirali in jih
shranili v datoteke *.trc. Pri tem nam je bila v pomoč
že pripravljena koda iz [5]. Iz OpenSim knjižnice smo
uporabili model spodnje ekstremitete “SeparateLegs”, za
nekatere analize pa model “Gait2354_Simbody”. Virtualne markerje smo na model namestili tako, kot so bili
nameščeni med samim eksperimentom.
Generični model smo najprej skalirali, nato pa za vsak
gib izračunali inverzno kinematiko, inverzno dinamiko,
za krajše odseke pa izvedli tudi statično optimizacijo.
3
Rezultati
Tabela 1: Maksimalne vrednosti navorov [Nm].
Rezultat dela v OpenSimu-u so datoteke, ki za vsak časovni trenutek vsebujejo podatke o spremenljivkah v sklepih (koti, navori) oz. mišicah (aktivacije, vrednost mišičnih akcij). V tem razdelku se bomo osredotočili le na
rezultate, ki smo jih dobili pri analizi skoka (slika 2).
sklep
koleno
kolk
4
Slika 2: Analiza skoka - 1. graf: koti, 2. graf: navori (pri obeh
pikčasta črta predstavlja kolk, druga koleno), 3. graf: aktivacija
dveh mišic (pikčasta črta predstavlja zadnjo stegensko, polna pa
mišico meč).
Prvi graf slike 2 prikazuje kote v kolku in kolenu.
Razberemo, da je oseba trikrat skočila (vsak skok sestavlja odriv iz počepa, nato let v iztegnjenem položaju - koti
se znova približajo ničelnim vrednostim - in pristanek v
počep). Na koncu se oseba znova vrne v začetno lego.
Sredinski graf prikazuje navore v kolku in kolenu pri
enakem manevru. Opazimo, da imajo navori ves čas neko
vrednost, le v fazi leta "oscilirajo". Formulacija inverzne
dinamike zahteva za izračun popolnih navorov tudi podatek o sili interakcije. OpenSim uporabniku omogoča
uvoz meritev pritiskovne plošče, česar pa naš eksperiment ni meril. Dobljeni navori so tako le posledica gibanja in niso povsem regularni. Tabelo maksimalnih navorov po iznosu za vsak posnet gib prikazuje tabela 1.
Tretji graf na sliki 2 prikazuje mišično aktivacijo dveh
mišic; zadnje stegenske (Long Head Biceps Femoris) in
mišice meč (Soleus). Graf prikazuje aktivacijo le za prvi
skok (drugačna časovna baza kot pri zgornjih dveh grafih). Pogled na graf dovoljuje grobo oceno o tem, katera
mišica je aktivna v posamezni fazi skoka, npr. v fazi odriva je bolj aktivna mišica Soleus, v fazi leta in pristanka
pa zadnja stegenska.
gib
krč. kol.
20
25
zamah
10
40
plav. gib
15
30
skok
30
80
Razprava
OpenSim nam na dokaj enostaven način ponudi celo vrsto
analiz, vseeno pa uporaba zahteva nekaj časa in truda.
Program ne sprejema standardnih formatov, zato mora
uporabnik sam pripraviti ustrezne datoteke. Na podobno
situacijo naletimo, če bi želeli izračunane podatke obdelati v kakem drugem programu - potrebna je pretvorba iz
tipa datoteke *.sto.
Drugi večji problem pa nastopi pred vsakim računskim algoritmom. Takrat mora uporabnik izbrati nemalo
parametrov oz. določiti uteži vhodnih podatkov. To posredno vpliva na kakovost rezultatov - kar program zabeleži kot napako, primer spodaj:
(t=9.99): marker error: RMS=0.0150045
Vsak korak je torej iterativen. Uporabnik najprej grobo
oceni parametre (potrebno je razumevanje posameznih
prispevkov), nastavitve pa lahko enostavno shrani v datoteke *.xml za kasnejšo uporabo. Temu sledi več iteracij
finega nastavljanja in ročnih popravkov v iskanju zadovoljivo majhne končne napake. V [3] so že razmišljali
v smeri algoritmov, ki bi samodejno poiskali optimalne
vrednosti.
Pri spoznavanju s programom OpenSim smo ugotovili, da le ta predstavlja alternativni pristop k analizi človekovega gibanja. Za bolj kompleksne študije bi morali
vključiti več izmerjenih podatkov (npr. podatke pritiskovne plošče, signale EMG ali pa vrednosti sklepnih koordinat, izračunanih v kakem drugem programu, morebiti
bi zgradili lastne mišično-skeletne modele inp.). Vsekakor nam OpenSim ponuja veliko možnosti.
Literatura
[1] S. L. Delp, "OpenSim: Open-Source Software to
Create and Analyze Dynamic Simulations of Movement,"IEEE Transactions on Biomedical Engineering,vol. 54, 2007.
[2] A. Seth in M. Sherman, "OpenSim: a musculoskeletal modeling and simulation framework for in sillico
investigations and exchange", Symposium on Human
Body Dynamics, 2011
[3] A. J. Reinbolt in A. Seth, " Simulation of human movement: applications using OpenSim", Symposium
on Human Body Dynamics, 2011
[4] b-tk Biomechanical Toolkit,
https://code.google.com/p/b-tk/
[5] T. W. Dorn, "Gait Extract Toolbox for Matlab, Version 1.71", 2008
SEMINAR IZ ROBOTIKE IN MERJENJ
Merjenje odvodnih tokov pri medicinski opremi
Grega Eržen, Matej Žontar
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
2
SIQ Ljubljana, Tržaška c 2, 1000 Ljubljana
E-pošta: [email protected]
Measurement of leakage current in electric
medical equipment
Electric current is harmful for human body and have
many effects as we will see later in the paper. Because
electric medical equipment is normally in contact with
human body or at least in close range, this area of
safety must be and indeed is strictly regulated by safety
standards. In this paper we will go through correct
steps and methods in measurement of leakage current in
medical equipment.
There are different types of leakage current, earth
leakage, touch current, patient leakage current and
patient auxiliary current. And beyond that, there are
different allowable values of patient leakage current in
difference of medical equipment and types of applied
part.
nam dovolj velik tok, onemogoči da prekinemo stik z
nevarno opremo. Stopnja nevarnosti je odvisna od
različnih dejavnosti, velikost toka, trajanje, smer,
napetost, frekvenca.
Velikost toka - Večji tok predstavlja večjo
nevarnost, zaradi večje energije, ki se sprošča. Ker je
velikost toka, po Ohmovem zakonu, sorazmerna z
napetostjo in ker je upornost človeškega telesa ostaja, je
večja napetost neposredno povezana z večjim tokom.
Trajanje - Daljša kot je izpostavitev toku, večja je
verjetnost za večje posledice.
Smer toka - Za človeka je najbolj nevarno, če
električni tok prepotuje telo preko srčne mišice, kar
lahko privede, do odpovedi srca.
Frekvenca - Večje frekvence toka povzročajo večje
opekline, vendar zmanjšuje globino penetracije.
1 Uvod
Glavna lastnost, ki loči električno medicinsko opremo
od ostale električne opreme je v načinu uporabe.
Medicinsko opremo se uporablja v neposredni bližini
človeškega telesa, če ne celo v stiku s človeškim
telesom, zato mora biti in tudi je, to področje zelo dobro
uravnavano z varnostnimi predpisi.
Električni tok ima mnogo nevarnih učinkov na
človeško telo, čigar velikost nevarnosti je odvisno od
več dejavnikov. Nevarnost za električni šok je še
posebej velik pri medicinski opremi, ki je velikokrat v
stiku s človeškim telesom in se pacient ne zaveda
nevarnosti
Medicinska oprema je, glede na stopnjo zaščite pred
električnim udarom in vrsto dela namenjenega za
pritrditev na pacienta, razdeljena na skupine. Za vsako
skupin je v varnostnih standardih naveden način
testiranja in vrednost še dovoljenih tokov.
2 Vpliv električnega toka na človeško telo
Voda, ki predstavlja 70 % človeškega telesa, je dober
prevodnik električnega toka. Vendar tok skozi človeško
telo ne teče neovirano. Telo se prevajanju upira in
predstavlja električno upornost, zaradi česar se pri
prevajanju električnega toka sprošča toplota, ki
predstavlja eno glavnih nevarnosti za človeško telo
(slika 1)[1].
Druga nevarnost, ki jo povzroča električni tok, so
motnje v delovanju živčnega sistema. Te motnje
privedejo do mišičnih krčev, kar je posebej nevarno, ker
Slika 1: Opeklina zaradi električnega toka
3 Medicinska oprema
Medicinska oprema so ali električni instrument, stroj ali
sistem, ki se uporablja v medicinske namene (slika 2).
Glede na vrsto zaščite pred električnim udarom, se
podobno kot ostala električna oprema delijo na :
-razred I. Prisoten zaščitni vodnik za varovanje pred
električnim udarom.
-razred II. Zaščitni vodnik ni prisoten, zaščita je
zagotovljena z dodatno izolacijo.
-opremo z notranjim napajanjem. Zaščitni vodnik ni
prisoten, zaščitna je prav tako zagotovljena z dodatno
izolacijo
glede stopnjo zaščite pred električnim udarom pa na:
-B-tip. Osnovna zaščita, ki zagotavlja primerno
stopnjo zaščite glede na dopustne vrednosti uhajavih
tokov.
-BF-tip. Aplikacijski del opreme je ločen po načinu
F (floating-lebdeč), to je dvignjen od zemlje.
-CF-tip. Oprema z največjo stopnjo zaščite in je
edina primerna za neposredno srčno aplikacijo.
6 Limitne vrednosti odvodnih tokov
Limitne vrednosti so definirane v standardu IEC60601,
ki definira metodologijo merjenja, kot tudi še dovoljeno
vrednost posameznih odvodnih tokov. Limitne vrednosti
segajo od 10 mV pa do 10 μV. Pri preverjanju limitnih
vrednosti
moramo
upoštevati
tudi
merilno
negotovost(4).
7 Uporaba merilnika HIOKI 3156
Slika 2: Primer medicinske opreme za aplikativnim
delom, ki je v stiku s pacientom – ultrazvok
4 Odvodni tok
Električni odvodni tokovi v elektromedicinskem aparatu
so sledeči[2]:
-Ozemljitveni odvodni tok teče iz glavnega dela
aparata, ki je prevodni zvezi z napajalnim omrežjem,
skozi ali prek izolacije v zaščitnoozemljiveni vodnik.
-Okrovni odvodni tok teče iz okrova ali njegovega
dela skozi zunanjo prevodno zvezo, ki pa ni
zaščitnoozemljitveni vodnik, v zemljo ali druge dele
okrova
-Pacientski odvodni tok teče iz aplikacijskega dela
prek pacienta v zemljo
-Zunanji pacientski odvodni tok teče prek
izoliranega aplikacijskega dela v zemljo, pri čemer
slednji izvira iz napetosti, ki se je nezaželena pojavila na
pacientu iz zunanjega izvora
5 Testiranje medicinske opreme
Medicinsko električno opremo testiramo v skladu z
varnostnimi standardi[2],[3]. Opremo testiramo v vseh
možnih stanjih in načinih delovanja. Zadostiti moramo
naslednjim pogojem:
-naprave testiramo v temperaturnem in vlažno
stabilnem prostoru
-normalno delovanja in delovanje v okvari
-testiramo delovanje pri obeh polaritetah napajanja
-najvišja specificirana napajalna frekvenca
-napajalna napetost je enaka 110 % specificirane
napajalne napetosti
Opremo testiramo za vse vrste odvodnih tokov,
najprej za ozemeljski odvodni tok, nato za okrovni
odvodni tok, način meritve pacientskega odvodnega
toka pa je odvisna od tipa naprave, tipa aplikacijskega
dela ter prisotnosti dela za priklop senzorjev ali
aktuatorjev
Za meritve smo uporabili merilnik Hioki 3156, ki je
namenjen za testiranje opreme za različne odvodne
tokove. Merilnik že sam po sebi vsa potrebna merilna
vezja, uporabnik pa se pri meritvi sam odloča, odvisno
kakšno opremo testira, katero merilno vezje bo uporabil.
Preden začnemo s testiranjem instrument
priključimo na omrežje, z enim kablom napajamo sam
instrument z drugim kablom pa priskrbimo za napajanje
opreme, ki jo testiramo. Drugi kabel priključimo preko
izolacijskega transformatorja, ki nam napajalno napetost
pretvori na 110 % nazivne napetosti testirane opreme.
Za nastavljanje merilnega vezja in limitnih vrednosti
uporabimo zaslon na dotik instrumenta. Za merjenje
tokov pa uporabljamo sonde, ki so uporabne tako za
merjenje kot za dovajanje napetosti na območje vhodov
in izhodov, odvisno od načina merjenja.
8 Zaključek
Nevarnost električnega šoka je pri medicinski opremi še
posebej velika zaradi neposredne bližine in dejstva, da
je oprema namenjena reševanju življenj in ne sme
povzročati dodatne nevarnosti. Oprema mora biti zato,
dobro preizkušena in mora zadoščati strogim
varnostnim standardom. Vse zahteve za izvedbo
meritev, limitne vrednosti, druge posebnosti glede
merjenj odvodnih tokov pri medicinski električni
opremi in primer izvedenega testnega merjenja opreme
smo združili v delu, ki smo ga poimenovali
Measurement of leakage current in medical equipment
in bo priloženo na predstavitvi.
Literatura
[1]
Kralj A.: Osnove medicinske elektrotehnike,
Ljubljana: DDU Univerzum, 1983.
[2]
Medical electrical equipment – Part 1: General
requirements for safety, IEC60601-1, 1999
[3]
Methods of measuring touch current and
protective conductor current, IEC60990, 1999.
[4]
EA-4/02 - Expressions of the Uncertainty of
Measurements
in
Calibration,
www.europeanaccreditation.org/pdf/EA-4-02M.pdf, 2013
Kompleksni laserski viri za medicinske in industrijske
aplikacije
Beti Fajdiga1, Urban Pompe2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
2
LPKF Laser & Electronics d.o.o., Polica 33, 4202 Naklo
E-pošta: [email protected]
Complex laser sources for medical and
industrial applications
The main goal of the experiment was to find out where
is the main source of movements during bonding of the
mirror. Measurements were taken with two different
devices: autocollimator and He-Ne laser in three
points: on the robotic mechanism, on the gripper and
between fingers of the gripper. The experiment showed
that only the optical component between fingers of the
gripper is moving.
Pnevmatsko prijemalo omogoča prijemanje optičnih
komponent z večjo silo od električnega prijemala. Pri
tem je sila prijemanja proporcionalna tlaku. Največja
sila znaša 107 N pri tlaku 7 bar.
Prsti prijemala veliko prispevajo k uspešnosti
pozicioniranja in ohranjanja pozicije med lepljenjem
zrcala. Uporabljeni prsti so omogočali prijem po obliki,
ki naj bi onemogočala premik zrcala med prsti, ko je
prijemalo zaprto.
1 Uvod
Prvotna naloga tega seminarja je bila študija
izvedljivosti robotizacije proizvodnje diodno črpanih
trdninskih laserjev (DPSSL). Ker trenutno proizvodnja
laserjev poteka ročno, kar je zelo zamudno, si podjetja
želijo to avtomatizirati. Pri tem so pomembni naslednji
parametri: ponovljivost in ločljivost robota (velikost
koraka premika), ustrezna povratna zanka s kamerami
ter primeren način pritrjevanja optičnih komponent na
ohišje laserskega vira (lepljenje, spajkanje). Na izvedbo
zastavljene naloge vplivajo tudi togost, sila in način
prijemanja zrcala.
Med prvimi poizkusi je bilo ugotovljeno, da se optična
komponenta med pritrjevanjem premakne. Vzrok za to
je lahko v prstih prijemala, samem prijemalu in
robotskem mehanizmu. V ta namen sta bila uporabljena
dva He-Ne laserja in avtokolimator za opazovanje
posameznih segmentov med pritrjevanjem zrcala.
2 Eksperimentalni sistem
Celoten eksperimentalni sistem, ki ga prikazuje slika 1,
je zgrajen iz robotskega manipulatorja Epson PS3 AS00
z zadovoljivo ločljivostjo 0,002° in ponovljivostjo
pozicije ±0,03 mm, robotskega pnevmatskega prijemala
Robohand RP-50PM ter prstov za prijemanje optične
komponente, laserski vir s pripadajočim ohišjem in UV
svetilka za polimerizacijo lepila ter dozirnik za nanos
lepila. Del eksperimenta je tudi merilni sistem, ki sta ga
sestavljala dva He-Ne laserja, avtokolimator in dve
kameri ter pripadajoče optične komponente.
Robotski mehanizem predstavlja šest-osni robot
antropomorfne konfiguracije. Pomembni parametri
robota za ta eksperiment so ločljivost in ponovljivost
orientacije, ki pa žal ni podana, kljub temu robot ustreza
zahtevam za uspešno pozicioniranje optičnih
komponent.
Slika 1. Postavitev eksperimentalnega sistema.
UV
svetilka
omogoča
polimerizacijo
lepila
uporabljenega za pritrjevanje optične komponente.
He-Ne laser z valovno dolžino 633 nm je uporabljen v
kombinaciji s polprepustnim zrcalom, ki omogoča
opazovanje odboja laserskega žarka s kamero. Z enim
laserjem smo opazovali premike zrcala znotraj prstov
prijemala, z drugim pa premike prijemala.
Avtokolimator omogoča merjenje horizontalnih in
vertikalnih premikov velikosti 5 µrad. Sestavljajo ga vir
koherentne svetlobe, leče znotraj avtokolimatorja za
usmerjanje žarka, polprepustno zrcalo in CCD senzor,
ki zaznava odklone opazovanega zrcala (Slika 2).
Slika 2. Zgradba avtokolimatorja.
Za dobro meritev z avtokolimatorjem je potrebno
zagotoviti ustrezne delovne pogoje, ki vključujejo
ustrezno ambientno svetlobo (čim manj svetlobe) in
ustrezno velikost zrcal za merjenje odboja (uporabljeno
okroglo zrcalo velikosti 1 in=2,5 cm).
Slika 4 prikazuje odboj žarka na kameri, kjer opazujemo
premik centra kroga izpisanega v milimetrih, zato
moramo premik preračunati v mikroradiane (1) [3], da
ga lahko primerjamo z meritvami pridobljenimi s
pomočjo avtokolimatorja.

d
2f
(1)
Razdalja f govori o oddaljenosti kamere od mesta
odboja. Pri meritvah premika prijemala je ta razdalja
f=130 cm, rezultate meritve pa prikazuje tabela 2.
Meritve zrcala znotraj prstov prikazuje tabela 3, razdalja
znaša f=118 cm.
Tabela 1. Rezultati meritev premikov robota.
Slika 3. Merjenje odklona žarka.
2.1
stanje
Pred
poskusom
Po poskusu
x [µrad]
-0,001
y [µrad]
0,002
R [µrad]
0,003
0,005
-0,002
0,005
Rezultati meritev
Avtokolimator vključuje uporabniški vmesnik (Slika 3),
ki uporabniku omogoča izvajanje meritev. Pred
začetkom izvajanja meritev je najprej potrebno umeriti
avtokolimator na neskončno točko ostrenja. Na
opazovano telo mora biti nameščeno zrcalo primerne
velikosti in s pomočjo laserskega žarka na
avtokolimatorju nastavljena smer opazovanja, kar je
nujno zaradi ozkega vidnega polja avtokolimatorja. V
uporabniškem vmesniku se nastavljata še hitrost
zajemanja podatkov in ojačenje signala [1].
Pri poskusu so bile opravljene tri meritve z isto
postavitvijo eksperimentalnega sistema, ki so pripeljale
do ugotovitve, da se vsi premiki zgodijo le znotraj
prstov. To pomeni, da se med lepljenjem robotski
mehanizem in prsti prijemala ne premaknejo, premakne
se le zrcalo, ki ga lepimo. Rezultate ene od meritev
prikazuje Tabela 1, kjer so meritve izvedene s hitrostjo
zajemanja 1/50 s in ojačenjem 18,8 dB.
Tabela 2. Rezultati meritev premikov prijemala.
stanje
Pred
poskusom
Po poskusu
x [µrad]
-62
y [µrad]
-45
R [µrad]
76,6
-56,2
-37,3
67,5
Tabela 3. Rezultati meritev premikov zrcala med prsti.
stanje
Pred
poskusom
Po poskusu
x [µrad]
-197,5
y [µrad]
74,6
R [µrad]
211,1
-190,3
580
610,4
3 Zaključek
S pomočjo izvedenih meritev je bilo ugotovljeno, da se
premiki dogajajo le znotraj prstov prijemala pri
lepljenju optične komponente na ohišje laserja. Tako sta
izločena faktorja premika robotskega mehanizma in
premika prijemala. Posebno pozornost v nadaljnji študiji
bo zato potrebno posvetiti izdelavi primernega prijemala
[2]. Minimalna premika pri meritvi robota in prijemala
sta posledica šuma in ločljivosti izbrane merilne
naprave.
Literatura
Slika 4. Slika odbojnega žarka na kameri.
[1] User manual: »AutoCollimator USB 2013.pdf«.
[2] Fraunhofer, »Assembly solutions for micro-optical
systems«,http://www.ipt.fraunhofer.de/content/dam/ipt/en
/documents/210_06%20Assembly%20Solutions.pdf,
(12.12.2013).
[3] Autocollimators,
http://www.trioptics.com/test_equipment/autocollimators/
description.php, (5.1.2013).
Aplikativna uporaba robota za pobiranje neurejenih izdelkov z
uporabo strojnega vida
Primož Flander1, Franci Klun2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
2
Kolektor Group d.o.o., Vojkova 10, 5280 Idrija
E-pošta: [email protected]
Applicative robot use for imperfect product
collection with the use of computer vision
Nowadays, robotics no longer presents only a vision for
the future, but is increasingly a part of the present and a
condition for successful economy. Robots undoubtedly
increase competitiveness, productivity, responsiveness,
repeatability, precision, the quality of the products and
reduce the loss.
In this assignment, the workings of the ABB robotic
manipulators, Cognex computer vision cameras and RS232 communication interface were examined. An
application that enables the collection of imperfect
products with a robotic manipulator and computer
vision has been developed. We have established that
even though the development of such an application is
quick, it is very time-consuming to develop a robust and
optimised application.
The developed application fits the set goals, despite
a few shortcomings. The main shortcoming is the fact
that the camera is mounted on the top of robot and thus
demands the robot be moved to the capture position
prior to the capture of the image. We propose a
stationary camera inside the working space.
strojnega vida. Naloga robota je bila s pomočjo
strojnega vida zaznati lego predmeta na odlagalnem
mestu ter izračunati pozicijo in orientacijo. Robot je
nato s prijemalom predmet pobral z odlagalnega mesta
in izvedel postopek paletiranja. Seminarska naloga je
praktični primer razvoja aplikacije za industrijsko
uporabo.
2 Uporabljena strojna in programska
oprema
2.1
Robotski manipulator ABB IRB 2600
V aplikaciji je bil uporabljen ABB-jev 6-osni robot IRB
2600 (slika 1), krmiljen s krmilnikom IRC5 [1].
Zasnova robota je optimizirana za aplikacije kot so:
varjenje, paletizacijo in pakiranje.
1 Uvod
Velika večina instaliranih robotov deluje v proizvodnji,
kjer lahko delovno okolje prilagodimo robotu. V
aplikacijah, kjer se okolja in pozicioniranja objektov ne
da tako natančno zagotoviti, se roboti niso razširili,
razlog za to pa je v pomanjkanju senzorskih sposobnosti
komercialnih robotov. Eden izmed uporabnih robotskih
senzorjev je vid, ki omogoča brezkontaktno merjenje
okolice.
Danes so na voljo robotski krmilniki različnih
proizvajalcev s povsem integriranimi video sistemi, kjer
sta operaciji vizualnega zaznavanja in manipulacije
povezani odprtozančno, saj kamera najprej »pogleda«,
robot pa nato opravi gib. Natančnost vodenja je tako
direktno pogojena z natančnostjo video senzorja in
robotskega manipulatorja. Tak način vodenja smo
uporabljali tudi mi.
Seminarska naloga je zahtevala razvoj aplikacije za
avtomatsko pobiranje neurejenih izdelkov s pomočjo
Slika 1. Robotski manipulator IRB 2600
2.2
Programski paket ABB Robot Studio
Robot Studio z vgrajenim virtualnim kontrolerjem
omogoča simulacijo, optimizacijo in programiranje
robotov (slika 2). Omogoča realistične simulacije
robotov, kadar robotskega manipulatorja nimamo na
voljo [3].
usreznega algoritma za detekcijo predmetov in
vzpostavitev komunikacije z robotom. Robot je s
kamero komuniciral s pomočjo serijske komunikacije
(RS-232).
3.2
Slika 2. Robotski manipulator IRB 2600 [1]
2.3
Programiranje robota za nalogo paletizacije
Naloga robota je bila paletizacija predmetov [4]. Prvi
korak razvoja je bil definiranje koordinatnih sistemov
kamere, palete in odlagalnega mesta. Postopek
paletizacije smo izvedli s pomočjo programiranja v
Robot Studiu v kombinaciji z “učno enoto robota“ za
vnos točk v prostoru. Razvit program omogoča
enostavno prilagodljivost.
Kamera Cognex IS7402
Kamera omogoča samodejno ostrenje, hiter zajem slike,
integrirano osvetlitev v kompaktnem robustnem IP67
ohišju (slika 3). Podpira ethernet, serijsko komunikacijo
in digitalne vhode in izhode [2].
4 Delovanje aplikacije
Robot se najprej iz začetne lege pomakne v pozicijo za
zajem slike. Kamera detektira predmet in posreduje
informacijo o legi predmeta robotu. Robot sedaj pozna
lego predmeta, zato se pomakne v lego za prijem
predmeta. Robot s pomočjo prijemala pobere predmet in
ga odloži na ustrezno mesto v paleti.
Če predmet ni detektiran, sistem za strojni vid posreduje
napako in postopek paletizacije se zaustavi. S tem je
preprečeno nepredvidljivo obnašanje robota.
5 Zaključek
Slika 3. Kamera IS7402
2.4
Programski paket Cognex In-sight [2]
Omogoča hiter, enostaven in zanesljiv razvoj aplikacije
za strojni vid. S pomočjo funkcij za avtomatsko iskanje
lastnosti predmetov, in samodejne optimizacije
parametrov zelo skrajšamo postopek razvoja (slika 4).
Slika 4. Program In-sight - detekcija predmeta
3 Razvoj aplikacije
3.1
Realizacija programa za strojni vid
Program za detekcijo predmetov na odlagalnem mestu
smo razvili s pomočjo programa In-sight in kamere
IS7402. Postopek razvoja je obsegal kalibracijo, izbiro
Razvita aplikacija ustreza zastavljenim ciljem, vendar je
za izboljšave še veliko prostora. Prva izbolšava bi bila
fiksno vpeta kamera v prostoru, druga pa robustnejši
program za strojni vid.
Literatura
[1] “Robotski
manipulatorji
ABB,”
http://new.abb.com/products/robotic. (dostop: januar,
2014)
[2] “Oprema
za
strojni
vid
Cognex,”
http://www.cognex.com/industrial-sensorchecker.aspx?langtype=2057. (dostop: januar, 2014)
[3] D. Rukav, “Modeliranje proizvodnih sistemov z robot
studio ABB,“ diplomsko delo, Fakulteta za strojništvo,
2012.
[4] R. Logar, “Uporaba računalniškega vida pri robotskem
prijemanju,“ Ljubljana, 2004.
Robotska linija za krivljenje jeklenih palic
Primož Glavač1, Matjaž Preložnik2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
2
Etra d.o.o, Bukovžlak 101, 3000 Celje
E-pošta: [email protected]
Instructions and Template
Nowadays we can not imagine industry without robots
and automation, particularly in routine and dangerous
processes. In this article, we will present you an
automated line for cutting and bending steel bars, which
are used in gear rings for automobile engines flywheels.
1 Uvod
Dandanes si industrije brez avtomatizacije in robotov ne
morem več predstavljati. Le ti opravijo levji delež dela
predvsem pri rutinskih procesih. V članku, vam bomo
predstavili avtomatizirano linijo za razrez in krivljenje
jeklenih palic, katerih končni produkt so zobati obroči
za avtomobilske vztrajnike motorjev.
2 Izvedba
2.1
Naloga
Naša glavna naloga je bila spisati algoritem za zlaganje
polizdelkov v zabojnik s največjim možnim
izkoristkom. Ker se je naloga pokazala za zahtevno smo
le to razdelili na več manjših. In sicer: proučiti možnosti
zaznave višine zabojnika, najoptimalnejša izvedba
samodejnega določanja višine odložišča polizdelka,
vzpostaviti komunikacijo med roboti in krmilniki ter
spisati varnostno politiko linije oz. del le te.
2.2 Delovanje in osnovni podatki o liniji
Robotska linija se uporablja za krivljenje jeklenih palic
v zobate obroče. Zaradi vse višjih avtomobilskih
standardov so strogo določene tolerance, katerih se
mora proizvajalec držati. Od vseh toleranc, je bila nam
najpomembnejša toleranca premera obroča, in sicer
mora biti manjša od 1 mm (premeri obročev variirajo od
150 mm do 600 mm ).
Robotska linija je sestavljena iz zalogovnika dolgih
jeklenih palic (6-9 m), podajalca, ki razvrsti in poravna
vsako palico, tekočega traku, za transport palic, žage, za
razrez palic na določeno dolžino, prvega robota, ki
vstavlja razrezane palice v prvi ali drugi krivilni stroj ter
drugega robota, ki pobere zakrivljene palice iz krivilnih
strojev in jih zloži v zaboj.
Slika 1. Zalogovnik jeklenih palic.
2.3
Komunikacija
Linija vsebuje več krmilnikov: krmilnik žage, krmilnike
oz. regulatorje motorjev, krmilnik robotov ter glavni
krmilnik linije – Siemens S300. Med seboj
komunicirajo preko protokola PROFIBUS.
Kljub standardiziranemu protokolu, smo imeli
težave s komunikacijo vseh naprav. Problem smo rešili
s nadgradnjo krmilniške programske opreme ter
prestavitvijo kanalov za komunikacijo stran od kanalov,
kjer so položeni visoko napetostni kabli.
2.4 Algoritem pobiranja polizdelkov
Naloga drugega robota je sestavljena iz dveh pod-nalog.
In sicer prva pod-naloga je pobiranje polizdelkov iz
krivilnega stroja. Ker se premeri obročev spreminjajo
glede ne zahteve naročnikov, ni trivialno določeno, na
kateri poziciji pobiramo obroče. Problem smo rešili
računsko in sicer ob vsakem obroču (znana dolžina
obroča oziroma obseg), izračunavamo polmer le tega,
posledično preračunamo kje bi se rob obroča naj
nahajal. Trke preprečujemo s programsko opremo za
zaznavanje trkov (angl. collision detection). Več v
poglavju 2.7.
2.5 Algoritem paletizacije
Slednjega problema smo se lotili sistematično. Tako
smo v prvi fazi robota naučili s vnaprej določenimi
točkami, kam naj odlaga polizdelke. Zaradi premajhne
dinamičnosti sistema, je le ta deloval dobro samo dokler
zunanji vplivi (vibracije, človek) niso prestavili
zabojnika.
V drugi fazi smo obročem virtualno očrtali kvadrat s
dodanim dodatnim varnostnim odmikom (5 mm) [1],[2].
Nato smo glede na dimenzije zabojnika, preračunali
optimalnejšo rešitev kako postavljati obroče, vertikalno
ali horizontalno glede na zabojnik. Na sliki 2 je prikazan
sistem odlaganja izdelkov. Eden izmed problemov, ki se
je na tem mestu pojavil, je kako prijeti izdelek, da se pri
odlaganju ne bomo zaleteli v steno. Problem smo rešili
tako, da smo zabojnik razdelili na več con. Robot
odlaga obroče po vrsti, posledično zmeraj ve, v katero
cono ga odlaga, kar pomeni, da pri tem uporablja
različne podprograme, ki poskrbijo da ne pride do trka s
zabojem. S conami rešimo tudi problem, ko v zabojnik
zlagamo manjše obroče in jih gre posledično več vanj.
V tem primeru robot osrednjo cono razširi, stranske
cone ob steni pa ostanejo tam kjer so [3].
Slika 3. Robot odlaga polizdelek v zaboj.
3 Zaključek
Slika 2. Prikaz odlaganja obročev v zabojnik.
2.6
Določanje višine odložišča polizdelka
Na začetku je bila ideja, da bi višino odložišča obroča
zaznavali s pomočjo zaznavanja trkov (angl. collision
detection), vendar se je pokazala ideja kot zamudna ter
problematična iz stališča obrabe oz. deformacije
prijemala.
Tako smo problem rešili računsko, in sicer smo
upoštevali vhodni parameter debeline obroča. Robotski
program tako pozna začetno višino zaboja, nato pa ob
vsakem ciklu poveča oz. zmanjša višino odložišča.
Rešitev se je pokazala kot delujoča.
2.7 Varnostna politika
Kljub temu, da je celotna robotska linija zaščitena s
varnostno ograjo, je varnostna politika izrednega
pomena. Zato smo ji namenili kar tretjino časa (zaradi
pomanjkanja prostora se bom osredotočil na robotski
del).
Kot že omenjeno, varnostna ograja fizično ločuje
delovni prostor robota ter delovni prostor človeka. Ob
kakršnikoli odpovedi oz. pregledu, je sicer možno priti
do robotov, ampak so na vratih optični senzorji, ki ob
prekinjenem žarku krmilniku sporočijo, da naj gre v
zasilno zaustavitev. Kot naslednji varnostni ukrep smo
program na robotu tako spremenili, da deluje
sekvenčno, in sicer smo dodali varnostne signale z
negativno logiko (ob prekinjeni žici se na krmilniku
pojavi logična 1). Fanuc omogoča dodatni nakup
programskih rešitev, med njimi je tudi programska
oprema za zaznavanje trkov (angl. collision detection)
[4]. Tudi to smo implementirali v program, kot dodatno
varnostno rešitev, ki bi ob morebitnem trku s oviro
varnostno zaustavilo linijo. Poskrbeli smo tudi za
varnostno politiko ob izpadu elektrike ter vrnitvi le te.
Naročnik je želel avtomatsko robotsko linijo za razrez in
krivljenje jeklenih palic v motorske obroče. Pri tem je
bila naša naloga poskrbeti za paletizacijo obročev.
Ker gre za industrijsko linijo je najvažnejši
parameter zagotovo zanesljivost delovanja. Kljub temu,
da smo se problema lotili teoretično in sistematično ter
pri tem našli tudi rešitev najoptimalnejšega zlaganja
okroglih obročev v pravokotni zaboj, je zaradi dovolj
zadovoljivih rezultatih obveljala rešitev očrtanih
kvadratov. Izkazalo se je celo, da se največje možno
shranjeno število obročev ne spremeni, ne glede na to
ali uporabimo algoritem očrtanih kvadratov ali
najoptimalnejši algoritem shranjevanja enakih krogov v
kvadrat.
Projekt lahko označimo kot izredno uspešnega, saj
linija že deluje in izpopolnjuje pričakovanja naročnika.
Literatura
[1] “The best known packings of equal circles in a
square.” [Online]. Available: http://hydra.nat.unimagdeburg.de/packing/csq/csq.html.
[Accessed:
09-Jan-2014].
[2] H. Yu and L.-W. Zhang, “A Nonlinear
Programming Model for the Packing of Unequal
Circles into a Square Box,” in The Sixth World
Congress on Intelligent Control and Automation,
2006. WCICA 2006, 2006, vol. 1, pp. 1044–1047.
[3] H. T. Croft, Unsolved problems in geometry:
unsolved problems in intuitive mathematics. [S.l.]:
Springer-Verlag New York, 2013.
[4] Fanuc Robotics, M-710iC Series, Fanuc robotics
data-sheet, Rochester Hills, 2007
Industrijska robotika, aplikacija paletiziranja
Rok Goljat1, Erih Arko2, Jure Pucelj2
1
2
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
YASKAWA RISTRO d.o.o., YASKAWA SLOVENIJA d.o.o., Lepovče 23, 1230 Ribnica
E-pošta: [email protected]
Industrial robotics, application for
palletizing
The goal of this project was to test an application for
palletizing and its features. The application was still in
development phase, so it was important to note every
bug and error, so that the developers can then try and
fix it. The application was working well on a demo
station where it was being developed, so part of our
testing was also there to see how well it can work in a
different environment and settings.
Differences included a smaller robot, which was
originally used for welding applications, a vacuum
gripper and a different type of product.
Due to the application being in development phase,
there was no detailed description of functions or a
manual in English language.
1 Uvod
izhodi za razne senzorje, kot so na primer senzorji
prisotnosti produktov in prisotnost palete.
2.2
Demo postaja
Demo postaja je vsebovala tekoči trak, ki je bil
simuliran kot drča, po kateri so drsele lesene kocke, ki
so predstavljale izdelek. Poleg drče je bil še prostor za
vmesne kartone in mizica, kamor bi se zlagale kocke.
Ta je predstavljala paleto.
Kot robot je bil uporabljen robot varilec, na katerega
je bilo pritrjeno vakuumsko prijemalo. Kocke so bile
dimenzij 70 mm x 70 mm x 70 mm, z majhnimi
odstopanji. Paleta je bila dimenzij A4 formata (210 mm
x 297 mm), vendar je bila tekom testiranja odstranjena,
namesto nje pa je bila uporabljena kar mizica, na kateri
je bila paleta prvotno postavljena. Kot vmesni kartoni so
bili uporabljeni debelejši listi formata A4. Senzorji, ki bi
sicer bili priključeni na razne digitalne vhode na
krmilniku, so bili simulirani s skupino stikal.
Pri robotskem paletiziranju je pomembno, da se izdelki
zlagajo na palete dovolj hitro in s tem ne upočasnjujejo
celotne proizvodnje ter da so na koncu vsi izdelki
stabilno zloženi. Stabilnost zloženih izdelkov se
zagotovi z različno zloženimi nivoji ali pa z dodajanjem
vmesnih kartonov (angl. ''slip sheet'') med posamezne
nivoje. Potrebno je poskrbeti tudi za to, da robot
izdelkov med odlaganjem ne poškoduje, zato je
potrebno poskrbeti za varno trajektorijo odlaganja.
Zaradi dolgotrajnosti ročnega učenja robota, je
zaželeno, da se robotski programi ustvarijo s pomočjo
aplikacij. Ena izmed takšnih aplikacij je MotoPal, ki jo
razvijajo v Franciji. V pomoč pri uporabi aplikacije so
nam bila na voljo njihova začasna navodila [1] [2].
2 Testiranje aplikacije
2.1
Slika 1. Demo postaja (Elipsa – drča in vmesni kartoni,
Pravokotnik – mizica kot paleta)
Preizkušanje funkcij aplikacije
Aplikacija je sestavljena tako, da uporabnik poda kateri
elementi bodo prisotni v robotski celici. To so lahko
tekoči trakovi, palete na katere se zlagajo produkti, kup
praznih palet in kup vmesnih kartonov. Za vsak element
mora uporabnik določiti, kateremu uporabniškemu
koordinatnemu sistemu pripada,
kje v tem
koordinatnem sistemu se ta element nahaja in opisati,
kakšnih dimenzij je le-ta. Odvisno od tega, za kateri
element gre, pa se lahko še definirajo digitalni vhodi in
2.3
Priprava za testni zagon programa
Aplikacija poskrbi za večji del robotskega programa,
vendar mora človek še vseeno nekaj stvari storiti ročno.
Tu gre predvsem za določitev točke TCP (angl. Tool
Center Point) in definiranje vseh prej določenih
uporabniških koordinatnih sistemov.
Točko TCP se določi s pomočjo kalibracijske konice
tako, da se orodje robota pripelje v tako lego, da bo ost
kalibracijske konice predstavljala željen TCP. V to
točko je orodje potrebno pripeljati petkrat, vsakič z
različno orientacijo, od tega je z-os orodja določena s
prvo lego.
Uporabniški koordinatni sistemi so koordinatni
sistemi zapisani glede na bazo robota, ki jih določi
uporabnik. Določi se jih tako, da se vrh prijemala (TCP)
najprej
pripelje
v
izhodišče
uporabniškega
koordinatnega sistema, nato se določi njegova x-os in
nazadnje še poljubna točka v xy ravnini. Ker pa smo
imeli mehko vakuumsko prijemalo, njegov TCP pa je
znotraj samega priseska, smo zato morali vzeti novo
orodje s koničastim vrhom in določiti nov TCP.
2.4
Testiranje delovanja funkcij
Testiranje funkcij je potekalo tako, da smo začeli s čisto
preprostimi programi, kjer je bilo lažje poiskati in sproti
odpraviti napake. Ko so takšni programi delovali
zadovoljivo, smo te programe nadgradili in ponovno
poskusili njihovo delovanje.
Prvi program je vseboval samo pobiranje produktov
in odlaganje na paleto. Pri tem ni bilo simuliranih
nobenih senzorjev, paleta pa je imela samo en nivo.
V naslednji nalogi je bil dodan še en nivo produktov,
zatem pa smo preizkusili še delovanje vmesnih
kartonov. Takšnega programa ni bilo mogoče uspešno
preizkusiti, ker na voljo nismo imeli senzorja na
prijemalu, ki bi zaznaval prisotnost kupa vmesnih
kartonov in računal oddaljenost od vrhnjega kartona.
Prav tako nismo imeli podprograma ki bi upravljal s tem
senzorjem v povezavi s prijemalom. Problem smo
preizkušali zaobiti tako, da smo v aplikaciji odstranili
del kode, ki kliče ta podprogram. Program še vedno ni
deloval, vendar smo tokrat ugotovili napako v aplikaciji
ki teče na ročni učni napravi in jo zabeležili.
Preizkušanje smo nadaljevali tako, da smo v
program vključili še senzorje. V aplikaciji je bilo tako
potrebno določiti digitalne vhode in izhode signalov.
Tudi tu smo imeli težave, ki pa smo jih čez čas uspešno
odkrili. Čeprav nam je aplikacija dovoljevala poljubno
izbiro digitalnega vhoda za posamezen senzor, se je
izkazalo da moramo izbrati točno določen digitalni
vhod.
Kot zadnje smo testirali še spreminjanj trajektorij
odlaganja, pogledali pa smo si tudi kakšne spremembe
bi morali opraviti, če bi imeli še kakšno drugačno
prijemalo. Spreminjanje trajektorij je bilo dokaj
preprosto, ker je dovolj da spremenimo trajektorijo
samo za en produkt, ta pa se lahko prekopira še na vse
ostale. Za različna prijemala pa bi imeli malo več dela,
saj bi morali napisati nov podprogram za krmiljenje
prijemala (angl. macro). Pri vakuumskem prijemalu tega
ni bilo potrebno, saj je bil ta podprogram že vključen, in
je skrbel samo za odpiranje in zapiranje prijemala.
Slika 2. Primer načrtovanja trajektorije odlaganja (Levo – tip
ukaza, Desno – urejanje, Sredina – potek)
3 Zaključek
Odkritih je bilo kar nekaj napak, za nekatere izmed njih
smo lahko tudi ugotovili izvor. Ker je aplikacija v fazi
razvoja in sicer v Franciji, je tudi precej napak v
angleški verziji programa. Tu gre bolj za napačne
prevode, kar se morda sliši nedolžno, ampak lahko hitro
nastane zmeda. Nekatere napake smo že med obdobjem
testiranja sporočili razvijalcem, oni pa so nam podali
rešitev, ostale pa so bile posredovane po zaključku
testiranja.
Literatura
[1] Logiciel de programmation hors-ligne de palettisation, 1.
izd, YASKAWA France, Saint-Aignan-de-Grand-Lieu,
2013.
[2] Ecrans utilisateur dédiés à l’applicatif MotoPal, 1. izd,
YASKAWA France, Saint-Aignan-de-Grand-Lieu, 2013.
Načrt energetske prenove Fakultete za elektortehniko
Nejc Krajnik1, Igor Pušnik2
1
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška c. 25, 1000 Ljubljana
E-pošta: [email protected]
Plan for energy renovation of Faculty of
electrical engeneering
The faculty of electrical engineering was built in the
sixties without any insulation. Later, additional parts of
the building were built. The yearly costs of heating and
electricity for the whole building are substantial.
The task was divided into two different parts. The
first part was a census of electrical consumers in
cooperation with IRI (Institute for innovation and
development of University of Ljubljana) in category of
cooling units. The second part was the calculation of the
payback period for the faculty’s energy renovation
(finished replacement of windows, insulation of the roof
and facade) with PHPP – Passive House Planning
Package.
pomočjo teh podatkov se je poiskalo notranje enote in
se določilo, kateri prostor hladi posamezna zunanja
enota. Naknadno je bil določen še čas delovanja
posameznih enot in vse skupaj je bilo zapisano v že
pripravljeno Excel tabelo. Na celotni fakulteti se je
naštelo 241 hladilnih split naprav.
1 Uvod
Fakulteta za elektrotehniko je bila zgrajena v 60-tih letih
prejšnjega stoletja brez kakršne koli izolacije. Kasneje
so se dograjevali še posamezni deli stavb. Za celotno
zgradbo se letno plačuje znatne vsote denarja za
elektriko in ogrevanje.
Naloga je bila razdeljena na dva dela. Prvi del je bilo
sodelovanje pri popisu energetskih porabnikov na
fakulteti za potrebe IRI (Inovacijsko-razvojni inštitut
Univerze v Ljubljani) v kategoriji hladilne split enote.
Drugi del je bil izračun vračilne dobe investicije za
določen primer energetske sanacije fakultete (dokončna
zamenjava vseh oken, dodajanje izolacije na strehi in na
fasadah) s pomočjo programa PHPP – Passive House
Planning Package.
2 Delo
2.1
Popis
Popis je potekal v sodelovanju z inštitutom IRI, ki
izvaja interdisciplinarne
znanstveno-raziskovalne,
razvojne in strokovne projekte prek usposobljenih
strokovnih skupin [1].
Za potrebe detajlnega energetskega pregleda je bilo
potrebno popisati vse porabnike energije na fakulteti.
Porabniki so bili zaradi preglednosti razdeljeni v več
skupin: hladilne split enote, razsvetljava, klimati,
črpalni elektro pogoni, elektro porabniki.
V kategoriji hladilne split enote je bilo potrebno
poiskati vse zunanje enote hladilnih split naprav in iz
njih prepisati proizvajalca, model naprave, leto izdelave,
nazivno hladilno moč in nazivno električno moč. S
Slika 1: Izgled izpolnjene tabele za popis split naprav.
2.2
Izračun primera
Za primer izračuna vračilne dobe investicije se je
uporabilo starejši načrt energetske sanacije ki ni bil
nikoli izveden. Načrt predvideva zamenjavo vseh oken
na fakulteti in dodajanje približno 20 cm izolacije na
strehe ter na fasade vseh fakultetnih stavb.
Pri izračunu je bil uporabljen program PHPP Passive House Planing Package. Program teče v Excelu
in nam omogoča vnos vseh bistvenih podatkov za
izračun porabe energije na fakulteti [2].
Vse podatke o fakulteti kot so število in vrsta oken,
površina in zgradba strehe ter fasade in vse ostale
potrebne podatke se je pridobilo iz diplomske naloge
Marka Mlinariča ki je te podatke že uporabil pri
izračunu energetske izkaznice fakultete [3].
Fakulteta je v grobem razdeljena na 4 dele
poimenovane stavba A, stavba B, stavba C in stavba D.
Vsak del ima specifično zgradbo strehe in fasade, tako
da je bilo potrebno vsako stavbo za te postavke
obravnavati ločeno, medtem ko se okna lahko
obravnava v sklopu celotne fakultete.
2.2.1 Okna
Na fakulteti je skupno 862 oken [3]. Od tega je bilo v
preteklosti z novejšimi zamenjanih 529 oken. Starejših
oken je tako ostalo še 333 in v programu PHPP so se
vsa ta okna zamenjala z novejšimi. Toplotna prehodnost
okvirja novih oken je 1,3 W/m2K in toplotna prehodnost
zasteklitve 1,1 W/m2K. V tabeli 1 so podane dimenzije,
število in cena posameznega novega okna.
dobimo 917061 € za obnovo fasade in strehe skupaj z
davkom.
2.2.3 Vračilna doba
Tabela 1: Število, velikost in cena oken.
Po primerjavi številk iz programa PHPP na sliki 2
vidimo da pred sanacijo za ogrevanje kvadratnega metra
potrebujemo 76 kWh na leto, po sanaciji pa 37 kWh na
leto. Fakulteta ima celotno površino 17470 m2. Iz tega
podatka in računa za ogrevanje iz oktobra 2013
(fakulteta se v celoti ogreva preko toplovoda iz
Ljubljanske toplarne) kjer je fakulteta porabila 56,6
MWh energije je bila cena 6369,7 €. Postavka za 1 kWh
energije je torej 0,113 €.
Število
Velikost (m*m)
Cena (€)
11
40
12
18
212
4
36
1 * 1,8
2 * 2,5
1*2
1,2 * 1,6
2,5 * 2,3
1 * 1,5
1,8 * 1,6
200
688
230
220
770
190
360
Pri izračunu pride cena za vseh 333 novih oken
213400 €. K tej ceni je potrebno prišteti še stroške
odstranitve in odvoza starih oken ter montaže novih, kar
navadno znaša od 25-30 % cene (odvisno od več
dejavnikov). Zato k tej ceni prištejemo še 25 % to je
53350 € in dobimo skupno ceno za nova okna 266750 €.
Tej ceni je potrebno prišteti še 22 % davka na dodano
vrednost, ki velja za take primere in v tem primeru
nanese 58685 €. Skupna cena za okna je torej 325435 €.
2.2.2 Streha in fasada
Tabela 2: Površine streh in fasad [3].
Stavba
Streha (m2)
Fasada (m2)
A
B
C
D
1662,7
1312,1
825,5
1270,3
2314,5
3004,6
784,4
1026,8
Pri izračunu cene dodajanja izolacije na strehe in fasade
se stavba C ni upoštevala, saj je bila leta 2000
prenovljena in že ima nekaj izolacije, hkrati pa je
sestava fasade komplicirana in kot taka izredno draga za
energetsko sanacijo.
Za vse ostale fasade se je izračunalo, kot da se doda
20 cm Tervola DP-3 (kamena volna) s toplotno
prevodnostjo 0,035 W/mK in ceno 55 €/m2 vključno z
delom in zaključkom (omet). Glede na površine fasad,
ki jih razberemo iz tabele 2, dobimo skupno ceno za
fasade 349025€.
Pri strehah moramo, zato ker so le te pohodne,
namesto izolacijske volne dodati stirodur, potrebno pa je
umakniti tudi staro kritino. Toplotna prevodnost
stirodurja je 0,035 W/m2K, za 20 cm debeline pa skupaj
z delom odštejemo 53,45 €/m2. Pri strehi B stavbe lahko
zaradi zgradbe strehe uporabimo Tervol DP-3. Po
izračunu glede na površine streh (tabela 2) dobimo ceno
za strehe 229199 €.
Skupaj za strehe in fasade dobimo ceno 578223 €.
Potrebno je upoštevati še vsaj 30 % nepredvidenih
dodatnih stroškov (postavitev odra, odstranitev stare
kritine, odvoz starega materiala, strešni zaključki...)
torej 173467 €. To prištejemo prejšnjemu znesku za
streho in fasado, dobimo 751690 €. Tako kot pri oknih
je potrebno dodati še 22 % davka na dodano vrednost,
kar nanese 165372 €. Davek prištejemo skupni ceni in
Slika 2: Poraba pred sanacijo (zgoraj) in po sanaciji
(spodaj)[2].
Izračunamo, da se je pred sanacijo letno za
ogrevanje porabilo 150032 €, po sanaciji pa bi se
porabilo le še 73042 €. Razlika je torej 76990 €.
Skupna cena sanacije strehe, fasad in zamenjave
oken je 1242496 € in če to delimo z letnim prihrankom
energije pri ogrevanju zaradi sanacije, dobimo vračilno
dobo od 16 do 17 let. Vračilna doba je izračunana za
trenutne cene energentov in brez morebitnih subvencij,
ki jih je mogoče pridobiti za ta namen.
3 Zaključek
Projekt je obsegal pripravo načrta energetske sanacije
Fakultete za elektrotehniko. Popis hladilnih split naprav
se je oddal IRI-ju, ki bo s pomočjo tega popisa in s
pomočjo ostalih že omenjenih popisov naredil detajlno
energetsko bilanco fakultete.
Pri izračunu investicije v fasado, streho in nova
okna, smo dobili vračilno dobo 16 do 17 let, kar je
realno za take vrste projektov. Glede na pričakovan
trend, da se bo povpraševanje po energentih in s tem
cena še naprej zviševala, se lahko čas vračilne dobe tudi
skrajša.
Literatura
[1] “IRI, O nas.” [Online]. Available: http://www.iri.unilj.si/o-iri-ul4/. [Dostopano: 03-Jan-2014].
[2] Dr. Wolfgang Feist, “Passive House Planning Package
2007.” Passive House Institute.
[3] Marko Mlinarić, “Energetska izkaznica fakultete za
elektrotehniko,” Fakulteta za elektrotehniko, Ljubljana,
Diploma, 2012.
Sistem za umerjanje štoparic s pomočjo kamere
Katja Pretnar
Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana
E-pošta: [email protected]
Stopwatch Calibration using Vision System
Stopwatches are instruments used to measure time interval, which is defined as the elapsed time between two
events. There are many different methods for a stopwatch
calibration, but they all base on a comparison between
the device under test (DUT) and a measurement reference. The uncertainty of the calibration is highly dependent on a human reaction time, which is estimated to be
approximately 0,2s. We aim to reduce this uncertainty
with a use of a vision system. A web camera is programmed to acquire several sequences of both stopwatch
displays and the user than manually inspects them. At the
end, he or she can calculate the offset of the DUT with
respect to the reference. This offset is stated on a calibration certificate and it can be used to determine whether
DUT meets its intended or legal metrology requirements.
1
Uvod
Štoparica je inštrument, ki meri časovni interval - čas, ki
preteče med dvema dogodkoma. Enota za čas je sekunda
(s) in je ena izmed sedmih osnovnih enot v sistemu SI.
Njena definicija se glasi:
ki prikazuje izmerjene razlike v kazanju in ocenjene negotovosti teh razlik [3].
Kalibracije štoparic so izvedene na več načinov. Najbolj enostavna metoda je primerjava prikaza štoprice z
znanim časovnim intervalom, možno pa je tudi neposredno merjenje frekvenčnih signalov časovne baze. Za zagotavljanje referenčnega časovnega intervala imamo več
možnosti, npr. s pomočjo zvočnih signalov, ki označujejo točen čas (radio, telefon) ali preko številskih prikazov (ura na spletni strani, ki prikazuje uradni točni čas,
referenčna štoparica). Pri izboru moramo paziti na zagotavljanje sledljivosti, kar pomeni, da lahko uporabljamo
le certificirane reference. Glavni viri negotovosti pri kalibraciji štoparic so: negotovost reference, ločljivost testirane naprave in reakcijski čas človeka, ki izvaja meritev.
Prva dva prispevka sta znana ter se jima ne moremo izogniti, vrednost tretjega pa na grobo ocenjujemo na okoli
0,2s. Za natančnejše postopke moramo izločiti vpliv človeškega faktorja [2].
Dovoljene meje odstopanja pri kalibraciji štoparic so
odvisne od aplikacije in področja uporabe. Tipične vrednosti v primeru podjetja Krka so:
- za analognih štoparicah so dovoljen meje ±5, 4 s,
Ena sekunda je trajanje 9 192 631 770 period
valovanja, ki se sprosti pri prehodu med dvema
hiperfinima nivojema osnovnega stanja cezijevega atoma 133 Cs.
Zaradi atomske definicije in današnje napredne tehnologije je sekunda definirana z izjemno točnostjo (v letu
2013 manj kot par deležev v 1016 ), kar je najmanjša negotovost med vsemi osnovnimi enotami [1].
Štoparice so dveh vrst; starejše analogne (z analognim prikazom in mehanskim delom za merjenje časa)
ter digitalne. Te merijo čas na podlagi signalov, ki jih
generira kvarčni kristal. Najbolj pogosta frekvenca teh
kristalov je 32 768 Hz [2].
Kalibracija je postopek, kjer primerjamo kazanje testirane naprave (angl. DUT - Device Under Test) in referenčne naprave. Kalibracije potekajo na večih nivojih ter
tako tvorijo verigo sledljivosti; od kalibracij na ravni nacionalnih etalonov do “terenskih” kalibracij, kjer so zahtevane točnosti precej manjše. Pri slednjih gre za umerjanje inštrumentov, ki se uporabljajo za merjenja v vsakodnevnem življenju. Kalibracija se zaključi s certifikatom,
- za digitalnih štoparice pa ±5 sekunde.
2
Metode
Podjetje Krka v svojem meroslovnem laboratoriju umerja
štoparice za zunanje naročnike in za lastne potrebe, saj je
merjenje časa pomembno tudi v farmacevtski industriji.
Nemalo je kemijskih oziroma bioloških postopkov, ki se
morajo izvajati točno določeno časovno obdobje, saj je s
tem pogojena uspešnost postopka.
Namen našega dela je bila izdelava sistema za umerjanje štoparic, ki bi izločil vpliv človekovega reakcijskega
časa. To smo dosegli z uporabo kamere. Zajeli smo številčne prikaze obeh štoparic (referenčne in testirane) na
eni fotografiji. To smo ponovili za več merilnih točk.
Za vsako štoparico smo izračunali spremembo v kazanju
med dvema merilnima točkama. Na koncu smo primerjali tako dobljene razlike testirane štoparice z razlikami
referenčne štoparice. Morebitno odstopanje je hkrati pomenilo napako testirane štoparice glede ne refrenčno štoparico.
3
Rezultati
4
Za zajem slike smo uporabili preprosto in cenovno dostopno spletno kamero. Dandanes so takšne kamere že
vgrajene v prenosnike. Program smo napisali v okolju
LabView podjetja National Instruments. Za zajem fotografij smo uporabili elemente paketa NI Vision Acqusition Software. Grafični vmesnik končanega programa je
prikazan na sliki 1.
Slika 1: Čelna plošča.
Uporabnik določi želene časovne intervale za 4 merilne točke (npr. takoj, čez 20, 40, 60 min), hkrati pa
lahko z gumbom ročno sproži zajem slik. Ker smo predvidevali, da utegnejo nastati problemi z razpoznavanjem
cifer številskega prikaza (npr. sliko zajamemo ravno v
trenutku, ko se obrne zadnji digit), v vsaki meritvi posnamemo več (5) fotografij. Torej imamo 4 meritve s 5imi slikami, skupaj 20 fotografij, ki jih kot majhne sličice
prikazujemo uporabniku. Če le ta klikne na sličico, si jo
lahko pobliže ogleda v enem izmed dveh večjih prikazovalnikov grafičnega vmesnika.
Zajete fotografije se avtomatsko shranijo v izbrano
mapo. Ob vsakem zagonu programa se ustvari mapa oblike
kalibracija_YYMMDD_HHMMSS, vanjo pa se takoj po
posameznem zajemu shrani celotna sekvenca slik (format
slika i a, kjer i označuje trenutno merilno točko (1-4), a
pa mesto v sekvenci (a-e) ). To nam omogoča, da tudi v
primeru nepredvidenih težav ohranimo že zajete slike v
spominu računalnika.
Program je zgrajen na osnovi dogodkov. Večino časa
tako “ne dela nič” ter s tem po nepotrebnem ne obremenjuje računalniškega procesorja. Ob zaznanem dogodku
(iztek časovnega intervala, pritisk uporabnika na gumb
“START, STOP, ZAJEM”, klik na sličico) pa sproži ustrezno akcijo. Ko smo napisali program, smo iz njega ustvarili aplikacijo s končnico .exe, obenem pa poskrbeli še
za ustrezno distribucijo, tako da aplikacija deluje tudi na
računalniku, ki nima namaščenega okolja LabView.
Program poskrbi le za ustrezen zajem, shranjevanje in
prikaz slik. Za ostalo mora poskrbeti uporabnik; ustrezna
priprava merilnega mesta (primerna oddaljenost kamere
do štoparic, ustrezna osvetlitev), nastavitve parametrov
kamere s programsko opremo kamere (kontrast, ostrenje,
zoom). Vidljivost cifer je močno odvisna od teh nastavitev, prav tako se lahko razlikuje za različne USB kamere.
Diskusija
Okolje LabView olajša delo programerju z bogatimi knjižnicami za računalniški vid, a ta mora še vseeno natančno
poznati princip delovanja in zahteve uporabljenih blokov.
Pri komunikaciji s kamero smo morali paziti na ustrezno zaporedje korakov; najprej smo sejo vzpostavili, na
koncu pa jo tudi sprostili. Precej težav nam je povzročalo zajemanje in shranjevanje slik, saj se podatkovni tip
Image vede drugače kot ostali podatkovni tipi. Gre namreč za kazalec na mesto v medpomnilniku, kjer je trenutno shranjena slika. Tako je potrebno pred vsakim zajemanjem fotografij pripraviti ustrezna mesta v medpomnilniku. Posebna pazljivost je potrebna tudi pri nastavitvah zajema, saj se nam v nasprotnem primeru lahko
zgodi, da LabView z novo zajetimi slikami prepiše stare.
Opravili smo še test na realnem problemu. Ugotovili smo, da brez večjih težav lahko razberemo prikaz do
desetinke sekunde, medtem ko je razbiranje digita 0,01s
ponavadi bolj problematično, vendar še vedno izvedljivo.
Nerealno pa je pričakovati, da bi lahko z nizkocenovno
kamero razbrali tudi mesta, ki ustrezajo 1ms.
5
Zaključek
Uspeli smo pripraviti program, ki zajema fotografije štoparic za namen kalibracije. Uporabnik lahko na podlagi
teh slik izračuna napako kazanja testirane naprave glede
na referenčno. S tem smo se znebili negotovosti zaradi
človekovega reakcijskega časa. Hkrati ta metoda ni idealna, saj so zajete slike težje razberljive za večje natančnosti (npr. stotinka ali tisočinka sekunde). Dobljeni rezultati so najboljši možni za uporabljeno nizkocenovno
opremo in so zadovoljivi glede na predpisano natančnost
kalibracije.
Zahvala
Zahvaljujem se g. Miranu Rudmanu, vodji službe za meroslovje pri Krki d.d., za opis problema in podporo pri
testiranju.
Literatura
[1] " SI brochure (8th edition), Appendix 2: Practical realization of the definition of the unit of time", BIMP,
2006, zadnji popravek: junij 2013.
[2] J. C. Gust, R. M. Graham in M. A. Lombardi,
" Stopwatch and Timer Calibration (2009 edition),"
National Institute of Standards and Technology, U.S.
Government Printing Office, 2009.
[3] M. Glaser, M. Kochsiek, Handbook of Metrology,
Wiley-VCH, Weinheim, 2010.