Skip to main navigation Skip to main content
  • E-Submission

JKSPE : Journal of the Korean Society for Precision Engineering

OPEN ACCESS
ABOUT
BROWSE ARTICLES
EDITORIAL POLICIES
FOR CONTRIBUTORS
REGULAR

이동타겟 추적을 위한 데이터이동법을 이용한 로봇비젼 제어기법 개발

Development of Robot’s Vision Control Scheme Using the Data Moving Method for the Tracking of Moving Target

Journal of the Korean Society for Precision Engineering 2018;35(7):669-679.
Published online: July 1, 2018

1 조선대학교 대학원 기계공학과

2 조선대학교 기계공학과

1 Department of Mechanical Engineering, Graduate School, Chosun University JFIFddDuckydqhttp://ns.adobe.com/xap/1.0/ Adobed     ! 1AQa"q 2#w8B36v7XRr$9bCt%u&Ws'(xy4T5fH  !1AQaq"2B Rbr#u67Ѳ3sTt5v8Sc$4ĂCÔ%UӅFV ?_Aנj- H>>,m*>fzp"TrKkr^r.|_&]|*vPuܶvoQ1mwVJUhu-I"=LniAƕ8"۲ k*ҿ[yu:.vUQ+)%F DHyVBk>Hy8jݹ q~9D4KRmzQ)^ʔ.J%k_tVi5NTjg!'ky|5asOȻ)R۸ߩFMԿ3L4j6dڜ#NIwUF]JqB/(FafJRzq3\G՛ ?~\ 6)6W4m[O^L0E&rRMض*C .]Unl-1 1r#Rj/&QɈ׉˩s6Rj=5Tg.y.·Pӡ:JJS:C8-2u]d&vUz;7p9 5VnL֢"y)">iי(IDDd| Yj0; LRfS:ktYK%*N2^m|&dğth":ey)uPQZW)gcC3Pv&MMWd&Ŵ۲mvTRoժM03*F3Yd6\8,\hݻ kߔi<k NTwSԪmljj[>->ptU%'LR>&EBH$MQAUx[$Z6vi&_a.KIQ{hyƒ j"JOC9eFҝfj;˚Ω<[3_m% lQ@4g=5$(J]Yc-OMq<Ǎ wSzڗ)k$7VIP붾ͯnV+卵*t]iЎD31~SA1éC2u)ʼnQn-Uoi3:grI8ؓWm*G zܕ)ZקJ}Y YlGeJ6cB2I NS3Q>k=KTBT]W6+SOXQgGR? telˊ%-Re\hѯ2TF"C/OJΩ6r[N.0{SpljjX1“jOsӥ;ҭhe}xu`Ք&.)yO̒ Fߑ.$Qw;9Iw2o+RVJMSOj[SoҌZ%;`d$blQ{Ro{Imڌ>3egf\O֝Uzx"䢸g+mv%Gʆ:|V[N'&ס-ޝ'kfE|K,G&˳98Juin/\\Qݿ̋v~Ǩ!rtWU d|E߫R4d}.qPw*Ӭv5YEcn~f5c%MTMkb-F>5JT,})QHg%{("ӔȸWMsYyWNRrkkJr0XドnͫT}r-jj,Ŕʍ\Q2Ri>v$5!]"JB2WɅ)]VԜUc8i|.jeRO6^V.¸ Q&#|ܶ-*uOG%JAtRZRr]FFG\۩w+?'zչSѧt jz>KW&ot{7P&2D;&\\>Q2JzܗAKSfeNn[jRrԕf6,q,F1tRfԗ>vֶևj-&R'Zi2=xv~Elbsvm8=ӛ"ū񕜈BȩlWau[]ٷBߨF~J!|Ipr3R̴#Yp)={7:G{+:\W}n|Q#%)7^-h"Ƒq:M*%J&$T軨I333׎g_- ucBwwjp[6i25$̏bU’ٱRv?G\~#Iͪb7<<}Ezt" q_Inw,7-d,G÷%T* Wg1"䥱kq/A.,_KhqŒxwvo u2ۥۧ.bQ}XκA$֣ +K״ZUNmڸII{.v{5z5ѮRme[moyƾd~cRݾK'j.\i&/S6f|b=5: p!6i_ 4j6=.si˧eƾtS^c.Y^RJVS-Vi3,esi08?H$GvZgg?gi䤟2adw릿:"۪lkSN>q-4kI܋ێe̊qۅgDoѨ9; #T.Q;7#~_Ufstb_'w~Xw1Xk,vcOt._}v}8"(4Z\ۘgk?J?bm_c!g{HZV]Fkk%~gEt)b秴vΰB|꽸}mp~E6ݹv;7P٤v+ri*3Ԣ|'O14_~7nP{7ZU\Vű[ +7󖱅o#:ǥŬ\|3r%TJX]V7ez¨Y]lc|O3V! R zbJ'PnGqVJ"19WVeOF埜EaEJωqCN5Z g-9[S<$sUK5b|7sn\7x qmv##FF\ w[=-43$^ooVSiXօv7iB۴yg>]Vf"r$J3""32!Zh[K%7GvNLs+4nB/B{vlsobJaҺJR:0g%&zR\ S3T[&ִor*ⷳc3ʊO[iozW٨%$gn:ܶWwFBԹjHP&z u&F2\f;ipW73 [; '_̽b;vib!oec dC-tS__$Xs]l9&z$2/N>%'[}b{h/{`{Ji׉׏ YJB/X%}.|+{(S:qz]4_Kѵo`^tY_4S#* ^zvݾMr+TrkQ g.8Ͽ^i>ӈǙvix>$o( ^qt*&t1oJVu-ql5U6jCЉmĻ*"?JT=K'O/|=Vo}l0b}}f?X[?/\JSBe,kP8ETJ==?.p5ފgbU9}ǶdNKk—_$8̸͓ۍ8Di\BԿ-1v{FF]|.^ۅ{vl12׏z7-R7wE?\nh\jN/Kձr_oBw"N QMBZqe-m:ӨSn6j4%!hQ;sv'm4kcM=!8\m[M4{SMliۇ%eֽR&N:{2A8)THLK3Zj[jPBx#BگMf:G1\`edcʮ?|w(-̮vXt,bW2;.ιNHRR#YwTM"<;mk\.foIDjmlJ;vxy7o7i\,KQŊ9d^Mmgc L*.T6tLeIuOH3SJQ3=F/ʿ<9\JM6mN6=<{xkP!F1QR[I$6ُimXu2An2yԒMU q f[IB-'䤯jYm52&JG\zд\~vdg QtHGXw&1Lw+nDEdC1w|YJmvP)HZ>i0BPβә?R:QO["]I_Jʏۍ>QKyu^bycBq4lXF~l [\*N>-J6,Gq(Zr5h]CwYӤU~ʶߑ u*SIv%ZfJ7)! FS*s_\|IŸZ)J ]ܜi4"z[+Z,MOZ))}|Ʀ(RUNIII.S'ˍO~˨rn}M)xxӕ0 eyҵ7YMAB]ӣU:/ѭ*6bcwP͵ "+qēVjŹO|GtY4V j[mLV M -m>",B$ GD1~j6O4|LxnNmqATNR3ε|DŽa[fmn-ڭ+FiK7Pcm;r5 l8r{#-]'nrFh2ruycb;pW=njRqRJ(d mnpckNnʹ+6]tz~E=ʕ l ZZ5jSi3#47.Lcfe`9؏v囜.F\-UZ:*0_<Νu9Lӵm&)_3\^ҹ3"1n1v_|uRʞͫr'iȧN_kH׺8xXrj=\МH)V\ˬ.Xʸ oVRC}ySU9/OBY먌5 ٿwޞ)rw8Ӫi5*5ZΗcGƱ !ZۄlmpjJ -l <R̵/JAպZuq\IdUS 48wXJJtcg4cI~aqߓwŷrm-v)G7yS^7H^-\mŌAq|"m9IBnF㏉9[N+mmy/!KKۉ%n +BdddfFF6FQRN-U5;Sv'm4kcM=Mn)\qιqUd9F%",6MGdT%-+~ f%+y֛^3SrF>6lc(֪vۊN;g._0Sѧ]ETWرkQKzGe9ʨsKA"yC y2\[5 rԭ7Gk5Mzw_4sM3hxЊ'oÍ5jsub )ͪ~tR2H]R͍>̋m6=%(˿(Wrr-܅y5(ܔJ޺YunW̹븹NsqK ]/QR#"ZMDfD|43Qw|._ԡSqTZBg??O Ϥ)/E_U|i}2 9Z?¹0:x'3,whǣ?C y-A~=daJј&M?D1_PS+Oi&;a @;Dž7[ zZC"bv:jjMQk$M RԸ3uA\=wI.AwC"^.{?-\NSiˏ"b}T/}q/ o.1M}R%:-ZniʒL$SgrBW*,Mw'N\ɇ{s\j]VryG'8f`}'N<*/`U숻z CwHq18J+vԕKss4R53/&XTt1bZƟo\=%nO)h$rBi-nKĪ^ ջڜlwkYm[̑+/QrZo%TQ;TLs($2C:s.%+eoNttq۰kK7O0m_t_pZ1SsSM7"mevFZ[w -FJ*T*jФQRg BSu|]g:ɵzjqwmltL.e3sRMچkSmjkmWœިm++¦'tILk*բQ D,PB\lI[9{%Gb R6öۍmX-MaʉA931cs..G4CujQտ[9 }G-xwl)IQz j Ó"rqe&=]꾧֎c)<kӳ+0JrRR3'TnXi^xMF Bު*tIL.[h"2"nKzZe'ZV/RrNYz]8죝n]Ķܩ>^Ժ]u-7^\mZjܣ9+Rmn ߑv?oꋘ?&ƪy^N4o=3-ؔ̿*`}V݁ ƒPu8%$ ݗ]wt;\y\>='OjPIp/nJU8{϶FNMsf"ίNqƹ(+ ݮF2Km |jܴZs%zf*eȫ?]4)I۵nR&FX + [jDh(#哑9q9Eծj8noǕZf\J-l&Z˫}`ӎhyrΉn\űn]9pʌӣ"׮Wt?N4_I_~54#/my1Xr*척aS#DT >q ssΛW;3oUaJSRMDgQnt:Ql,/ ܷfRqiM Ȼ>Cob;A>ڦWقM9X~/!'MW.}Vrߔꔵ!5|iB(0-zF=}okڢE$^wW~nokY߮\6՜̌{i-AF*9)\t9IV6۸5ZUF6R$ŨQIq砳YUZ]eyv >hI櫥N )&l JulwE1GDOuFN2| }馥uC1rޫV+^gdb&W[4<^e4YW,d|htͮsUM)۸8:{3d{AѢ)~ \#J=NdƮꮓ90 |1K$v*?мS ]i$J,C,SG?/_՜pMSƯM|mG1V1$~K>CSvkuj=&) -,yLjuFHK{c駗.SOua;BrSqj-ۍZ#'Jys7[g2z/.u4+XV2VQ.ޕ)$"(%)#Z7suZ%j }BǬݕe)Jvz8zJf:hIN|svO1O#IEcۍjݽ:SdὮvu^@:o^5cs>i/VqmVm]ؔܢn6'vޑ̗J4Wn@OlKbX ;n:hgJ9ŻyǑz8f܌q&Y fN0N;[69 rbׅC2/#kE l&2~èMR.*%g=Ft.%؝e8<.e=Uv{~㻏"EˑnvDѭ͜Lu3u0:U֝$[M5<:oi+V4V9 6nXvx&_ q Qqw3W:uϔ2yb/(ɳ|5zQiJ#r|Hw#.W?4aDŲ\ugWG;Cw鐢K|xg)##=O.dF˟jMUvWĻsr.z]kPc9"]R)mkfOd*uYf١RsB Aîh=k]ʳUrrZsq`d#r$/Ը3o^&lRWȍyuW̦Y4QDUMJ65ƒ[+ygk XK_±k#y:8(TJOSQhJt2.DR}"5[) r)6V6u5k:eXZmv𭤔!푊Q[qQ}ҹLE- 8qIZG|UM4j}Mܕ[Vwm{} Naqµ"ԈM zOpKѰ?IAD3Ir0'/q1itoB5{%wkOBn-ۜduqIzYK60{+DʕܞqIt";r1mG/\/ym[6JƫR \L=S=OT@Ix[TMm{>ݾտ֒ݸӉLYIx>+"JVNzx||5rI?C{oz8۹e\R-^\A2F R+N9 vlT]"ۭ d)t֞i #E2jB@׵=#/N+!ĕhx}I!cM`ąZ*ŻɄҒ߮Y.Z}='/oۙ3IpW̮hT7cTSuz9>B}΄&h!>lӵn~j˅IvU.'v'CSZw8QK3G> ,J59ٷ+HSg䧎hJdzvwv-cvxS5[̊n~ؿ%ַX?O0\6ne 6kn9.ϯ} *h 8_QhLݣ7q +=XBҲ5?[[)+F`=4 }B,sNg==u*Nj9k_GJ)+R~GSPBȒZ:(K]heL=vKPӢwq(NrG^ثϣ?#tC?.ͼ[ۅo؞y#%ǛjVyLSw%T*s92JTM%"YkQО.q)gCͲn8cgi6j1MѾ[{9h^vƘǚםidfi.^RHmg&rׇz:}݃}xT$ضk'5s-狶,\vpbPD،=Okf.c#cdz2FK5T!&)|ntD<+OŹU i-G[EE*FDfeaf2QƤM\UG_{ǹm%\yrGy:.\4wjPGUJޕUV7Do\7Vy_13w;[?c]H\$IJ,*L]3b%L{y.JRKG2sq,B6T}(#nW|km+q5] r㪍bJ@y{byz,b踊3ϻJ,'^xd،)JVw#.Vټc''ÝպWtbRؒJz۠8!o9IۄS95E9ؔ-e9JR{dmnッ<[~n${~Њ$W?&ՐY_? #a.ߑv?oꋘ?&ơ|y^N4o=3t=~7!/M3>n8W홎2M`Qx+ z qy8%]7_~540ۦ彷]Wq CѡwkďyF5Dum_}~P(5.(X,K9vᯐ?leB9;Jhm#3{CxGE-S{;@Fz˙]=O'!ɿ]' r`:7'2bЖ>Iy,/eTy/V<.H?UYY{\^#ѣr9^7?xoRȆ7EoS_&??zϾM?(~Q-K&>"~aߨ t7Emsϛ+?;fCr)fY+>z$tIkjn_>vnrֳki-˹l= t;'EyC¥|/BLwBJdgjۛ$s S1|ɍV%JI6KvəhzIlBYɒ|0"Sy0F>eo5W)O+X˻u';v)2vVq۳kۮws?UʑBǴYO漪e2MIjPAک\b1)DDؚKm6ZWΨgȕ۶yjڳ 2ضN[C[|r@9Jfo<_eI7q.|cÊV߷:i.:$ȋ)1%%)ADZCEBxJ0MJۥy(bNsKM9k43IwNt.\%N簤I'.j|ƃ2$grBEٌ\}9:v*!n7M(ɽ]7c@XxƱԨ37īf62cTTfFK]9wntQHͮvٱI/f|j=7}\_V5U^+:uljSȃY(XI.ȱmo1甅jڎIZ2>#\*:gY|4k\8ZwSqtyA!+];бޞKծË¥e)#5ap.QK^8VdU{*ѽL\=qmjnB5>{ Ӟ`v±5 ^k&O~Oshɷ,;6nOW>u6{RqS`)S%jp\ipdEBLfTWy$GIYw~䲭J.1vSY5z.V>^+Ǎvc.I[R{QsNR3ӎfhd>y?UJ*}~[e\i5U^͛E]G_FS(Iɿ]i8:4zj~շsW,ˆsy:%O}iur]iF5~3M:Ӟ#N06)4ߧgdawIotiz:1r5YDZLHBSi;NQc44la=Y kQIT*ըl:tq2(է9VO4뒳܂~2rq'nrVZŦ[t7\oլfb/mlpc.I8콚q^1iE~䰳mi[dۧw֤ICfdFeCsg:i| 6擣׋* 96lust^{%99UNRvaMܽo ammi$em4D6DD\nA%$$#}۷/ݕr99JMն[oT޲E"KTaP+HGkŴj5TM5xƱOS-k`ۛkٝWz;{kS}F;~q|~^_|euwnE'pSupUP)V]vE+t =ZRaVdG6= *.ϼnj9:UɷbېmF_tޫgHjVS'śǕًdkkѻ_]Kv?nT>)^e=Ar1'3ԔILyD?:-^in):{7.؂\.:V }#뺾.3r̸*xbFM aȵz 6SQ:ײj[ 8nn iFMw rR"5M5I旘35f^j='j:nNW.ʭocZvZKV^ɚJ.cM1ZI7E'6rg탸5oZ=[m Z`\hbMUR١Ȗĉ):Jin!_7Dй+f̷eKҷvͨBPR(V`y6tw*MRΝcB.ڭTnc;P$8nFvm4(D(R#R-L -2:FP lxZKQc6I("Km%$E, 78uXIFA$RQI$JbInG]c[ֹ:ZM+n^')JmJMJRu{e)7jQDw~%yQl}BZujSSf۩QZ+Dzhd5o%BIc'GZ?}΍:>Ɵivז-%݌J5MqGWTVʦh݇ܟ~Օ_6 n'{3~mϬj'J11OȻn߃r Qr\3y٘+WӍ'WxEs^O3 o~[|7>]]H9݇ZomT@]?5B:Z߂'`V_+/MSKX߆ޠk3?o7y:4R/7þ] iG߬aBRU&?r&/} cQߥGj2?C5Yśe7hU=?+ x龳f-܈czW^7p%-(\D4h{UK&ӡn^m]Fݢ:`δvj俜F+) y[{{ 7 tu>gvrěOj'5 iRg[ͶFjGe n~qT$ci ۚ0oԹc*jL[sVWqj\ݻ&6"WoK:cnWmrv)o>66(F>=W^bf#c zzʞtپy%mՉPël e}J.\Zk4ttt>oEM=q)hJjI=ͥ(%]脼_88ф;͛gWG;Cw~˘$4=uWdĜTثNDkiQL9U*O"4XP`02,Ge-k5$h>ܼ]3vr6!9RQPIVSnM(ۓ{>;/Qͱv{3&-[rc)ܚI$n{Sv3[j00)-D3z}MRzVQпj,T[uVs0\}Sid;r(ݝJ>æʺL&c[jPK0~d(FKÝW\m]GTcF|Iׁ)I3~#oX%vҦEݑؼ5Żv2qAZTE^..M{ʐfȏ2##.R}*KʛZz^ӞN*lPťLf\G6[WVQquV]XAi)5J!,$iJ6o$tPZc;Kjx_n3`qIelV~vLy{fn匋Ѿn%;zV.n'-ұdd2߽1bZksPe3TI9)$ԩIN9Vơ\=2885N\ p)/a柛w9g_lױo8ݷ iixJV& ғRi{N^_oAŮE6Y7I$Nk$|Q)-*4Z)^¸%4Qm [I%.c-OV+C֧R#%ѨCe3i;w$G+_dy| Fzj$DI(=OA gj%v/]8qԯNIS*֩',Q%\44ZZ%D|Ǧʴ6&vֵI$%8(ԬƾS&#Z. }6z?b/|Jl{ץv&mpx4Z$”ڝ4-H%dGKfM:sKSRWeJAn]>s6应-W9'H]'uȫYvgK^\czp|My\鏩w/ËQ.)]\QiS`8uL뚛̸=J"ܻi\å'-)54Ue]:K\퓡vK xwBqrH\*֕TnzC.mT=t-H]SČ~Nu╏NÅ3f|͡G~B+Xm[Q7U{9"~jgK Zoʰ7"qJ,ekSeNGgϳ] ^.6:s}_,%eRg<5⿨z{ZPun#jRІ.6g T.!]xa c#jN$Zpl̋H WZu8WmMRýsĮ?Mco~sx TU҆Q :KDG4n42.<3/'^?6/ܠڒ^yrrÿr2\D}}B]^E~^T cɛ7϶Y[<֞[7d}2%QPqOLEQR\CIsj1?\}%tJ0e~ *sk"*)&ۓEi#{1J8Hrt|'ܝRr8)=ƔN'RVz:cf]F7bZyZUȘ4x8,#JG̒?.W9XnO]KO]%]ƻ O5Γ/3qÓj؍/r̺rƵ 5\&m6h.xoeX[=<3%< lZ"2h\Z[&jW3ejm?k&[]ųj+{N{66leu_+lj]q* 7g*knأYv= q ەdxЬZ|%GUrQ3jLŒqET]1% qkXYūYc[7Ś]QY\jko\</Lc7+'hMSUc6qXyؙ~6#ѯv.0$BQi5YyIhɍiy=KD!n3Vm[V%W-B%swa97ajۗ m+9~]fKq|Ddaˑ0A]_v޺mM5* F-BYHJ5}q>ʉ.6hyDmpD׬'-_v5;5[8K[viJ.3dR:oYHHh9I7:۽fi+wm^ [)odPѱ52CZUJicSw\&_s0uBȍh32džzQflcd^m|7GѹE!fO5]]H9݇ZomT@]?5B:Z߂'`V_+/MSKX߆ޠk3?o7y:4R/7þ] iG߬aBRU&?r&/} cQߥGj2?C5Yśe7hU=?+ x龳f-܈czW^7p%5|Y:SJE\U-(a_cƣUǽXXKiȞNlmۊڭڄR!**ܤMeȽ$|X5(Ź\rJ~ܮ]>'HB0cp XFr_c?f?7<ukSgov¥iG>>䙗i.+t+bOjIܶ . i^:nm}s}(3>NZ$2Qg([".>i.ƾ)B̋M8+"- >eE6DݥJnJˣt׻ 5.˅nJGwZD~!i۶a,Db3ZQ3O#KO5/֍ozuK'GbRi᝘NV_ҝcvם ZoX}F6z 7e5_e:ۓj=AB+iܔERadMBq*ԯ DwI/Gy*mĥiRKg6skY/#SN4e$-yXM YL?^ĸNNӪ{$r1JJRSLO]Aqm>V/s[~i/j+m>z}eI"Qvp]{ZԼ:{vPAG2=T͡@ڐ#u"E*>C;o$~C#_d/HBq^YRٽzIKbOm\~żjFFGdiQ(*/i*#.FF]©m=BmpQQQSP&Ҫ!T&^>:y)$ˑÐFčI Bӡ-t!bM WҦŶ'UZ=}zvn~oT/\ǒ'nr8 AJIӆz<^uߖ4eFC1i+v!3qNyߕni?4JZlmYFXFۼO0B\m[ tʄU3s"Sr(NJ;SKW72L4̏BVdf^Ҹj\]ȱ۪(ӷm?J-KEmWڽ^4<8qu%9pŹW~877ܾeVгS(յe^C]yX͹! םm4FGȋ\y'Z FX7e)|Gjt߹#gb\ŧq_([R8[qU$Z (ʻezV2V!iQ,i$JE˂٩ a(GK'O{vnBvryRd-RK4=qxZJMl_CuuIz @Rt㮽޳!|68\-l[џ84-2Pu" RJ_^OL>G1~XnBŬw6J0*Uvlږ1N G1q9IUm*'oWu][&UyYZbBZRZNfEJf"+2nF~Eû7n1xv.RUM$6 lAxSQJ&n5ܞwlEói"#>4׿Q.nEq7Oko[1wg8ZQwZYiqtm&~">Bo?w͡ni2峋NCEy Ҕ+%ZJ ʩq*fpˤl,~^Mχk1+:ݕ z&Y`KLӪУDr3[*Z :(SL&ݻ۬Vqsyԭs x|iI߽zZrg.:mp%6ԜvgmpIUt;QbS.Է) ǨKSV,*lڌ|5Jt3#NP.=+OZ~/G سIgbꥹJnl_DUM\iM!֔wVZuԺ,yV.Q>f v:݇WiaŸN5Ҕ[M7SsrvǣrMW= \8ZW-jsnڕ.ZnF2qt ً[ٻޘY۷Zm"Jxr&NAfA-݌to9s359݆mZ+N1-qS$D=17 x׵+%_ ve4ir6Z$FDڗnFtOr'7'{9C˨ꤡaYoace{Refnft RR"4%ʌm:Sj3)OdInTO>X'vxV#jܮw9Fog;5.~Y5\~18YQܹvj4+~t7S ﬕs %^۵ڴDZV69R^Y+rj$ԇoJKR5wB9C>Y:l+EǎS{ʲ{T6Wi* ^^9k/y/Cs\g*qڵgn4T8mERr|Ti+iPe;;.i\EBEJ 丬i9ɧM-ԼsGDrZ>r#R>~X9y4b棇9JwV۔%m(b[Tjvl}۩~nDԺ{Zo-YuK1vx.nWuO+jN [ٮ0%"΢CdTJK-RަH"$I(*ve &҉FzB,_Vpqp9m8werv')E;o&QE׵^d9˦j\_,ڵugZȻ̧8k+jK{wmr@3ӭ2 wFkzFVqs1؛.v'I%$[iT]D5Dl2 nk7qUxԫLS+sا3/ΖeZYK<["%-g/kRs:f3;*E ت wJ%)5&+&rw*霣i|sMҴ|;R+fm䡩.!**dӶ-6s6,]zAXMWjmnz%SJߴm2UXw7MQ%<!tKys#P,W>s;3IYwx<+i_\\\U6 u7P|xbn_k&ӓVOe䦒 VUr,-㘘"-LZeOSҠթrEvq8Kf%5%&K"#%vD/.ZYYŏ+p$nZkvއuW9㓱Z G wYIFyf)?ƎUm5ԉ/'k84{KO:rQI}XRuԪ|*lu)3qZ[mSm5R3".Xcَ5c®ࢫI*۳~wRϿQWޝ(EJrri&ۥ^ʶ齲Im|[yb;mnm֩uiܘq>E+Ikx߄3r33-5𹻖09ϖ9[Tz~mr5NsWl$oPusޛ^{Z;);sڹf\3oٹZmԉ/'k84{NO:rQIBø8Bݱ3n֤DiK4u& ofSȒܩx<˘|N0Fչ]qsp"}! QWw@t4ӭ+cO5%]'*{eM߲DRO1y*q8w++e!c߶ܪlZWّM欼 CQ̼빶lX{vib/V/ ai;x6~]+z]MWB>re-:lgk}պ!#9?%܋V-c[z!W?c7YNm/jRr[HOzԻefճ0q15Zp#rkQQ0tU-AmڵP/cȕ?0cZYj;:0ZM=D6g ?'UN+ձ[K ܖB2'xq9{|۫N0ku 7xaj;n\ 2[VznMlWiKbSk))f..)Km)&bGZ=>OR܍W:j'rM'wYz&/鶧{Sʵb"vջq[I-ՌZH._x*BagC'T(Q:$ͳQcMCKy?3g'ߝqnT);qs #ؤZ}OOI:cfnc8W~qy.;^pVl]Hԓ>^H^@7-AA܃nmL(uWܻS߿ Td95Bdh4t6*dDh!EhI[iŨ\L.&Nc ܮf^;$R)\rip9I|ٺ?#R.ZDZ;/]nݻqs\QE9M&Bd ]N mN*D>tgbK>+ˏ.!23]BȔR1ɝ^j'k2ƮqBQq[$di]icV/e`޵B.FIIJqbi>Ӥ|p; 6${)RU>_e}^dzdfzi %ekRVUS?6'hׂ)5.\+qUgzE2C˷ecŏ^֔ibk shesFWJ#~> Wk~ݨ}ڶ>ơǚ)׽ZƉo~B-ڼrvoE:Ʃ3ۣK7+Y`WirS):{>ڛ}:wԨ(J_";6R%[u&ƫdZ_\'np| RJwNeTW,=rrbnkڄ[M3ܴz)3- R.?:okۼ0TU'w{6&w7j1z3ON'fGoO?)S_bQ_¿R(^ԴԴG.EtMڇ&RUiW uQjU> Kiu1d<ѥIQ'RQ1:O/lŗᏩiʂv&Jc{D5 Tt)1.n[n۶X}RjqnOʽ(~[Ns{ސ⛌uO,kgo֢dRNQȄ .'6W!׌P朼tdZjFGE"]K@'i۪N;sI[{SOzk>`rRR+!σj8&TjlvA̷Q?HyjyLHNտJMjܶT۽lG?SnKN%<‘ nq[N0Sq[Ta(&t(|HGO~gvkݻTR4&Z$#ViOY1r$6YF?e4U/Mvxų:zbU^gQQ+NW_'4jfz^c'#`rvrڡ(IJ/J ݦ6 ]-CW |_{v*_q3^DZ}Ic6Uڌ8p7{crZq5ki`)mU6|-Z5^iEz3P=:Cu7DF'k%}<C-޹ֲ̱#\,(f88%X-N(ck0VLR~} G"-8ӏ/ϰKq?(#nrVTmZ;zióM4 m |UT'C^_1X.gXM{%ʤd 4\ovN":"y-,T)fLQgۢr=/CƹǨJVr[a+!rT|%Y\ٱzsS>jͱ.oOc6f$q% ǒGo;n[];ߎjrk{~\VۓNIGn:iqxo |~t5)Rxעri{Vi&NUOl_ѮMfsޕkЄay.0P{7N((BaIP$ K"U6Gl ݙqJRu+qN$ m#*p<|{:>-Ev=86N*MM긭U*uѾ?/^o7;'u,h4݌xښRM:5.(/ \իU.{F^rmF-Jɷ.>Q"[4xT^OZ~mK}T0ݛ^SAo9u?lX(' qj%=X}"^e4wˠ|rܫ 6I\Ķ;Ӻw!'ڍWg{ i U_9Avhۣƾ+:vs/MK[ɭīe{`Zgb}r[i'GE2J7Nez579wRq+Un ]J.cJ4M:h箽Wxxm^ pc\wcN%'My $$| :$Fqɏ¾^қP9J6Wxvu}ݵP>Z'FFdg"-; [¢cmWkÎT8nG%ݣ7*\խCLRYZͤiD&J#'ehbSyXK|y*ӞpS̍R`[pTr/Eg)K+92{_ n3zwz'oŸۤ+sOj J:`T>Cf*lwd\fYOP"R E֢̔L4ɥ :;.b(B02rJ蠟9>V'9M%)IqnhP<%,r'P/vNSwr#w"ݨaqc(|{kd=^0jTMR2ULNz|.<|^PfY22##!,K~E BEJۜ&jRNsHަޛg\r,v؜.jK3)[EJ2ii{KEiHP^&]Gn8x=K}Wx/KI9-ϵwQ%spܾ[^R}S3$qvq8M[ ozKxcqmJ/ӿ{_}7&ݨ\f6ZSyQz& 7ۉ[8~UNn|nkiTB+4RI8'Nc%tn{!]Ȋo.nEmʱn𵵥J A+wy#+ikǒڂ;՛s85'KmE:Ђu""Iģ5p=БbTY-ͽڔ詻ngL2Q}$de# fs^o{DUUsfwӶ;s1T,ǤtޒQ\෼J=.tKU,7čJ5 N$y3kdSMQU~mO[03 $zAڟsF5^뜞"Կ QHmrR"ӳηer+ҔZ]hE-6Jmt'ޒ=O[sQj)6K}?e4v_KfZheޓ=BV[bY}lݒTTЬ{ȫvO_qpRApVŗ 6ju=*BR)g "O1yhb=tqJ gtm\b3RY+JQ^Ō֍\յ\>+uSi{=x ^w;uӘ#ĸzLn*$anok߷CBӷ}5Yqvdž<( "_OWit5:EZj2 B ρ1̊fi[n!HQF82q1牙nqnEpT(2RMoM4ϳOu ':֧_Xjsg jP^(ڙ{2%E͖j^}ZU[Q$'U) <܂%!s"m R'G5M0<+zM6qYm$ڕ$3ǧH]?o2N<8F1̻r_my[Rf59NjpzBnl7*{.QP 3N&^BLJPjAHCK2Q}$#~YMq8 k(MFMU)8MEqTy+Tʞ-ar5yܕOXw!e;q-Jqܶ䓊Y:LC UE{/t>r"lI9)3KJjϤA 6SEE$d߇3KG*En|P\ԭTn6I-ƍKTj<1H_zwGr19wF N8ݝ+a9ɫM6mhePi%mmD! """"""*1bRKrD"vnrM۫mmĽm]ӡiG~e"˩ lhRTMk^MX["Jݱk7_ޕ*DqĒ&flՒ}`W}~SմZ{ĕ~wm*/{{ѹ_-0ط#P]xlڱ~Tn5wi*lڪ (JxioϏbqKYR|!|KN53 OS222$jzww%i}>N)E+rۥ7c$Ofl/LNث\6H9: FY󡈾I)fB֔JI_ ֣^: 9mY{66㒢7Uj]:.-os[R&gMF3˸#໹kmjq^8W"PΦURjʄWa˧T!͋ lW48JB2ko+ /Nw QwQzQ ے%$ޓ7^YL|r7!v%Trܥ &|M8~ybrn[RV gSn{{*#2#ԽᢏӴHak" ӌcwҜw&RJ07ױ>Ļ =^ BɆ)v32.M1=#6%̠tҤnzqMwԣ~s*%-j|_m*.Yx9Sz=)qE4 3pk+,`=kNRڥ=B=nŔNAx)Q$ԩȧ4z3t#Z2lҮYn$S%y- JzGpu|LBV7ZW#;Wwipܷ%(6jFG5#{$D"uۭ~]֫SrD܃fҎӾ+Tu>-ZTQ& N|$沸ii>eRWݳu'[O̻j8JۻEѩ[]vni= ڒ,[_%kC7I3Nv$4ɎЈeٸoUu:[}Do5|zNq=Tre%ɧ6&~DȍF]ƞG5q m]/w/ \ʲr8=oʔe9U(W"|S]uZd#?Se[W"ֿh][-7Nu:T=)R}.;ml*5Dlf $fF(̏T hiIUU4Szɕ t(%_|2 ~6eM;TƗK[f&]LK^CE2[ȏBOd;Mi|cx,^6;sیGpQ\NuJIFTJ~đArh* B"$H쉩eXPRj?sl"ԥ)su]xpԴY%VESH"ЋJǰ K&5^Ukzׄ8kEgS2h&Se\ Yl]WҶp-ZUvi7QS:4byqOo+[̺腋[6-_Fo.6[7$p&^ _GZԸߍkc.qqoI[9m߸YxOZЦ1uoiSH)P9Uʄjcq= S>֙NeR><;+ڌk%_qT].srNO?s[=vH[]RZHRMtᩗVؾ:/~u)ԍdg%=edVrISb{6vSu=(ܥ)mTv/J}̇8 S3ad:^hBSf؉OɔLhI_1d8,L><_A0y3rXq"'(۱;mFNII.v5_(^q~X>y{3צ I*Vܛv/jW' T'NR'j%ꔩ:mJ3SB}΋!-H-RJBТQoedi9tjENenPpke.%4]#{:>mkEɱdYWl\\\'nRM4&U>?Ќˉk÷!𴪛]]5}UqG~ݏI"O~s6(Ļ)qO~h}uԕd}Q~G,oE!&G&/]_H-O=o{k\̭bkv.Ô܈+;arZx)m?M\3lU$mk-CFXjTv6u' g:Vn_*qk:VC A%'4JV%EY)#BғO4<e׿jQQ]yUr4=wm[K1r׵%Iũ-O}|kC;/VcݩWZ)EHdžTru]8hgĵ-;=>U_ InvTm_jBM+QiF"9*{DI/iuo(=TzϖmPQl_v4z>T*ȴ>YF;ε\t]EH4ꌇ[VrLzef 2T^V>g2~kg5~Nק;{~Z~W}&ŒBӿS2$J?~(Yœ"˲ߩ\O]: J׉ښT{mmIѩn3˧)4LdFZ/zUG>U> n 5& ϴ-KJi2o]uKljvK3$bԔҚV旧iY5.ίfi96v7!v))FJM4{jG~Jt/lUE%pTAFe4qQk\ve۽/u/Im+W')v{\-E|Pms7߮DZRr۞/mu*1ՙaB܆ -xg3#6ۥtRogʌU)׎]ZҞNnŞr}F1Nnޞ;cZ{N}ۿMiuxʉ*3qi'9KHQ$WJxXyرŔe~[v5~/jN9Q4o6rJv FrdxM*iRjMzUinHdн7ᾞS=S'7 } ̽zt7K|_g J=Lq+/Bw_\ۧx\HJUPzQ<hqF[V0x==CsU7q|^ {)Iq38$_A(VgcKu06Ƅ"%i~_ˉk QCܣB8Ku/񋇵u([w}$F|8TՠI.E !;RJ^}MɒD_q2];Ɖ{5}*n7nEInO{Mwv}&q+v [V}Ĝ@%>#dXQ$f;iep.GquixVt x6bj͵mlKقQ[T]zs/&yەnM'W}!Fp_d^Tu N{ɻ'l{խ2.sTu{W^H&;1s)Pӛ6>$mě;Łnj= fLT)>׸+qReɴ[UR\L*P/!$Ӊ3Q 'K=m~6XqW3^W+ųO_[F$rR*u"T%@O +%# ]˽!aܽz{ͷvQh쩎]hGތ5ɇ*DzJDRNLi 4:{~2FmXY-zzĽ^f=]uū{/+&c:Ma{ĝDp2m܍kHș/(--m_vݮK(V{R}.k&yƴ7i^4@3f sK3^Ř˸B=]?gt5KbZB<e;kQLpxuWC}n 5ҴepB##~q= `x]KWF {GfŲ}?G.I9pjWkU]>={7q{kO/^I3==f1ɏ%nnʫ/Zu_yXN<57ۍ'vy/"8넭M2eԷ&Y,в33%IkjMr7xf nmQkX4踼>a-GcIeތw&U=-:qnW)z¥j :WqSZvԒ#j"KrIU)%qrmRoDGQ~SYRsu*V)  ,/x)MFD6O#]z 96[Ui(JRfw'y$GeUީkdMF-ݻ98F2d[o{Rn0n-xsV6Dh|Eb2E:KCOӪv4SJCr"J!!m,hRLD| ZYFm/X~ΧfrN&4Ƒ=Z9Mh.Mܵw/BdrܥniŪ8ɧ|y%œ[M=_tj?F!z5\evM:\ ~F-sg钬OWq“iiȍ<Gi%%n2rqͻllƑ)okw7}\Uk-:&fj솘XerV9yZuʼşdFC=rmo%~ZN78X(N)_7.Εn1MpJ}62jjJdI";R5&iLԸc:jmqiQj$ujp\{;v5B񥍪Xn Ą4qOERjzN(Ga٠䌡)p*v(J7#ZۻZ8O W uONb+^Qipv9GvֽƼϯrYƖKGJQDNPhRJjᡧC"21"9ѓS1;R_O7/WGz)8fE%F2ukmvSov/iZ&/]~KmI[:^~ͤ\kMi稜\ywJt3W7 8Ʒ~ݥeFgѼw"8VVSج\뻆}ݭ/J6Q)d|)zU3>k\L=;ow֯gN3pKѫ|wmkZ$z^2R:E)f>ς нd|#׆?\ǔpV{;\$ƵE%-ͪm0S6[n< kE[}mvE4DDZ^$OZ0*$~XUv҅B@^?]so#%ojw;Y#SxxueBگy v^i-)s)zV jC{7Gt.w3v,ygg8s]aE_,*E tY5k٨h=o"m泏:\6w噓aiL׎n^c\75AGkЯ0Lf46َ`egZ˓p/k;̛]kq!ݸzpԭG"}R9Ve>ˏHUjJ-&7nrnwG*Xv\˱/vN}O)ʼn&CV͍f̵]r\PMB-6Du-#RͰtRN^)mT _}nSȕC*_xBuTkJW[`ɩ`ejvsngP ڻ.-WUtܑqԹQj)t;vN&RNũT+8%IXӃ5fK՛-d9 ]CƑm|nZ-6=Hz,*aEm W3VzRšdY~Xf׀Xx"]s;)5u*ُHB BRGS6bݶؿ 9j[1*jױga7oX CUI%0v#~\-O-Ꙛuɷ쏪&5mY٦M`LJ2qK~HZbr =N'YobI. (^ ׾{_ ?OJ`S`3BN[}5w6:ǵ/iSlt=4F*d&T4y/#. ɵim5Uֲf 眕6Y7 fơ=3dϕq뚩$qTM-%r!$@A? ޾V0c~{[{;򥧅a~ڵ»&ڄv1ek=wb MLkNAԬw-x>~/r=e73VeVN)K%Sښe"+3uXuچrn ֺVzscJ峻m}vb㶓n\YbIUBT%*,0nov=;z꣓S/nSXSpl##k9mXGrZv^Gde!ŷRԠzQyjC]`gToPov{j~KRBMY}i[߶9KL2ԉO0K#m>wB[ٍ+n[[b٦DX ݲpo] [\m5qdT()mo4Oy9Ie b][wղmM~vmi۱~t \}$яimRk(L c Cvk7r9_r1 ;zv|F@KyZ[&jEji/"6$69ml#e]9s\{ScL}Ȣؿ0q/nZ*t,CLoD߉Njǚy=Pgmu6^]l-["çUʖMlʍp-"qmU>۷uFOJ%Ǔkx 'g=睋k[3u,{³WɘݪF]ՍeFX"Oy\,cچ=w/gn Ļ]#2? vqy-gXnR.^}ݺFs{ŝG]}e|#0mjx"ƬWكm?rgU^xVB":Dt>@LRbun~ݭ,w+v⪕;\U(RYa61>#Jm˞Μ9g9XKaG='u8gf}'qy#ɉw J]We.ʲ-<+&q%s?2dњztҼn`cΤmmqMdz O[-ߩӲ&;[tmܝVnr">{x<8U+p:Ig]zjGkt,uzf}dؠoJaکqEq -(:d<պ=eKy[˗^%ZXkX[C2߱\ITTLGzANM￵i]K>UsOGDDD.ZF6* ҃V Zhz{'xp^`wo8r0h ZmJ5"jb[l=yUu7-;7IT%:jFjߖm0tzU'K)څNۧYJ)4IQ}^KWm7kSP>q;ނ#)'n7&׊r?óM{IwR\j2Qn[v pe#/tAF\ϵ225q֒om6z})6҅*oqDsMf CNIN=T S2t,_ѧ}kveMF0J\Rnnݙܹy[rUc-j{yGtkQ%s]5qB.Nw.JN1LvR Ui5J ZESQԙr):MJ+g}χ!2;q([jAud][ljVK3$ײSJI=/|&tl'*n۽f.frܥ jQO8>&Z];.|7T/C}$ڋUmP2Reҭ8hFF\L 3~e v\۫]ݝNmrnB%*]Z«hKc=BTLG :V74$=Ǘy+EX'4tn(I:Ѝ;Df8c,k1%dJ6.j6ź{N~l6&*fœI7 WAlGOu-ҢH,,(ǔe뿋쩨kM܍ZſgRvQ' 9)?n|er˭|I|-fGK.rΛp8XV1%K6mvG+tc+qE&ǸC_Nm:l=_/m5^[dߌڇ.c<%:)tQ$Ow~-aY;UJ>=F)2[nk؆?훐M=l6[4(O.]2#-H^n#->&mp5~Fӛ+|| S,xag%qkEUzUgæBhߕP(7]kFnq?֖CpruZ6*rEڊtS|*tI*E}7R<,nUU֫^I7Q*mSly%rdȓd8hE<9oHhMfNSRj[i7D[Rj݊+kდq{"$$H?p\̅S?㭻;t~R߁)^/>Qj`yt[w ԛ;²~+ߔ_ YW~|o]?x^ᯛ `ʼn;g)T@vWn]>&4lp+$D̢1l|ȨF%-}.9[}w~ ԠLM9hСablfe&QoW!s?wjLK?s7yO>(=C~_nyǜu?v3vyo oI@qV-jeES^[9WoSܝh"l2C1a͔CiJ@3:Pճw=/7ovuk+\V;lDgն<[A+rX~d;m!_s8ݖ׷;;.0llUC+?i#_crʙ1~C.\–q ul8Hܶ2m`ܻM3Tov|Bs rɵ"oLS- DКw=Tv@f'6|YlD͓Y%׵-#Ѯo%:&!3o%\J<02;K87>^vgƓ# ;ݝmz^Y6=PS39U%~ &f# }o!muH;ʲŇ˷yvP+&.7e[3'vR4Yj̗IZ`e˽3o[WU{ m[sUbۋZǾۆl6~9'V*.\S2<Sd*zY[aŶ`]C$n.v^Ʌ dng>ەZ,Mmϑ :n6nϦezWqUJ4! ۇ4R! =>>Fn|Q[{pRO17ƕ~._I''00k=b՛o}Osðc2'o\3}ݭQ^2 . R1yKȣtAݿ-uܾw!`?1Whn|gzUo[ECWwjUIן)^h#1ɭ!/Z np;o;ΗŻkXs."6E`Z1 עӐ9Kl8qd q} 2Stt;#j>;խabONŗ=fwP1j)l6J̶|gV2`y/0E˛6+ԫ1? 6}KW c\KoKͨ2ۅFw–s*TԞLיuDx .kCzWXhy۶gLu|%TnupǺl-S* PRaLnT+c+*xl.v!.U=|; !_L̎뱚U=4hm:ٯ"y)$:>%(n}X'p[ȴ ^˒4kƓmzDx \ 'NqamP7nyN݅=j7%McSڵj%STy qXymvCg{w/w=wSW5r̹u erծˊsOm=DhEҚRb#n)QOxtվQwe]I}wCa'"[ۂ-z}2UuKP$㜉ԧ:mc<Ý>RoL?wu|%ҷ&K y_!y9 ??:tq3(UU-lkS'ɸ@jdzQˬR] EVPW1DJq2n:,c|ǻ̑;y{X,ۂ.u.b˕u.tKBjQ"[S園S`ٮdNبeJ&9Ơ ~0a(Vm٘L+Jr*vڑE( x0+tp˕ n';wm-ޜMOxX>{#2%jgb2M[`K*\5@8l'e=0u+w ֘鳾{y܀:R*Ya]"Ӧ%ktynlۣ65,3gU}{GYrb;ge'TKwǘ.,rpܚV]Tr,!dp /ԺU,xՉ>s׽~W5oTh yx?xrrx?)?ilbT׬,z$Ԏ.UH٠\U1pU:]JwSrGZq8àd驐,N67QYBӢD㏙W!Q25ϸo9ms-7-%3CihO.J鯽-;MZM8ku-7k9S$8]q2E(}bۏI[DKOK}3KUB^u %Y,u.-&f#]'܆o$x`Yu,dzwM;#oKxn;\[d7}Rb+*Y䛂ZuBӱl{j0O̓}LhK;[aֶaGL{Cb#S.T[>߃F]NK"u^LUʐ_ykW?!GRj29͖qa'0[npcDvV)qz9R)PۨM^aJx W] r>];eN3vxdmĘ(5W2K1䪖weF{mE/QP6\u54x5[hۮ-Nk”i[lUgL]J}5 S:EhiUrgHl!ŒJ$pe=q^b͵Q' ?6|R\,JA ڵ"TDꈭ:ymg`B5t%M] <N_zv2_Ortٵ/i/ReӮ*7[qүqEG* m"[I:6e^p"I$jԴęh!m)]GZkcjS!{e^z}+Cѥ9;R|/ֱeiUԏCNu2Zhcٗg$ݭwvr P8*7/Lk~I'Km1+MW%Bk|oOm>-#qj*|Dbѱkn|n{v#jĮqNpMIUm(7Liz;{ҜݞڝVƚVϬ+sO!OstGvxӉ']uӎ4g_ 1^-8ۦ k!)Ύ5O;YSB#2Zzχ;<.ֵOtge~.(RC#wFZeGZٸ6FFJ4e2ˇpJT$[wgV)q6muDGJ56q\I!̗ y/I~RtJ9kJ]Iy*'FN0s.[l!fw'y(7$œ WƫgyΙdMEU JQJv̋vmrۖ.jWR_M֨djYgSj0^\y'EoECjm$ IƩK>Z28J2TiJ2N#}.s cArl嫶nB.FIJ.)۔\ZiM>/hLĸ=C1s[?YMqp|94- 鮝𦔽/k^#NT(Y LS$6˩}{;5 )B۷W$qpN)qqoot}ZDVә;7TiK|6f3h$dԄ}fqݡ>Nb򗉉+ͶO]>ߡ_VtYf79ڰիF sq~prս|QM)g%l0ocJȨHz V;Bb/kLAcfPJ,ԭ{ƍgpjNR6VSI*$!yV足jᇑ.](EܣqM\qJ2eZT).<9UB/(B0j)mtKEj#׿fDI-=rZړj|'Nڤ]k*i$5qt"ݙPM6E4ke^Z8ۏhz$Q(R Ay2zfRñnpnkbkI:=j &ΝșW?׵d{+ύM'??XqeeĽ.[o=UxFS=ӷdZwenՄ]_X=ĭVa* pKs0ބۍfJ3 gz̚i|wnxtjc¼5${(1fXQ65ȼb̶Zkn>%FQMJXӡ{TZEVNᖣimT/37cNJUPnP҂ZOE~"-Rc4^b- FEͧtf5[)S!OZIښݲ͑;tvܡ+N)AR=hCNn;wL16-:特7M$=Tҕ-.R[HٷnXk sn[ҞD-0WS9p9:-Ϸ-jѬNu{ҹfv)[Ľvwfg(ٷfe+0mYj8Q1\ݧg]Eǎvڿc!4#j5̋C2"}BRriFp7=ô\TZ:\BLfj#I22װ<;صZl j 6:l"6]۸ K'6RTѯ^ئOԓV\?$x7s#r:Oh{ց=MmuHԷd{pN /܅:UE#Yy+(SgQ(Щ)RHzw>^Ѿݻ>mK&^ '$Jۻ&w%F|xfz%˳ L~3N?Cy9 v w/{ƿ kz3x> sXv}vP"@WyC z`'톽Dw%-tt yVY\wmuPYQA0iG-2JP,6/gˢ]u.-n!Zw.N7Q]Df}Q0({a\@=i_X7gFǘ8^⻲}G MZ1)WEfO12G+=-B@z\`||w6ċj߬m}UwRox֢I &c~XGP6Qndpvܻul'V7^FJt^{b^B(L~sѣ6@߿^xqU!ڙ5|Vpvef-uӥ^3  FSDɯKD%0r}FF穛r7 +o"V8tv̖NQU!5uFd"bCr^bJ=֤fM#ʳԷP0O-9xRBm\=`r-:;~3Tl(nXtXi%2Vٛ#vwqƴ`L@"H‹qW.j,JM5B[)WܺUeZFqc'V˷1W7V̾-MHФwn8N;HPSdݷC7&2j.W\τGŎ'Vb]c.x+Rx1%C2T{myg[qU|+m:M:շ8҉yWd)ՋWS%%:iqlʹmGwݹ WnNŤѩ5(9hTٵDdGUi-)vSs2 2{OnT$Xck n:¶(lASLeȔBjμPpTb2~N2~%^k[ܗ[Jzs0ӓHBKq[}JَA-$dFQgjxxFv4r/x*Rm% `4J(&iv7SkԲmSH1YWmx 8n.k']:Z˭_W >ڃXЩ. jTq%Aā[E}amc]D:rmHRiu:uӚӢ\p(5-q%e)(۬ҖȽIf<߽pr&ݫVfY91q2ĭEQgYbTGQ&,yL+N$[q*RVۉQ=FuTܻ>f>f㋳8N6$܌n)9&»iˤsX,݅܍ȩv+sRTpO}d?Wn/Inpȸ%O]StQO|v5\}7Zwb.AIVK^:wb{[uݯcytO߶S<{8KSRׁH̏N7ۚ[xkwYy_'ZӵF+>쌛ZUĦreE9F[24De{}@:ExWs-\ǻ7K-\JNvEk%:s˙#κ].oͳ;լ7wB6nwu:$L; DkI#Wz.:Xp(˅v$Sq,wn\qIN-e<5Oe+vuYTpcojUI_ާP8 O 7&VL8z$_B-H-[uh]T{|8=qVRN-:Ij:7PUtXϷmy鉿:RIM~33ӸS2#׳GdŲ5+/Bx{(WzȨ5Y㞎#|˖+ ط.|e<o/rߔX>7s}VE.OVti׽ .5nNJO"95{#q}Ay9do]R"M6z\tnNS-D!@3N_jicWsy*5uٮRcWv/.,j}=S)j5C^> Ie =gu9ӛqjtz]۪TMoߧI!Ǧ¶m:,"[L!{qAv-o 3{"KʼnrIkfٶj2ƙ؄S`7` k6jzޞ?e5G&6uʷ2%ԒRKE*G\Npom F/V |C0.q_eenƣ<5Oh'67ɪn[SĽ{ڔjǘzs;~׌(ۂ`ܢ1ƣ` _l9Va6%UQWh~P~\F^ZHR@:ۧCJ{ôGeBh;~ۧnU J\O+n2 RҠ)ng}Kh{5+S×ܛ.1ZjG)iRȤIN 4%{oΜ/eO[Nffd ĹK?nnԼMqX'܌nZvq<ķbFnͪaQ`5 s,M_լ?-@_{w{ӺձJ}GF[%v\5[ŒGkOw/ΜM9rjË%2+rd~+󲕛C9U۳r[aJǭm|˒LAʨSCq[XMۺoubfp:t+ΤĻo ][ zt-*67kvS7D·MMCQXm;)܎n_h%]4ܙnRk!]ڵsDUF"`R, &#R_*[z*ZqFXɻ]7|۵w+'pFDەs=r./ᐚm3Hשy yD"jHCr':sA65نѮ^o1V/ f;nFr3VM)e*- s D'H݅fӧ\*޷[k<7u<-]֍Q8R h|p=WlW3s%Q %3l}@U-K6f-NϿu|ڴmWN׮[׸F*mW\%r! C78:޳vBG7ŵ.JթԚ2x)ST!řn~9 W:Wpܢ件{xf8ٳwKE ҰWxVB\qBZ 2wMb[lGSnyԚ~z9ZmያvoN2Afnݽjf>)j3 !;gOYʹK" Wftڎ+׭b*2ϻK>ۢӱeyԪXISUm[z+ugX%0lϏnvg!;t{BqPj>PyvR7Cj]O%+ݲ :qiMj6W}3vC/R=4Som]ŗ=ю, TF6U_-\6MyskwMr&Q\wjKܩyMϣUj0*}RZܷSdY3>Zjqj6TgzpA/M`/Cmл,޻feE[/+uk^Vs1W$G(JsW2ٰu*߻q*Y޵.Wi:ur5T),=0uRmho.twܖiYwrWHntvEj8qhf`Ͻpf(R&>Ki%I7$QӖm-2 ~yߗQ-앑/ x[k8nw.c㩵k}]FkbJl:{.(˩n0Hqvαp7 귎.Gupx[N`Yq'+ruU7[ү+>!xrȫoSo]OC# d^Q]\>!ƛGw^Mx"-+%vdX-:M2UR%d>%l ioSu6lsj7D P>XxHz Ukà(n^Q V>5cVtWj SEiJdznyej[lE' 3kuٌNn4JW)gB {4 j6&]' m-(ZMEz8cz>WZ6#7+[,MR-Z!4ܓtCyE|umj1ƽvƷV\;%>Q :#Le(iVz5 4ũۤUWxX ^(ҔsլB2w-V ^R+; ˂M\z+Uwr+RWY⺧~ Q*JcYSNSλUd8in=v K낫k\IRרSUaCFmϿ5̗P|u ZTԕ}>oYѲ1sfP+sQkX8Gb~6r,s>^\,mGL+7[n-E\.Fqḕcl*Jmjb5 ,m]c}NXfeVlǸJ5eˡ$4%g~N p4Y*WwW٧<8v#;qԩTut,m"#Y D\5V`\\Lȋ];LȇiS6ϝZ l>LruR\v=ǘϔDg=ԈdFZ+M{=|,[;0>RiSi4,S5}yxw&(E7&fݙ4UՕ! ~'Id)]ǽu2K-fޭ \08Vڅ쓬=Vy^^ IhyKR-B#Ըr=]mܻӾ'*Umkoy rTqT_i,/8Q^<ݤ|4ԻO(܄"'5N~#m.(Ҿ2i6Uev&I*<}҄$eNtÛzyWJubW^iBW.܅Wڮg]irO6Ve90sgv.+sV޿aޔ[p?3q*FutUo*eL\KM'EG*ZcAFfG5J 5jj=MJ3OK:k˝'NMB7m3uFҕ\-Ywg%PRqMIyZGY9|μvn߻5cWݷa^+X֥vnݘ\v7m>Fgzv"-;Ew֝}1|RjN𿊀7g#֟*GQQ|#/bo]p$>_Un9гUbn9׃ErQBU-^vDmVh'<R[fdHT]*~}3j;nvjc7s-rӳ Y8[n[1pJx kX[Jk9Mn!_Nю6x:iZ˦U |߉^Ԛ݃hYxk &U^bwKk.[jE+P(˞=9j@snCv7%c_7=xǁ<l {t'酚+1F‹l׭:ݻILruǶkL-L(K0L1&>wXB(pm;1fpnlp֓%Skidkt(U +xulo'/ڕeN r=^pZZ:Pnj8Hf"48ijY[ N[yZٻ+=  ø:3 ?^ܷ^Sr#YK[UF?CuhC b]GM')mڏsNrܗI]ljq6VB. W,UK"YX5{c >Iqā> T:n!,5l2VzCl|+I[*SrjnS6٨y+x,@>П.g+!rn9>N|W>OZT_ut Y""v7|sfި;Pclm EùN,{'fNT%U&LfH8~1v>Il}统u6P˗c(WV~H^bMU.o*oOF0N:_:6Smr_.b+|ݶYY غF,mwjv>f*>QM뭱Sd:`N{l/⎱;n-z~"Gze퇎J5S KG9!Gn;N1 ݎ h6m|S?ɂ5'WOÞ 7|7^ao @mxGmi^jϽ>01Mf0լD3-2T. VXR"ɥV Kl J O7|u?bvа;6.eߓ|[1bmRr,eRz`z 6܎-ͨku͹Fː dPhYgZUj}nvX;z=gVեTv_J }\1n7w2J?ޘγc\E 1Aޑzq;\r]]\Y&[nsNei\uURje*Qk2CSl*xJz-xٶlm+|UjUؓ`Ladqiĩ!Gd\W~fz;Tn*PdRM&T4`չSWq5k훶(N"Ӎ% V]֦wb.nUO!u*J&Oӕ2e|Z=eV쫚΅g#+/RW:طnbi*Wyo)p{:ETKؚR(RY+r웓r(IF) VmȵNB:h Q1ғ|u8E]{,'$-TR[j49l*3"I鯴zhd>Q+\BkNF=.$ZR4Nwհ(IpNi.(Gi33#33e$FXK*NdWrud[r{xnk$v2ıh+J1TQ[#JQl[tRO]LHKٮ NӍnF񨔤֞Em'MILB"ԋ%dBŋ+p̿_17jzT~4pc Vo\ƹb9Rq-'1j;8ܗ)hE%DZKS<璸Bu*%*Yw5ڻ9ۣ^z4U; Ñk\U(o~G?VUĎ:?P?_F_Kߤ~ᓾI |pr.Ok\SklRhҪz{­P .}SktZ7UQ4ڌIM8̈eaӊJZ%FFZu,KZvln廐SNFIVtuNi?CM5]+Ph,{jN JSR$IS^tSUVrORYu.9WyP6 [Kiu m!X|]Y79ӄ)\ģ)pbڳr%*&ꑶ_-H*dzk)1 V3')UAϹٶWRxe'պn۫h7AR9 EAJeGLms!%D| A 5]/Q3eb̄vnVn%za\m kZnv([emqrIҕij|""><hjJשvvǕ|Pޟs}V~2&Z?+2N&Z4w@)4iSڪ_>/JN9Hiۏuf8'It[ȲR.hZ$ȋ_Y ~U<UUO*6b)Ovzڜj\R̋.$FsQuҊj^נ䈈y<zZIuP[}Qm=C?zN(Exqu/kn S-FzKZzOסӽjJ\)F3b!r5ٝ|;6 o=-3*λ]αb\abqRi-w޵⦪~b8Kpo)Z=>)ғ"5/GTZLE-輵f7ݘ۹~+&+w/7GFI:l33fg.N~۲\2|*cnermnnM+Fq"ѪIz%j =YW8@~gc/~?N'?)«qȸs➟n=k" X“m֮VreMh2[uݖ] *FܖN)MȐ`f0 g,C9̑o;ddudJ=In13:ݒvvdMUEJLp^,6t-@͐9'{7m{-3,>hnF;ѰM)->>+Ěz!R* :`e--m7nB\u{b U>[8֪]6^ߤLʦ\DFNo$$dͶlgno8OrsQ\l̯hRo8tuNo+ CTxu!2[>ctFpeޓƻֶR"3QrQuOѳgwQr;S~)6HhZw/GgVTmUf_yt7%$];zLWF̰xy2Ʉu!MCmš_0[W6jf#a-KLi+3Q7c^qg%s<1aYIQeZf+}>;S6L0]Yu_h9߻<ƅpmiM$AVvŚ,*#t2.8Y)-Zhshü97/#Oro"u^/uFgWɺ,p:6a,^x%$Yve^3PƗMnTP&yS}OJ '덫MH^:rXԴJۋ/rI;S*,+yz1hv)Qw^ڍJ2oL׊q(\fDj:^T%vOadɂnS}ZO)N*λdaȜkG_PIEO}нa(^iQX᯦-7^)%g'SJx(.S9zVɴZ{E ))ۅi/s7 VIV-|sj0*UBTHIqRf>FP$KqN0 R̻8j\GcC}IUz\i 6F)Q{Gҧ3qSzKj-Az VЛS-zy:8*mNk|D鿓ND2u+0Yŝ7kqm·?8Ib]u>˗^_>(]vӋzv+ݩ){vZrJ2RQ몋C$z [,pp,8mڊbR]Il .f~d/ݓs㓓mͶ{mgjQwn=Oic9ܚm4Q/6ݨ[TƧ?nԶoytf{@AzT{e{[O'ZRZt~AGD?s3􌿂ՉIw'|~U\ w~di:Kޱ)U/sU%njѩ&GSP^ǝd)..!^U` 1wX[aԇSxoFV6_扐)T 2Mfd=ۖͭiZ7KK Bi9%7@<3<ճԻU,},a}FRqɛr i@ONJvK KLN M, ʖv0n-]DwlI-X6ܶ$Jʴh5O+mOI+Ra瞠\ MG7BفjYo1#͖0V`Ѱ2M?c8>-Crt*JkIGS:e#hPKx[鱼>{5m;wcն&>j-M֥^َ) 6yȜl_w{-ō̱r> U=]iw3)r*]:K]6BdCTZ|>gf}LW}[$'Y5 &c -j.z6R 67MԷFMnÌwI7w5E}o޽+K ֵy4܌ȥW"COyR[q5Ӱ͙f[v"_#q{MV6܍3"u9BK(41ӯqˇc${ߝCi6I(OmθzҜ5k^:>Jzw.>qV8{vU[ڶEm|DžBz].KHjI]x;Mɗ{m,qZXr忇2u^RO2Z}ZێS[2Jen!*NDcrBUً4<ǼMҲs1Zw57c3&ĖڻzmP*FuJG1-dN:|OU}ҵgi2t~F^^Z.VxjvŧnNNh<:]^~NN+ge^g.SԔGFe߯'[vn'(ScJ]kܗ7eJOlRrfziݮq̋S"\*U<*W]k$FջV}? 7g#֟*GQQ|#/bo]p$>_Un9;l S VvQU%OLU{οmU6bZ1MTx%!֙Q7, J=!3 ;Q,ڌ;6ͱ݅q^&ߔ·n #WbwӖX.HtG)N&d̵zpI,n cu ޖUj+VXUp[w]N o.J6Z8Ts&utxln;~HPHS/xw`G\ʡ¿rj Z^vt"[L:SD\h0sUwR,}[x^X,R2Vn< ]2YDr[SRKs8tXb̷G?Ps Tv 3be,zVz D[/I.KOEQrm'$7|[J>r S`5յwT#\w1FTz\Ԛ &"ׅhSHrD\'r]~/>p;:Piuu:"9ő=tTaS7V2rӷk7mb[^WmPp*[y.Þ6f]cizJCgRR@UVl큝.WJP1N{/\whZ ػϧӱE7|E֫Sί.x-Y&pi%v''-x6r'Ws*6=DwwUu]=C?MK [yrtܒG$!WGqJ*%SAz ED[^)/tė/g=#Omd.|^n/sl׉g DZqemqowݮRzUܜ=ڽ-o/Iۖ;qVʘgPp|mm;6zGl9.8pwWgsJ2qPbe}}UpNjٯ}7TMQKrؽtEx%v w߾8%|j;~|}pK]ơ/ w߾8%|j;~|}pK]ơ/ w&~e_H 8PL7:%ʭ5Kw&U2vwR_+rm'}C7#rWoO&HoG?M$UR7{FU]u ;# !Wk`|W>׹潇9Vn)6)*ҹ{%qV4q>W1vi#T"Qk&GwxcJBJ- Ϸ^ˁxkU}ԣ/3.;]J=<*)cS)ROK9H=,r zX @)cS)Da^ԽQ gxJI=w֣gf*TRj

2 Department of Mechanical Engineering, Chosun University JFIFddDuckydqhttp://ns.adobe.com/xap/1.0/ Adobed     ! 1AQa"q 2#w8B36v7XRr$9bCt%u&Ws'(xy4T5fH  !1AQaq"2B Rbr#u67Ѳ3sTt5v8Sc$4ĂCÔ%UӅFV ?_Aנj- H>>,m*>fzp"TrKkr^r.|_&]|*vPuܶvoQ1mwVJUhu-I"=LniAƕ8"۲ k*ҿ[yu:.vUQ+)%F DHyVBk>Hy8jݹ q~9D4KRmzQ)^ʔ.J%k_tVi5NTjg!'ky|5asOȻ)R۸ߩFMԿ3L4j6dڜ#NIwUF]JqB/(FafJRzq3\G՛ ?~\ 6)6W4m[O^L0E&rRMض*C .]Unl-1 1r#Rj/&QɈ׉˩s6Rj=5Tg.y.·Pӡ:JJS:C8-2u]d&vUz;7p9 5VnL֢"y)">iי(IDDd| Yj0; LRfS:ktYK%*N2^m|&dğth":ey)uPQZW)gcC3Pv&MMWd&Ŵ۲mvTRoժM03*F3Yd6\8,\hݻ kߔi<k NTwSԪmljj[>->ptU%'LR>&EBH$MQAUx[$Z6vi&_a.KIQ{hyƒ j"JOC9eFҝfj;˚Ω<[3_m% lQ@4g=5$(J]Yc-OMq<Ǎ wSzڗ)k$7VIP붾ͯnV+卵*t]iЎD31~SA1éC2u)ʼnQn-Uoi3:grI8ؓWm*G zܕ)ZקJ}Y YlGeJ6cB2I NS3Q>k=KTBT]W6+SOXQgGR? telˊ%-Re\hѯ2TF"C/OJΩ6r[N.0{SpljjX1“jOsӥ;ҭhe}xu`Ք&.)yO̒ Fߑ.$Qw;9Iw2o+RVJMSOj[SoҌZ%;`d$blQ{Ro{Imڌ>3egf\O֝Uzx"䢸g+mv%Gʆ:|V[N'&ס-ޝ'kfE|K,G&˳98Juin/\\Qݿ̋v~Ǩ!rtWU d|E߫R4d}.qPw*Ӭv5YEcn~f5c%MTMkb-F>5JT,})QHg%{("ӔȸWMsYyWNRrkkJr0XドnͫT}r-jj,Ŕʍ\Q2Ri>v$5!]"JB2WɅ)]VԜUc8i|.jeRO6^V.¸ Q&#|ܶ-*uOG%JAtRZRr]FFG\۩w+?'zչSѧt jz>KW&ot{7P&2D;&\\>Q2JzܗAKSfeNn[jRrԕf6,q,F1tRfԗ>vֶևj-&R'Zi2=xv~Elbsvm8=ӛ"ū񕜈BȩlWau[]ٷBߨF~J!|Ipr3R̴#Yp)={7:G{+:\W}n|Q#%)7^-h"Ƒq:M*%J&$T軨I333׎g_- ucBwwjp[6i25$̏bU’ٱRv?G\~#Iͪb7<<}Ezt" q_Inw,7-d,G÷%T* Wg1"䥱kq/A.,_KhqŒxwvo u2ۥۧ.bQ}XκA$֣ +K״ZUNmڸII{.v{5z5ѮRme[moyƾd~cRݾK'j.\i&/S6f|b=5: p!6i_ 4j6=.si˧eƾtS^c.Y^RJVS-Vi3,esi08?H$GvZgg?gi䤟2adw릿:"۪lkSN>q-4kI܋ێe̊qۅgDoѨ9; #T.Q;7#~_Ufstb_'w~Xw1Xk,vcOt._}v}8"(4Z\ۘgk?J?bm_c!g{HZV]Fkk%~gEt)b秴vΰB|꽸}mp~E6ݹv;7P٤v+ri*3Ԣ|'O14_~7nP{7ZU\Vű[ +7󖱅o#:ǥŬ\|3r%TJX]V7ez¨Y]lc|O3V! R zbJ'PnGqVJ"19WVeOF埜EaEJωqCN5Z g-9[S<$sUK5b|7sn\7x qmv##FF\ w[=-43$^ooVSiXօv7iB۴yg>]Vf"r$J3""32!Zh[K%7GvNLs+4nB/B{vlsobJaҺJR:0g%&zR\ S3T[&ִor*ⷳc3ʊO[iozW٨%$gn:ܶWwFBԹjHP&z u&F2\f;ipW73 [; '_̽b;vib!oec dC-tS__$Xs]l9&z$2/N>%'[}b{h/{`{Ji׉׏ YJB/X%}.|+{(S:qz]4_Kѵo`^tY_4S#* ^zvݾMr+TrkQ g.8Ͽ^i>ӈǙvix>$o( ^qt*&t1oJVu-ql5U6jCЉmĻ*"?JT=K'O/|=Vo}l0b}}f?X[?/\JSBe,kP8ETJ==?.p5ފgbU9}ǶdNKk—_$8̸͓ۍ8Di\BԿ-1v{FF]|.^ۅ{vl12׏z7-R7wE?\nh\jN/Kձr_oBw"N QMBZqe-m:ӨSn6j4%!hQ;sv'm4kcM=!8\m[M4{SMliۇ%eֽR&N:{2A8)THLK3Zj[jPBx#BگMf:G1\`edcʮ?|w(-̮vXt,bW2;.ιNHRR#YwTM"<;mk\.foIDjmlJ;vxy7o7i\,KQŊ9d^Mmgc L*.T6tLeIuOH3SJQ3=F/ʿ<9\JM6mN6=<{xkP!F1QR[I$6ُimXu2An2yԒMU q f[IB-'䤯jYm52&JG\zд\~vdg QtHGXw&1Lw+nDEdC1w|YJmvP)HZ>i0BPβә?R:QO["]I_Jʏۍ>QKyu^bycBq4lXF~l [\*N>-J6,Gq(Zr5h]CwYӤU~ʶߑ u*SIv%ZfJ7)! FS*s_\|IŸZ)J ]ܜi4"z[+Z,MOZ))}|Ʀ(RUNIII.S'ˍO~˨rn}M)xxӕ0 eyҵ7YMAB]ӣU:/ѭ*6bcwP͵ "+qēVjŹO|GtY4V j[mLV M -m>",B$ GD1~j6O4|LxnNmqATNR3ε|DŽa[fmn-ڭ+FiK7Pcm;r5 l8r{#-]'nrFh2ruycb;pW=njRqRJ(d mnpckNnʹ+6]tz~E=ʕ l ZZ5jSi3#47.Lcfe`9؏v囜.F\-UZ:*0_<Νu9Lӵm&)_3\^ҹ3"1n1v_|uRʞͫr'iȧN_kH׺8xXrj=\МH)V\ˬ.Xʸ oVRC}ySU9/OBY먌5 ٿwޞ)rw8Ӫi5*5ZΗcGƱ !ZۄlmpjJ -l <R̵/JAպZuq\IdUS 48wXJJtcg4cI~aqߓwŷrm-v)G7yS^7H^-\mŌAq|"m9IBnF㏉9[N+mmy/!KKۉ%n +BdddfFF6FQRN-U5;Sv'm4kcM=Mn)\qιqUd9F%",6MGdT%-+~ f%+y֛^3SrF>6lc(֪vۊN;g._0Sѧ]ETWرkQKzGe9ʨsKA"yC y2\[5 rԭ7Gk5Mzw_4sM3hxЊ'oÍ5jsub )ͪ~tR2H]R͍>̋m6=%(˿(Wrr-܅y5(ܔJ޺YunW̹븹NsqK ]/QR#"ZMDfD|43Qw|._ԡSqTZBg??O Ϥ)/E_U|i}2 9Z?¹0:x'3,whǣ?C y-A~=daJј&M?D1_PS+Oi&;a @;Dž7[ zZC"bv:jjMQk$M RԸ3uA\=wI.AwC"^.{?-\NSiˏ"b}T/}q/ o.1M}R%:-ZniʒL$SgrBW*,Mw'N\ɇ{s\j]VryG'8f`}'N<*/`U숻z CwHq18J+vԕKss4R53/&XTt1bZƟo\=%nO)h$rBi-nKĪ^ ջڜlwkYm[̑+/QrZo%TQ;TLs($2C:s.%+eoNttq۰kK7O0m_t_pZ1SsSM7"mevFZ[w -FJ*T*jФQRg BSu|]g:ɵzjqwmltL.e3sRMچkSmjkmWœިm++¦'tILk*բQ D,PB\lI[9{%Gb R6öۍmX-MaʉA931cs..G4CujQտ[9 }G-xwl)IQz j Ó"rqe&=]꾧֎c)<kӳ+0JrRR3'TnXi^xMF Bު*tIL.[h"2"nKzZe'ZV/RrNYz]8죝n]Ķܩ>^Ժ]u-7^\mZjܣ9+Rmn ߑv?oꋘ?&ƪy^N4o=3-ؔ̿*`}V݁ ƒPu8%$ ݗ]wt;\y\>='OjPIp/nJU8{϶FNMsf"ίNqƹ(+ ݮF2Km |jܴZs%zf*eȫ?]4)I۵nR&FX + [jDh(#哑9q9Eծj8noǕZf\J-l&Z˫}`ӎhyrΉn\űn]9pʌӣ"׮Wt?N4_I_~54#/my1Xr*척aS#DT >q ssΛW;3oUaJSRMDgQnt:Ql,/ ܷfRqiM Ȼ>Cob;A>ڦWقM9X~/!'MW.}Vrߔꔵ!5|iB(0-zF=}okڢE$^wW~nokY߮\6՜̌{i-AF*9)\t9IV6۸5ZUF6R$ŨQIq砳YUZ]eyv >hI櫥N )&l JulwE1GDOuFN2| }馥uC1rޫV+^gdb&W[4<^e4YW,d|htͮsUM)۸8:{3d{AѢ)~ \#J=NdƮꮓ90 |1K$v*?мS ]i$J,C,SG?/_՜pMSƯM|mG1V1$~K>CSvkuj=&) -,yLjuFHK{c駗.SOua;BrSqj-ۍZ#'Jys7[g2z/.u4+XV2VQ.ޕ)$"(%)#Z7suZ%j }BǬݕe)Jvz8zJf:hIN|svO1O#IEcۍjݽ:SdὮvu^@:o^5cs>i/VqmVm]ؔܢn6'vޑ̗J4Wn@OlKbX ;n:hgJ9ŻyǑz8f܌q&Y fN0N;[69 rbׅC2/#kE l&2~èMR.*%g=Ft.%؝e8<.e=Uv{~㻏"EˑnvDѭ͜Lu3u0:U֝$[M5<:oi+V4V9 6nXvx&_ q Qqw3W:uϔ2yb/(ɳ|5zQiJ#r|Hw#.W?4aDŲ\ugWG;Cw鐢K|xg)##=O.dF˟jMUvWĻsr.z]kPc9"]R)mkfOd*uYf١RsB Aîh=k]ʳUrrZsq`d#r$/Ը3o^&lRWȍyuW̦Y4QDUMJ65ƒ[+ygk XK_±k#y:8(TJOSQhJt2.DR}"5[) r)6V6u5k:eXZmv𭤔!푊Q[qQ}ҹLE- 8qIZG|UM4j}Mܕ[Vwm{} Naqµ"ԈM zOpKѰ?IAD3Ir0'/q1itoB5{%wkOBn-ۜduqIzYK60{+DʕܞqIt";r1mG/\/ym[6JƫR \L=S=OT@Ix[TMm{>ݾտ֒ݸӉLYIx>+"JVNzx||5rI?C{oz8۹e\R-^\A2F R+N9 vlT]"ۭ d)t֞i #E2jB@׵=#/N+!ĕhx}I!cM`ąZ*ŻɄҒ߮Y.Z}='/oۙ3IpW̮hT7cTSuz9>B}΄&h!>lӵn~j˅IvU.'v'CSZw8QK3G> ,J59ٷ+HSg䧎hJdzvwv-cvxS5[̊n~ؿ%ַX?O0\6ne 6kn9.ϯ} *h 8_QhLݣ7q +=XBҲ5?[[)+F`=4 }B,sNg==u*Nj9k_GJ)+R~GSPBȒZ:(K]heL=vKPӢwq(NrG^ثϣ?#tC?.ͼ[ۅo؞y#%ǛjVyLSw%T*s92JTM%"YkQО.q)gCͲn8cgi6j1MѾ[{9h^vƘǚםidfi.^RHmg&rׇz:}݃}xT$ضk'5s-狶,\vpbPD،=Okf.c#cdz2FK5T!&)|ntD<+OŹU i-G[EE*FDfeaf2QƤM\UG_{ǹm%\yrGy:.\4wjPGUJޕUV7Do\7Vy_13w;[?c]H\$IJ,*L]3b%L{y.JRKG2sq,B6T}(#nW|km+q5] r㪍bJ@y{byz,b踊3ϻJ,'^xd،)JVw#.Vټc''ÝպWtbRؒJz۠8!o9IۄS95E9ؔ-e9JR{dmnッ<[~n${~Њ$W?&ՐY_? #a.ߑv?oꋘ?&ơ|y^N4o=3t=~7!/M3>n8W홎2M`Qx+ z qy8%]7_~540ۦ彷]Wq CѡwkďyF5Dum_}~P(5.(X,K9vᯐ?leB9;Jhm#3{CxGE-S{;@Fz˙]=O'!ɿ]' r`:7'2bЖ>Iy,/eTy/V<.H?UYY{\^#ѣr9^7?xoRȆ7EoS_&??zϾM?(~Q-K&>"~aߨ t7Emsϛ+?;fCr)fY+>z$tIkjn_>vnrֳki-˹l= t;'EyC¥|/BLwBJdgjۛ$s S1|ɍV%JI6KvəhzIlBYɒ|0"Sy0F>eo5W)O+X˻u';v)2vVq۳kۮws?UʑBǴYO漪e2MIjPAک\b1)DDؚKm6ZWΨgȕ۶yjڳ 2ضN[C[|r@9Jfo<_eI7q.|cÊV߷:i.:$ȋ)1%%)ADZCEBxJ0MJۥy(bNsKM9k43IwNt.\%N簤I'.j|ƃ2$grBEٌ\}9:v*!n7M(ɽ]7c@XxƱԨ37īf62cTTfFK]9wntQHͮvٱI/f|j=7}\_V5U^+:uljSȃY(XI.ȱmo1甅jڎIZ2>#\*:gY|4k\8ZwSqtyA!+];бޞKծË¥e)#5ap.QK^8VdU{*ѽL\=qmjnB5>{ Ӟ`v±5 ^k&O~Oshɷ,;6nOW>u6{RqS`)S%jp\ipdEBLfTWy$GIYw~䲭J.1vSY5z.V>^+Ǎvc.I[R{QsNR3ӎfhd>y?UJ*}~[e\i5U^͛E]G_FS(Iɿ]i8:4zj~շsW,ˆsy:%O}iur]iF5~3M:Ӟ#N06)4ߧgdawIotiz:1r5YDZLHBSi;NQc44la=Y kQIT*ըl:tq2(է9VO4뒳܂~2rq'nrVZŦ[t7\oլfb/mlpc.I8콚q^1iE~䰳mi[dۧw֤ICfdFeCsg:i| 6擣׋* 96lust^{%99UNRvaMܽo ammi$em4D6DD\nA%$$#}۷/ݕr99JMն[oT޲E"KTaP+HGkŴj5TM5xƱOS-k`ۛkٝWz;{kS}F;~q|~^_|euwnE'pSupUP)V]vE+t =ZRaVdG6= *.ϼnj9:UɷbېmF_tޫgHjVS'śǕًdkkѻ_]Kv?nT>)^e=Ar1'3ԔILyD?:-^in):{7.؂\.:V }#뺾.3r̸*xbFM aȵz 6SQ:ײj[ 8nn iFMw rR"5M5I旘35f^j='j:nNW.ʭocZvZKV^ɚJ.cM1ZI7E'6rg탸5oZ=[m Z`\hbMUR١Ȗĉ):Jin!_7Dй+f̷eKҷvͨBPR(V`y6tw*MRΝcB.ڭTnc;P$8nFvm4(D(R#R-L -2:FP lxZKQc6I("Km%$E, 78uXIFA$RQI$JbInG]c[ֹ:ZM+n^')JmJMJRu{e)7jQDw~%yQl}BZujSSf۩QZ+Dzhd5o%BIc'GZ?}΍:>Ɵivז-%݌J5MqGWTVʦh݇ܟ~Օ_6 n'{3~mϬj'J11OȻn߃r Qr\3y٘+WӍ'WxEs^O3 o~[|7>]]H9݇ZomT@]?5B:Z߂'`V_+/MSKX߆ޠk3?o7y:4R/7þ] iG߬aBRU&?r&/} cQߥGj2?C5Yśe7hU=?+ x龳f-܈czW^7p%-(\D4h{UK&ӡn^m]Fݢ:`δvj俜F+) y[{{ 7 tu>gvrěOj'5 iRg[ͶFjGe n~qT$ci ۚ0oԹc*jL[sVWqj\ݻ&6"WoK:cnWmrv)o>66(F>=W^bf#c zzʞtپy%mՉPël e}J.\Zk4ttt>oEM=q)hJjI=ͥ(%]脼_88ф;͛gWG;Cw~˘$4=uWdĜTثNDkiQL9U*O"4XP`02,Ge-k5$h>ܼ]3vr6!9RQPIVSnM(ۓ{>;/Qͱv{3&-[rc)ܚI$n{Sv3[j00)-D3z}MRzVQпj,T[uVs0\}Sid;r(ݝJ>æʺL&c[jPK0~d(FKÝW\m]GTcF|Iׁ)I3~#oX%vҦEݑؼ5Żv2qAZTE^..M{ʐfȏ2##.R}*KʛZz^ӞN*lPťLf\G6[WVQquV]XAi)5J!,$iJ6o$tPZc;Kjx_n3`qIelV~vLy{fn匋Ѿn%;zV.n'-ұdd2߽1bZksPe3TI9)$ԩIN9Vơ\=2885N\ p)/a柛w9g_lױo8ݷ iixJV& ғRi{N^_oAŮE6Y7I$Nk$|Q)-*4Z)^¸%4Qm [I%.c-OV+C֧R#%ѨCe3i;w$G+_dy| Fzj$DI(=OA gj%v/]8qԯNIS*֩',Q%\44ZZ%D|Ǧʴ6&vֵI$%8(ԬƾS&#Z. }6z?b/|Jl{ץv&mpx4Z$”ڝ4-H%dGKfM:sKSRWeJAn]>s6应-W9'H]'uȫYvgK^\czp|My\鏩w/ËQ.)]\QiS`8uL뚛̸=J"ܻi\å'-)54Ue]:K\퓡vK xwBqrH\*֕TnzC.mT=t-H]SČ~Nu╏NÅ3f|͡G~B+Xm[Q7U{9"~jgK Zoʰ7"qJ,ekSeNGgϳ] ^.6:s}_,%eRg<5⿨z{ZPun#jRІ.6g T.!]xa c#jN$Zpl̋H WZu8WmMRýsĮ?Mco~sx TU҆Q :KDG4n42.<3/'^?6/ܠڒ^yrrÿr2\D}}B]^E~^T cɛ7϶Y[<֞[7d}2%QPqOLEQR\CIsj1?\}%tJ0e~ *sk"*)&ۓEi#{1J8Hrt|'ܝRr8)=ƔN'RVz:cf]F7bZyZUȘ4x8,#JG̒?.W9XnO]KO]%]ƻ O5Γ/3qÓj؍/r̺rƵ 5\&m6h.xoeX[=<3%< lZ"2h\Z[&jW3ejm?k&[]ųj+{N{66leu_+lj]q* 7g*knأYv= q ەdxЬZ|%GUrQ3jLŒqET]1% qkXYūYc[7Ś]QY\jko\</Lc7+'hMSUc6qXyؙ~6#ѯv.0$BQi5YyIhɍiy=KD!n3Vm[V%W-B%swa97ajۗ m+9~]fKq|Ddaˑ0A]_v޺mM5* F-BYHJ5}q>ʉ.6hyDmpD׬'-_v5;5[8K[viJ.3dR:oYHHh9I7:۽fi+wm^ [)odPѱ52CZUJicSw\&_s0uBȍh32džzQflcd^m|7GѹE!fO5]]H9݇ZomT@]?5B:Z߂'`V_+/MSKX߆ޠk3?o7y:4R/7þ] iG߬aBRU&?r&/} cQߥGj2?C5Yśe7hU=?+ x龳f-܈czW^7p%5|Y:SJE\U-(a_cƣUǽXXKiȞNlmۊڭڄR!**ܤMeȽ$|X5(Ź\rJ~ܮ]>'HB0cp XFr_c?f?7<ukSgov¥iG>>䙗i.+t+bOjIܶ . i^:nm}s}(3>NZ$2Qg([".>i.ƾ)B̋M8+"- >eE6DݥJnJˣt׻ 5.˅nJGwZD~!i۶a,Db3ZQ3O#KO5/֍ozuK'GbRi᝘NV_ҝcvם ZoX}F6z 7e5_e:ۓj=AB+iܔERadMBq*ԯ DwI/Gy*mĥiRKg6skY/#SN4e$-yXM YL?^ĸNNӪ{$r1JJRSLO]Aqm>V/s[~i/j+m>z}eI"Qvp]{ZԼ:{vPAG2=T͡@ڐ#u"E*>C;o$~C#_d/HBq^YRٽzIKbOm\~żjFFGdiQ(*/i*#.FF]©m=BmpQQQSP&Ҫ!T&^>:y)$ˑÐFčI Bӡ-t!bM WҦŶ'UZ=}zvn~oT/\ǒ'nr8 AJIӆz<^uߖ4eFC1i+v!3qNyߕni?4JZlmYFXFۼO0B\m[ tʄU3s"Sr(NJ;SKW72L4̏BVdf^Ҹj\]ȱ۪(ӷm?J-KEmWڽ^4<8qu%9pŹW~877ܾeVгS(յe^C]yX͹! םm4FGȋ\y'Z FX7e)|Gjt߹#gb\ŧq_([R8[qU$Z (ʻezV2V!iQ,i$JE˂٩ a(GK'O{vnBvryRd-RK4=qxZJMl_CuuIz @Rt㮽޳!|68\-l[џ84-2Pu" RJ_^OL>G1~XnBŬw6J0*Uvlږ1N G1q9IUm*'oWu][&UyYZbBZRZNfEJf"+2nF~Eû7n1xv.RUM$6 lAxSQJ&n5ܞwlEói"#>4׿Q.nEq7Oko[1wg8ZQwZYiqtm&~">Bo?w͡ni2峋NCEy Ҕ+%ZJ ʩq*fpˤl,~^Mχk1+:ݕ z&Y`KLӪУDr3[*Z :(SL&ݻ۬Vqsyԭs x|iI߽zZrg.:mp%6ԜvgmpIUt;QbS.Է) ǨKSV,*lڌ|5Jt3#NP.=+OZ~/G سIgbꥹJnl_DUM\iM!֔wVZuԺ,yV.Q>f v:݇WiaŸN5Ҕ[M7SsrvǣrMW= \8ZW-jsnڕ.ZnF2qt ً[ٻޘY۷Zm"Jxr&NAfA-݌to9s359݆mZ+N1-qS$D=17 x׵+%_ ve4ir6Z$FDڗnFtOr'7'{9C˨ꤡaYoace{Refnft RR"4%ʌm:Sj3)OdInTO>X'vxV#jܮw9Fog;5.~Y5\~18YQܹvj4+~t7S ﬕs %^۵ڴDZV69R^Y+rj$ԇoJKR5wB9C>Y:l+EǎS{ʲ{T6Wi* ^^9k/y/Cs\g*qڵgn4T8mERr|Ti+iPe;;.i\EBEJ 丬i9ɧM-ԼsGDrZ>r#R>~X9y4b棇9JwV۔%m(b[Tjvl}۩~nDԺ{Zo-YuK1vx.nWuO+jN [ٮ0%"΢CdTJK-RަH"$I(*ve &҉FzB,_Vpqp9m8werv')E;o&QE׵^d9˦j\_,ڵugZȻ̧8k+jK{wmr@3ӭ2 wFkzFVqs1؛.v'I%$[iT]D5Dl2 nk7qUxԫLS+sا3/ΖeZYK<["%-g/kRs:f3;*E ت wJ%)5&+&rw*霣i|sMҴ|;R+fm䡩.!**dӶ-6s6,]zAXMWjmnz%SJߴm2UXw7MQ%<!tKys#P,W>s;3IYwx<+i_\\\U6 u7P|xbn_k&ӓVOe䦒 VUr,-㘘"-LZeOSҠթrEvq8Kf%5%&K"#%vD/.ZYYŏ+p$nZkvއuW9㓱Z G wYIFyf)?ƎUm5ԉ/'k84{KO:rQI}XRuԪ|*lu)3qZ[mSm5R3".Xcَ5c®ࢫI*۳~wRϿQWޝ(EJrri&ۥ^ʶ齲Im|[yb;mnm֩uiܘq>E+Ikx߄3r33-5𹻖09ϖ9[Tz~mr5NsWl$oPusޛ^{Z;);sڹf\3oٹZmԉ/'k84{NO:rQIBø8Bݱ3n֤DiK4u& ofSȒܩx<˘|N0Fչ]qsp"}! QWw@t4ӭ+cO5%]'*{eM߲DRO1y*q8w++e!c߶ܪlZWّM欼 CQ̼빶lX{vib/V/ ai;x6~]+z]MWB>re-:lgk}պ!#9?%܋V-c[z!W?c7YNm/jRr[HOzԻefճ0q15Zp#rkQQ0tU-AmڵP/cȕ?0cZYj;:0ZM=D6g ?'UN+ձ[K ܖB2'xq9{|۫N0ku 7xaj;n\ 2[VznMlWiKbSk))f..)Km)&bGZ=>OR܍W:j'rM'wYz&/鶧{Sʵb"vջq[I-ՌZH._x*BagC'T(Q:$ͳQcMCKy?3g'ߝqnT);qs #ؤZ}OOI:cfnc8W~qy.;^pVl]Hԓ>^H^@7-AA܃nmL(uWܻS߿ Td95Bdh4t6*dDh!EhI[iŨ\L.&Nc ܮf^;$R)\rip9I|ٺ?#R.ZDZ;/]nݻqs\QE9M&Bd ]N mN*D>tgbK>+ˏ.!23]BȔR1ɝ^j'k2ƮqBQq[$di]icV/e`޵B.FIIJqbi>Ӥ|p; 6${)RU>_e}^dzdfzi %ekRVUS?6'hׂ)5.\+qUgzE2C˷ecŏ^֔ibk shesFWJ#~> Wk~ݨ}ڶ>ơǚ)׽ZƉo~B-ڼrvoE:Ʃ3ۣK7+Y`WirS):{>ڛ}:wԨ(J_";6R%[u&ƫdZ_\'np| RJwNeTW,=rrbnkڄ[M3ܴz)3- R.?:okۼ0TU'w{6&w7j1z3ON'fGoO?)S_bQ_¿R(^ԴԴG.EtMڇ&RUiW uQjU> Kiu1d<ѥIQ'RQ1:O/lŗᏩiʂv&Jc{D5 Tt)1.n[n۶X}RjqnOʽ(~[Ns{ސ⛌uO,kgo֢dRNQȄ .'6W!׌P朼tdZjFGE"]K@'i۪N;sI[{SOzk>`rRR+!σj8&TjlvA̷Q?HyjyLHNտJMjܶT۽lG?SnKN%<‘ nq[N0Sq[Ta(&t(|HGO~gvkݻTR4&Z$#ViOY1r$6YF?e4U/Mvxų:zbU^gQQ+NW_'4jfz^c'#`rvrڡ(IJ/J ݦ6 ]-CW |_{v*_q3^DZ}Ic6Uڌ8p7{crZq5ki`)mU6|-Z5^iEz3P=:Cu7DF'k%}<C-޹ֲ̱#\,(f88%X-N(ck0VLR~} G"-8ӏ/ϰKq?(#nrVTmZ;zióM4 m |UT'C^_1X.gXM{%ʤd 4\ovN":"y-,T)fLQgۢr=/CƹǨJVr[a+!rT|%Y\ٱzsS>jͱ.oOc6f$q% ǒGo;n[];ߎjrk{~\VۓNIGn:iqxo |~t5)Rxעri{Vi&NUOl_ѮMfsޕkЄay.0P{7N((BaIP$ K"U6Gl ݙqJRu+qN$ m#*p<|{:>-Ev=86N*MM긭U*uѾ?/^o7;'u,h4݌xښRM:5.(/ \իU.{F^rmF-Jɷ.>Q"[4xT^OZ~mK}T0ݛ^SAo9u?lX(' qj%=X}"^e4wˠ|rܫ 6I\Ķ;Ӻw!'ڍWg{ i U_9Avhۣƾ+:vs/MK[ɭīe{`Zgb}r[i'GE2J7Nez579wRq+Un ]J.cJ4M:h箽Wxxm^ pc\wcN%'My $$| :$Fqɏ¾^қP9J6Wxvu}ݵP>Z'FFdg"-; [¢cmWkÎT8nG%ݣ7*\խCLRYZͤiD&J#'ehbSyXK|y*ӞpS̍R`[pTr/Eg)K+92{_ n3zwz'oŸۤ+sOj J:`T>Cf*lwd\fYOP"R E֢̔L4ɥ :;.b(B02rJ蠟9>V'9M%)IqnhP<%,r'P/vNSwr#w"ݨaqc(|{kd=^0jTMR2ULNz|.<|^PfY22##!,K~E BEJۜ&jRNsHަޛg\r,v؜.jK3)[EJ2ii{KEiHP^&]Gn8x=K}Wx/KI9-ϵwQ%spܾ[^R}S3$qvq8M[ ozKxcqmJ/ӿ{_}7&ݨ\f6ZSyQz& 7ۉ[8~UNn|nkiTB+4RI8'Nc%tn{!]Ȋo.nEmʱn𵵥J A+wy#+ikǒڂ;՛s85'KmE:Ђu""Iģ5p=БbTY-ͽڔ詻ngL2Q}$de# fs^o{DUUsfwӶ;s1T,ǤtޒQ\෼J=.tKU,7čJ5 N$y3kdSMQU~mO[03 $zAڟsF5^뜞"Կ QHmrR"ӳηer+ҔZ]hE-6Jmt'ޒ=O[sQj)6K}?e4v_KfZheޓ=BV[bY}lݒTTЬ{ȫvO_qpRApVŗ 6ju=*BR)g "O1yhb=tqJ gtm\b3RY+JQ^Ō֍\յ\>+uSi{=x ^w;uӘ#ĸzLn*$anok߷CBӷ}5Yqvdž<( "_OWit5:EZj2 B ρ1̊fi[n!HQF82q1牙nqnEpT(2RMoM4ϳOu ':֧_Xjsg jP^(ڙ{2%E͖j^}ZU[Q$'U) <܂%!s"m R'G5M0<+zM6qYm$ڕ$3ǧH]?o2N<8F1̻r_my[Rf59NjpzBnl7*{.QP 3N&^BLJPjAHCK2Q}$#~YMq8 k(MFMU)8MEqTy+Tʞ-ar5yܕOXw!e;q-Jqܶ䓊Y:LC UE{/t>r"lI9)3KJjϤA 6SEE$d߇3KG*En|P\ԭTn6I-ƍKTj<1H_zwGr19wF N8ݝ+a9ɫM6mhePi%mmD! """"""*1bRKrD"vnrM۫mmĽm]ӡiG~e"˩ lhRTMk^MX["Jݱk7_ޕ*DqĒ&flՒ}`W}~SմZ{ĕ~wm*/{{ѹ_-0ط#P]xlڱ~Tn5wi*lڪ (JxioϏbqKYR|!|KN53 OS222$jzww%i}>N)E+rۥ7c$Ofl/LNث\6H9: FY󡈾I)fB֔JI_ ֣^: 9mY{66㒢7Uj]:.-os[R&gMF3˸#໹kmjq^8W"PΦURjʄWa˧T!͋ lW48JB2ko+ /Nw QwQzQ ے%$ޓ7^YL|r7!v%Trܥ &|M8~ybrn[RV gSn{{*#2#ԽᢏӴHak" ӌcwҜw&RJ07ױ>Ļ =^ BɆ)v32.M1=#6%̠tҤnzqMwԣ~s*%-j|_m*.Yx9Sz=)qE4 3pk+,`=kNRڥ=B=nŔNAx)Q$ԩȧ4z3t#Z2lҮYn$S%y- JzGpu|LBV7ZW#;Wwipܷ%(6jFG5#{$D"uۭ~]֫SrD܃fҎӾ+Tu>-ZTQ& N|$沸ii>eRWݳu'[O̻j8JۻEѩ[]vni= ڒ,[_%kC7I3Nv$4ɎЈeٸoUu:[}Do5|zNq=Tre%ɧ6&~DȍF]ƞG5q m]/w/ \ʲr8=oʔe9U(W"|S]uZd#?Se[W"ֿh][-7Nu:T=)R}.;ml*5Dlf $fF(̏T hiIUU4Szɕ t(%_|2 ~6eM;TƗK[f&]LK^CE2[ȏBOd;Mi|cx,^6;sیGpQ\NuJIFTJ~đArh* B"$H쉩eXPRj?sl"ԥ)su]xpԴY%VESH"ЋJǰ K&5^Ukzׄ8kEgS2h&Se\ Yl]WҶp-ZUvi7QS:4byqOo+[̺腋[6-_Fo.6[7$p&^ _GZԸߍkc.qqoI[9m߸YxOZЦ1uoiSH)P9Uʄjcq= S>֙NeR><;+ڌk%_qT].srNO?s[=vH[]RZHRMtᩗVؾ:/~u)ԍdg%=edVrISb{6vSu=(ܥ)mTv/J}̇8 S3ad:^hBSf؉OɔLhI_1d8,L><_A0y3rXq"'(۱;mFNII.v5_(^q~X>y{3צ I*Vܛv/jW' T'NR'j%ꔩ:mJ3SB}΋!-H-RJBТQoedi9tjENenPpke.%4]#{:>mkEɱdYWl\\\'nRM4&U>?Ќˉk÷!𴪛]]5}UqG~ݏI"O~s6(Ļ)qO~h}uԕd}Q~G,oE!&G&/]_H-O=o{k\̭bkv.Ô܈+;arZx)m?M\3lU$mk-CFXjTv6u' g:Vn_*qk:VC A%'4JV%EY)#BғO4<e׿jQQ]yUr4=wm[K1r׵%Iũ-O}|kC;/VcݩWZ)EHdžTru]8hgĵ-;=>U_ InvTm_jBM+QiF"9*{DI/iuo(=TzϖmPQl_v4z>T*ȴ>YF;ε\t]EH4ꌇ[VrLzef 2T^V>g2~kg5~Nק;{~Z~W}&ŒBӿS2$J?~(Yœ"˲ߩ\O]: J׉ښT{mmIѩn3˧)4LdFZ/zUG>U> n 5& ϴ-KJi2o]uKljvK3$bԔҚV旧iY5.ίfi96v7!v))FJM4{jG~Jt/lUE%pTAFe4qQk\ve۽/u/Im+W')v{\-E|Pms7߮DZRr۞/mu*1ՙaB܆ -xg3#6ۥtRogʌU)׎]ZҞNnŞr}F1Nnޞ;cZ{N}ۿMiuxʉ*3qi'9KHQ$WJxXyرŔe~[v5~/jN9Q4o6rJv FrdxM*iRjMzUinHdн7ᾞS=S'7 } ̽zt7K|_g J=Lq+/Bw_\ۧx\HJUPzQ<hqF[V0x==CsU7q|^ {)Iq38$_A(VgcKu06Ƅ"%i~_ˉk QCܣB8Ku/񋇵u([w}$F|8TՠI.E !;RJ^}MɒD_q2];Ɖ{5}*n7nEInO{Mwv}&q+v [V}Ĝ@%>#dXQ$f;iep.GquixVt x6bj͵mlKقQ[T]zs/&yەnM'W}!Fp_d^Tu N{ɻ'l{խ2.sTu{W^H&;1s)Pӛ6>$mě;Łnj= fLT)>׸+qReɴ[UR\L*P/!$Ӊ3Q 'K=m~6XqW3^W+ųO_[F$rR*u"T%@O +%# ]˽!aܽz{ͷvQh쩎]hGތ5ɇ*DzJDRNLi 4:{~2FmXY-zzĽ^f=]uū{/+&c:Ma{ĝDp2m܍kHș/(--m_vݮK(V{R}.k&yƴ7i^4@3f sK3^Ř˸B=]?gt5KbZB<e;kQLpxuWC}n 5ҴepB##~q= `x]KWF {GfŲ}?G.I9pjWkU]>={7q{kO/^I3==f1ɏ%nnʫ/Zu_yXN<57ۍ'vy/"8넭M2eԷ&Y,в33%IkjMr7xf nmQkX4踼>a-GcIeތw&U=-:qnW)z¥j :WqSZvԒ#j"KrIU)%qrmRoDGQ~SYRsu*V)  ,/x)MFD6O#]z 96[Ui(JRfw'y$GeUީkdMF-ݻ98F2d[o{Rn0n-xsV6Dh|Eb2E:KCOӪv4SJCr"J!!m,hRLD| ZYFm/X~ΧfrN&4Ƒ=Z9Mh.Mܵw/BdrܥniŪ8ɧ|y%œ[M=_tj?F!z5\evM:\ ~F-sg钬OWq“iiȍ<Gi%%n2rqͻllƑ)okw7}\Uk-:&fj솘XerV9yZuʼşdFC=rmo%~ZN78X(N)_7.Εn1MpJ}62jjJdI";R5&iLԸc:jmqiQj$ujp\{;v5B񥍪Xn Ą4qOERjzN(Ga٠䌡)p*v(J7#ZۻZ8O W uONb+^Qipv9GvֽƼϯrYƖKGJQDNPhRJjᡧC"21"9ѓS1;R_O7/WGz)8fE%F2ukmvSov/iZ&/]~KmI[:^~ͤ\kMi稜\ywJt3W7 8Ʒ~ݥeFgѼw"8VVSج\뻆}ݭ/J6Q)d|)zU3>k\L=;ow֯gN3pKѫ|wmkZ$z^2R:E)f>ς нd|#׆?\ǔpV{;\$ƵE%-ͪm0S6[n< kE[}mvE4DDZ^$OZ0*$~XUv҅B@^?]so#%ojw;Y#SxxueBگy v^i-)s)zV jC{7Gt.w3v,ygg8s]aE_,*E tY5k٨h=o"m泏:\6w噓aiL׎n^c\75AGkЯ0Lf46َ`egZ˓p/k;̛]kq!ݸzpԭG"}R9Ve>ˏHUjJ-&7nrnwG*Xv\˱/vN}O)ʼn&CV͍f̵]r\PMB-6Du-#RͰtRN^)mT _}nSȕC*_xBuTkJW[`ɩ`ejvsngP ڻ.-WUtܑqԹQj)t;vN&RNũT+8%IXӃ5fK՛-d9 ]CƑm|nZ-6=Hz,*aEm W3VzRšdY~Xf׀Xx"]s;)5u*ُHB BRGS6bݶؿ 9j[1*jױga7oX CUI%0v#~\-O-Ꙛuɷ쏪&5mY٦M`LJ2qK~HZbr =N'YobI. (^ ׾{_ ?OJ`S`3BN[}5w6:ǵ/iSlt=4F*d&T4y/#. ɵim5Uֲf 眕6Y7 fơ=3dϕq뚩$qTM-%r!$@A? ޾V0c~{[{;򥧅a~ڵ»&ڄv1ek=wb MLkNAԬw-x>~/r=e73VeVN)K%Sښe"+3uXuچrn ֺVzscJ峻m}vb㶓n\YbIUBT%*,0nov=;z꣓S/nSXSpl##k9mXGrZv^Gde!ŷRԠzQyjC]`gToPov{j~KRBMY}i[߶9KL2ԉO0K#m>wB[ٍ+n[[b٦DX ݲpo] [\m5qdT()mo4Oy9Ie b][wղmM~vmi۱~t \}$яimRk(L c Cvk7r9_r1 ;zv|F@KyZ[&jEji/"6$69ml#e]9s\{ScL}Ȣؿ0q/nZ*t,CLoD߉Njǚy=Pgmu6^]l-["çUʖMlʍp-"qmU>۷uFOJ%Ǔkx 'g=睋k[3u,{³WɘݪF]ՍeFX"Oy\,cچ=w/gn Ļ]#2? vqy-gXnR.^}ݺFs{ŝG]}e|#0mjx"ƬWكm?rgU^xVB":Dt>@LRbun~ݭ,w+v⪕;\U(RYa61>#Jm˞Μ9g9XKaG='u8gf}'qy#ɉw J]We.ʲ-<+&q%s?2dњztҼn`cΤmmqMdz O[-ߩӲ&;[tmܝVnr">{x<8U+p:Ig]zjGkt,uzf}dؠoJaکqEq -(:d<պ=eKy[˗^%ZXkX[C2߱\ITTLGzANM￵i]K>UsOGDDD.ZF6* ҃V Zhz{'xp^`wo8r0h ZmJ5"jb[l=yUu7-;7IT%:jFjߖm0tzU'K)څNۧYJ)4IQ}^KWm7kSP>q;ނ#)'n7&׊r?óM{IwR\j2Qn[v pe#/tAF\ϵ225q֒om6z})6҅*oqDsMf CNIN=T S2t,_ѧ}kveMF0J\Rnnݙܹy[rUc-j{yGtkQ%s]5qB.Nw.JN1LvR Ui5J ZESQԙr):MJ+g}χ!2;q([jAud][ljVK3$ײSJI=/|&tl'*n۽f.frܥ jQO8>&Z];.|7T/C}$ڋUmP2Reҭ8hFF\L 3~e v\۫]ݝNmrnB%*]Z«hKc=BTLG :V74$=Ǘy+EX'4tn(I:Ѝ;Df8c,k1%dJ6.j6ź{N~l6&*fœI7 WAlGOu-ҢH,,(ǔe뿋쩨kM܍ZſgRvQ' 9)?n|er˭|I|-fGK.rΛp8XV1%K6mvG+tc+qE&ǸC_Nm:l=_/m5^[dߌڇ.c<%:)tQ$Ow~-aY;UJ>=F)2[nk؆?훐M=l6[4(O.]2#-H^n#->&mp5~Fӛ+|| S,xag%qkEUzUgæBhߕP(7]kFnq?֖CpruZ6*rEڊtS|*tI*E}7R<,nUU֫^I7Q*mSly%rdȓd8hE<9oHhMfNSRj[i7D[Rj݊+kდq{"$$H?p\̅S?㭻;t~R߁)^/>Qj`yt[w ԛ;²~+ߔ_ YW~|o]?x^ᯛ `ʼn;g)T@vWn]>&4lp+$D̢1l|ȨF%-}.9[}w~ ԠLM9hСablfe&QoW!s?wjLK?s7yO>(=C~_nyǜu?v3vyo oI@qV-jeES^[9WoSܝh"l2C1a͔CiJ@3:Pճw=/7ovuk+\V;lDgն<[A+rX~d;m!_s8ݖ׷;;.0llUC+?i#_crʙ1~C.\–q ul8Hܶ2m`ܻM3Tov|Bs rɵ"oLS- DКw=Tv@f'6|YlD͓Y%׵-#Ѯo%:&!3o%\J<02;K87>^vgƓ# ;ݝmz^Y6=PS39U%~ &f# }o!muH;ʲŇ˷yvP+&.7e[3'vR4Yj̗IZ`e˽3o[WU{ m[sUbۋZǾۆl6~9'V*.\S2<Sd*zY[aŶ`]C$n.v^Ʌ dng>ەZ,Mmϑ :n6nϦezWqUJ4! ۇ4R! =>>Fn|Q[{pRO17ƕ~._I''00k=b՛o}Osðc2'o\3}ݭQ^2 . R1yKȣtAݿ-uܾw!`?1Whn|gzUo[ECWwjUIן)^h#1ɭ!/Z np;o;ΗŻkXs."6E`Z1 עӐ9Kl8qd q} 2Stt;#j>;խabONŗ=fwP1j)l6J̶|gV2`y/0E˛6+ԫ1? 6}KW c\KoKͨ2ۅFw–s*TԞLיuDx .kCzWXhy۶gLu|%TnupǺl-S* PRaLnT+c+*xl.v!.U=|; !_L̎뱚U=4hm:ٯ"y)$:>%(n}X'p[ȴ ^˒4kƓmzDx \ 'NqamP7nyN݅=j7%McSڵj%STy qXymvCg{w/w=wSW5r̹u erծˊsOm=DhEҚRb#n)QOxtվQwe]I}wCa'"[ۂ-z}2UuKP$㜉ԧ:mc<Ý>RoL?wu|%ҷ&K y_!y9 ??:tq3(UU-lkS'ɸ@jdzQˬR] EVPW1DJq2n:,c|ǻ̑;y{X,ۂ.u.b˕u.tKBjQ"[S園S`ٮdNبeJ&9Ơ ~0a(Vm٘L+Jr*vڑE( x0+tp˕ n';wm-ޜMOxX>{#2%jgb2M[`K*\5@8l'e=0u+w ֘鳾{y܀:R*Ya]"Ӧ%ktynlۣ65,3gU}{GYrb;ge'TKwǘ.,rpܚV]Tr,!dp /ԺU,xՉ>s׽~W5oTh yx?xrrx?)?ilbT׬,z$Ԏ.UH٠\U1pU:]JwSrGZq8àd驐,N67QYBӢD㏙W!Q25ϸo9ms-7-%3CihO.J鯽-;MZM8ku-7k9S$8]q2E(}bۏI[DKOK}3KUB^u %Y,u.-&f#]'܆o$x`Yu,dzwM;#oKxn;\[d7}Rb+*Y䛂ZuBӱl{j0O̓}LhK;[aֶaGL{Cb#S.T[>߃F]NK"u^LUʐ_ykW?!GRj29͖qa'0[npcDvV)qz9R)PۨM^aJx W] r>];eN3vxdmĘ(5W2K1䪖weF{mE/QP6\u54x5[hۮ-Nk”i[lUgL]J}5 S:EhiUrgHl!ŒJ$pe=q^b͵Q' ?6|R\,JA ڵ"TDꈭ:ymg`B5t%M] <N_zv2_Ortٵ/i/ReӮ*7[qүqEG* m"[I:6e^p"I$jԴęh!m)]GZkcjS!{e^z}+Cѥ9;R|/ֱeiUԏCNu2Zhcٗg$ݭwvr P8*7/Lk~I'Km1+MW%Bk|oOm>-#qj*|Dbѱkn|n{v#jĮqNpMIUm(7Liz;{ҜݞڝVƚVϬ+sO!OstGvxӉ']uӎ4g_ 1^-8ۦ k!)Ύ5O;YSB#2Zzχ;<.ֵOtge~.(RC#wFZeGZٸ6FFJ4e2ˇpJT$[wgV)q6muDGJ56q\I!̗ y/I~RtJ9kJ]Iy*'FN0s.[l!fw'y(7$œ WƫgyΙdMEU JQJv̋vmrۖ.jWR_M֨djYgSj0^\y'EoECjm$ IƩK>Z28J2TiJ2N#}.s cArl嫶nB.FIJ.)۔\ZiM>/hLĸ=C1s[?YMqp|94- 鮝𦔽/k^#NT(Y LS$6˩}{;5 )B۷W$qpN)qqoot}ZDVә;7TiK|6f3h$dԄ}fqݡ>Nb򗉉+ͶO]>ߡ_VtYf79ڰիF sq~prս|QM)g%l0ocJȨHz V;Bb/kLAcfPJ,ԭ{ƍgpjNR6VSI*$!yV足jᇑ.](EܣqM\qJ2eZT).<9UB/(B0j)mtKEj#׿fDI-=rZړj|'Nڤ]k*i$5qt"ݙPM6E4ke^Z8ۏhz$Q(R Ay2zfRñnpnkbkI:=j &ΝșW?׵d{+ύM'??XqeeĽ.[o=UxFS=ӷdZwenՄ]_X=ĭVa* pKs0ބۍfJ3 gz̚i|wnxtjc¼5${(1fXQ65ȼb̶Zkn>%FQMJXӡ{TZEVNᖣimT/37cNJUPnP҂ZOE~"-Rc4^b- FEͧtf5[)S!OZIښݲ͑;tvܡ+N)AR=hCNn;wL16-:特7M$=Tҕ-.R[HٷnXk sn[ҞD-0WS9p9:-Ϸ-jѬNu{ҹfv)[Ľvwfg(ٷfe+0mYj8Q1\ݧg]Eǎvڿc!4#j5̋C2"}BRriFp7=ô\TZ:\BLfj#I22װ<;صZl j 6:l"6]۸ K'6RTѯ^ئOԓV\?$x7s#r:Oh{ց=MmuHԷd{pN /܅:UE#Yy+(SgQ(Щ)RHzw>^Ѿݻ>mK&^ '$Jۻ&w%F|xfz%˳ L~3N?Cy9 v w/{ƿ kz3x> sXv}vP"@WyC z`'톽Dw%-tt yVY\wmuPYQA0iG-2JP,6/gˢ]u.-n!Zw.N7Q]Df}Q0({a\@=i_X7gFǘ8^⻲}G MZ1)WEfO12G+=-B@z\`||w6ċj߬m}UwRox֢I &c~XGP6Qndpvܻul'V7^FJt^{b^B(L~sѣ6@߿^xqU!ڙ5|Vpvef-uӥ^3  FSDɯKD%0r}FF穛r7 +o"V8tv̖NQU!5uFd"bCr^bJ=֤fM#ʳԷP0O-9xRBm\=`r-:;~3Tl(nXtXi%2Vٛ#vwqƴ`L@"H‹qW.j,JM5B[)WܺUeZFqc'V˷1W7V̾-MHФwn8N;HPSdݷC7&2j.W\τGŎ'Vb]c.x+Rx1%C2T{myg[qU|+m:M:շ8҉yWd)ՋWS%%:iqlʹmGwݹ WnNŤѩ5(9hTٵDdGUi-)vSs2 2{OnT$Xck n:¶(lASLeȔBjμPpTb2~N2~%^k[ܗ[Jzs0ӓHBKq[}JَA-$dFQgjxxFv4r/x*Rm% `4J(&iv7SkԲmSH1YWmx 8n.k']:Z˭_W >ڃXЩ. jTq%Aā[E}amc]D:rmHRiu:uӚӢ\p(5-q%e)(۬ҖȽIf<߽pr&ݫVfY91q2ĭEQgYbTGQ&,yL+N$[q*RVۉQ=FuTܻ>f>f㋳8N6$܌n)9&»iˤsX,݅܍ȩv+sRTpO}d?Wn/Inpȸ%O]StQO|v5\}7Zwb.AIVK^:wb{[uݯcytO߶S<{8KSRׁH̏N7ۚ[xkwYy_'ZӵF+>쌛ZUĦreE9F[24De{}@:ExWs-\ǻ7K-\JNvEk%:s˙#κ].oͳ;լ7wB6nwu:$L; DkI#Wz.:Xp(˅v$Sq,wn\qIN-e<5Oe+vuYTpcojUI_ާP8 O 7&VL8z$_B-H-[uh]T{|8=qVRN-:Ij:7PUtXϷmy鉿:RIM~33ӸS2#׳GdŲ5+/Bx{(WzȨ5Y㞎#|˖+ ط.|e<o/rߔX>7s}VE.OVti׽ .5nNJO"95{#q}Ay9do]R"M6z\tnNS-D!@3N_jicWsy*5uٮRcWv/.,j}=S)j5C^> Ie =gu9ӛqjtz]۪TMoߧI!Ǧ¶m:,"[L!{qAv-o 3{"KʼnrIkfٶj2ƙ؄S`7` k6jzޞ?e5G&6uʷ2%ԒRKE*G\Npom F/V |C0.q_eenƣ<5Oh'67ɪn[SĽ{ڔjǘzs;~׌(ۂ`ܢ1ƣ` _l9Va6%UQWh~P~\F^ZHR@:ۧCJ{ôGeBh;~ۧnU J\O+n2 RҠ)ng}Kh{5+S×ܛ.1ZjG)iRȤIN 4%{oΜ/eO[Nffd ĹK?nnԼMqX'܌nZvq<ķbFnͪaQ`5 s,M_լ?-@_{w{ӺձJ}GF[%v\5[ŒGkOw/ΜM9rjË%2+rd~+󲕛C9U۳r[aJǭm|˒LAʨSCq[XMۺoubfp:t+ΤĻo ][ zt-*67kvS7D·MMCQXm;)܎n_h%]4ܙnRk!]ڵsDUF"`R, &#R_*[z*ZqFXɻ]7|۵w+'pFDەs=r./ᐚm3Hשy yD"jHCr':sA65نѮ^o1V/ f;nFr3VM)e*- s D'H݅fӧ\*޷[k<7u<-]֍Q8R h|p=WlW3s%Q %3l}@U-K6f-NϿu|ڴmWN׮[׸F*mW\%r! C78:޳vBG7ŵ.JթԚ2x)ST!řn~9 W:Wpܢ件{xf8ٳwKE ҰWxVB\qBZ 2wMb[lGSnyԚ~z9ZmያvoN2Afnݽjf>)j3 !;gOYʹK" Wftڎ+׭b*2ϻK>ۢӱeyԪXISUm[z+ugX%0lϏnvg!;t{BqPj>PyvR7Cj]O%+ݲ :qiMj6W}3vC/R=4Som]ŗ=ю, TF6U_-\6MyskwMr&Q\wjKܩyMϣUj0*}RZܷSdY3>Zjqj6TgzpA/M`/Cmл,޻feE[/+uk^Vs1W$G(JsW2ٰu*߻q*Y޵.Wi:ur5T),=0uRmho.twܖiYwrWHntvEj8qhf`Ͻpf(R&>Ki%I7$QӖm-2 ~yߗQ-앑/ x[k8nw.c㩵k}]FkbJl:{.(˩n0Hqvαp7 귎.Gupx[N`Yq'+ruU7[ү+>!xrȫoSo]OC# d^Q]\>!ƛGw^Mx"-+%vdX-:M2UR%d>%l ioSu6lsj7D P>XxHz Ukà(n^Q V>5cVtWj SEiJdznyej[lE' 3kuٌNn4JW)gB {4 j6&]' m-(ZMEz8cz>WZ6#7+[,MR-Z!4ܓtCyE|umj1ƽvƷV\;%>Q :#Le(iVz5 4ũۤUWxX ^(ҔsլB2w-V ^R+; ˂M\z+Uwr+RWY⺧~ Q*JcYSNSλUd8in=v K낫k\IRרSUaCFmϿ5̗P|u ZTԕ}>oYѲ1sfP+sQkX8Gb~6r,s>^\,mGL+7[n-E\.Fqḕcl*Jmjb5 ,m]c}NXfeVlǸJ5eˡ$4%g~N p4Y*WwW٧<8v#;qԩTut,m"#Y D\5V`\\Lȋ];LȇiS6ϝZ l>LruR\v=ǘϔDg=ԈdFZ+M{=|,[;0>RiSi4,S5}yxw&(E7&fݙ4UՕ! ~'Id)]ǽu2K-fޭ \08Vڅ쓬=Vy^^ IhyKR-B#Ըr=]mܻӾ'*Umkoy rTqT_i,/8Q^<ݤ|4ԻO(܄"'5N~#m.(Ҿ2i6Uev&I*<}҄$eNtÛzyWJubW^iBW.܅Wڮg]irO6Ve90sgv.+sV޿aޔ[p?3q*FutUo*eL\KM'EG*ZcAFfG5J 5jj=MJ3OK:k˝'NMB7m3uFҕ\-Ywg%PRqMIyZGY9|μvn߻5cWݷa^+X֥vnݘ\v7m>Fgzv"-;Ew֝}1|RjN𿊀7g#֟*GQQ|#/bo]p$>_Un9гUbn9׃ErQBU-^vDmVh'<R[fdHT]*~}3j;nvjc7s-rӳ Y8[n[1pJx kX[Jk9Mn!_Nю6x:iZ˦U |߉^Ԛ݃hYxk &U^bwKk.[jE+P(˞=9j@snCv7%c_7=xǁ<l {t'酚+1F‹l׭:ݻILruǶkL-L(K0L1&>wXB(pm;1fpnlp֓%Skidkt(U +xulo'/ڕeN r=^pZZ:Pnj8Hf"48ijY[ N[yZٻ+=  ø:3 ?^ܷ^Sr#YK[UF?CuhC b]GM')mڏsNrܗI]ljq6VB. W,UK"YX5{c >Iqā> T:n!,5l2VzCl|+I[*SrjnS6٨y+x,@>П.g+!rn9>N|W>OZT_ut Y""v7|sfި;Pclm EùN,{'fNT%U&LfH8~1v>Il}统u6P˗c(WV~H^bMU.o*oOF0N:_:6Smr_.b+|ݶYY غF,mwjv>f*>QM뭱Sd:`N{l/⎱;n-z~"Gze퇎J5S KG9!Gn;N1 ݎ h6m|S?ɂ5'WOÞ 7|7^ao @mxGmi^jϽ>01Mf0լD3-2T. VXR"ɥV Kl J O7|u?bvа;6.eߓ|[1bmRr,eRz`z 6܎-ͨku͹Fː dPhYgZUj}nvX;z=gVեTv_J }\1n7w2J?ޘγc\E 1Aޑzq;\r]]\Y&[nsNei\uURje*Qk2CSl*xJz-xٶlm+|UjUؓ`Ladqiĩ!Gd\W~fz;Tn*PdRM&T4`չSWq5k훶(N"Ӎ% V]֦wb.nUO!u*J&Oӕ2e|Z=eV쫚΅g#+/RW:طnbi*Wyo)p{:ETKؚR(RY+r웓r(IF) VmȵNB:h Q1ғ|u8E]{,'$-TR[j49l*3"I鯴zhd>Q+\BkNF=.$ZR4Nwհ(IpNi.(Gi33#33e$FXK*NdWrud[r{xnk$v2ıh+J1TQ[#JQl[tRO]LHKٮ NӍnF񨔤֞Em'MILB"ԋ%dBŋ+p̿_17jzT~4pc Vo\ƹb9Rq-'1j;8ܗ)hE%DZKS<璸Bu*%*Yw5ڻ9ۣ^z4U; Ñk\U(o~G?VUĎ:?P?_F_Kߤ~ᓾI |pr.Ok\SklRhҪz{­P .}SktZ7UQ4ڌIM8̈eaӊJZ%FFZu,KZvln廐SNFIVtuNi?CM5]+Ph,{jN JSR$IS^tSUVrORYu.9WyP6 [Kiu m!X|]Y79ӄ)\ģ)pbڳr%*&ꑶ_-H*dzk)1 V3')UAϹٶWRxe'պn۫h7AR9 EAJeGLms!%D| A 5]/Q3eb̄vnVn%za\m kZnv([emqrIҕij|""><hjJשvvǕ|Pޟs}V~2&Z?+2N&Z4w@)4iSڪ_>/JN9Hiۏuf8'It[ȲR.hZ$ȋ_Y ~U<UUO*6b)Ovzڜj\R̋.$FsQuҊj^נ䈈y<zZIuP[}Qm=C?zN(Exqu/kn S-FzKZzOסӽjJ\)F3b!r5ٝ|;6 o=-3*λ]αb\abqRi-w޵⦪~b8Kpo)Z=>)ғ"5/GTZLE-輵f7ݘ۹~+&+w/7GFI:l33fg.N~۲\2|*cnermnnM+Fq"ѪIz%j =YW8@~gc/~?N'?)«qȸs➟n=k" X“m֮VreMh2[uݖ] *FܖN)MȐ`f0 g,C9̑o;ddudJ=In13:ݒvvdMUEJLp^,6t-@͐9'{7m{-3,>hnF;ѰM)->>+Ěz!R* :`e--m7nB\u{b U>[8֪]6^ߤLʦ\DFNo$$dͶlgno8OrsQ\l̯hRo8tuNo+ CTxu!2[>ctFpeޓƻֶR"3QrQuOѳgwQr;S~)6HhZw/GgVTmUf_yt7%$];zLWF̰xy2Ʉu!MCmš_0[W6jf#a-KLi+3Q7c^qg%s<1aYIQeZf+}>;S6L0]Yu_h9߻<ƅpmiM$AVvŚ,*#t2.8Y)-Zhshü97/#Oro"u^/uFgWɺ,p:6a,^x%$Yve^3PƗMnTP&yS}OJ '덫MH^:rXԴJۋ/rI;S*,+yz1hv)Qw^ڍJ2oL׊q(\fDj:^T%vOadɂnS}ZO)N*λdaȜkG_PIEO}нa(^iQX᯦-7^)%g'SJx(.S9zVɴZ{E ))ۅi/s7 VIV-|sj0*UBTHIqRf>FP$KqN0 R̻8j\GcC}IUz\i 6F)Q{Gҧ3qSzKj-Az VЛS-zy:8*mNk|D鿓ND2u+0Yŝ7kqm·?8Ib]u>˗^_>(]vӋzv+ݩ){vZrJ2RQ몋C$z [,pp,8mڊbR]Il .f~d/ݓs㓓mͶ{mgjQwn=Oic9ܚm4Q/6ݨ[TƧ?nԶoytf{@AzT{e{[O'ZRZt~AGD?s3􌿂ՉIw'|~U\ w~di:Kޱ)U/sU%njѩ&GSP^ǝd)..!^U` 1wX[aԇSxoFV6_扐)T 2Mfd=ۖͭiZ7KK Bi9%7@<3<ճԻU,},a}FRqɛr i@ONJvK KLN M, ʖv0n-]DwlI-X6ܶ$Jʴh5O+mOI+Ra瞠\ MG7BفjYo1#͖0V`Ѱ2M?c8>-Crt*JkIGS:e#hPKx[鱼>{5m;wcն&>j-M֥^َ) 6yȜl_w{-ō̱r> U=]iw3)r*]:K]6BdCTZ|>gf}LW}[$'Y5 &c -j.z6R 67MԷFMnÌwI7w5E}o޽+K ֵy4܌ȥW"COyR[q5Ӱ͙f[v"_#q{MV6܍3"u9BK(41ӯqˇc${ߝCi6I(OmθzҜ5k^:>Jzw.>qV8{vU[ڶEm|DžBz].KHjI]x;Mɗ{m,qZXr忇2u^RO2Z}ZێS[2Jen!*NDcrBUً4<ǼMҲs1Zw57c3&ĖڻzmP*FuJG1-dN:|OU}ҵgi2t~F^^Z.VxjvŧnNNh<:]^~NN+ge^g.SԔGFe߯'[vn'(ScJ]kܗ7eJOlRrfziݮq̋S"\*U<*W]k$FջV}? 7g#֟*GQQ|#/bo]p$>_Un9;l S VvQU%OLU{οmU6bZ1MTx%!֙Q7, J=!3 ;Q,ڌ;6ͱ݅q^&ߔ·n #WbwӖX.HtG)N&d̵zpI,n cu ޖUj+VXUp[w]N o.J6Z8Ts&utxln;~HPHS/xw`G\ʡ¿rj Z^vt"[L:SD\h0sUwR,}[x^X,R2Vn< ]2YDr[SRKs8tXb̷G?Ps Tv 3be,zVz D[/I.KOEQrm'$7|[J>r S`5յwT#\w1FTz\Ԛ &"ׅhSHrD\'r]~/>p;:Piuu:"9ő=tTaS7V2rӷk7mb[^WmPp*[y.Þ6f]cizJCgRR@UVl큝.WJP1N{/\whZ ػϧӱE7|E֫Sί.x-Y&pi%v''-x6r'Ws*6=DwwUu]=C?MK [yrtܒG$!WGqJ*%SAz ED[^)/tė/g=#Omd.|^n/sl׉g DZqemqowݮRzUܜ=ڽ-o/Iۖ;qVʘgPp|mm;6zGl9.8pwWgsJ2qPbe}}UpNjٯ}7TMQKrؽtEx%v w߾8%|j;~|}pK]ơ/ w߾8%|j;~|}pK]ơ/ w&~e_H 8PL7:%ʭ5Kw&U2vwR_+rm'}C7#rWoO&HoG?M$UR7{FU]u ;# !Wk`|W>׹潇9Vn)6)*ҹ{%qV4q>W1vi#T"Qk&GwxcJBJ- Ϸ^ˁxkU}ԣ/3.;]J=<*)cS)ROK9H=,r zX @)cS)Da^ԽQ gxJI=w֣gf*TRj

#E-mail: wsjang@chosun.ac.kr, TEL: +82-62-230-7212
• Received: July 24, 2017   • Revised: January 17, 2018   • Accepted: March 6, 2018

Copyright © The Korean Society for Precision Engineering

This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

  • 39 Views
  • 1 Download
  • 1 Crossref
  • 1 Scopus
prev next
  • This paper proposes a review of the robot’s vision control scheme using the data moving method, to improve the accuracy and processing speed for the tracking of a moving target. The vision system model, which can actively adjust the camera parameters for the camera and robot position changes is used for this study. The method of processing the vision data obtained during robot movement toward the target can be classified into a batch method using all the acquired data, and a data moving method using only limited data. In an effort to reduce the number of vision data obtained while the robot moves toward the target, the proposed control scheme estimates the optimal number of robot moving points near the target, to exclude the old data and use only the limited data obtained near the target recently. In this study, limited data are utilized. In order to show the effectiveness of the proposed control scheme, we set the control method based on the batch processing method, and then compared these two results with the accuracy and the processing time by performing the experiments of the slender-bar moving target tracking method.
최근 들어 산업용 로봇 활용범위가 지능화와 자동화로 확대되면서 정밀한 측정시스템에 대한 요구가 강조되고 있으며, 휴머노이드 로봇과 의료로봇 분야에서는 머신비젼을 넘어서 로봇 비젼으로 진화하고 있다.
현재 로봇비젼 인식기술은 사람의 얼굴을 인지 하는 수준의 실용화에는 도달했지만, 복잡한 형상의 물체를 구분하기 위해서는 많은 변수들을 사용해서 접근해야 하기 때문에 로봇에게는 매우 복잡하고 어려운 일이 된다.
특히, 최근의 산업현장에 인공지능 로봇이 적용되기 위해서는 로봇 스스로 주변 환경을 인식하고 이동할 수 있어야 할 뿐만 아니라, 불규칙적인 주변환경의 변화를 인식하고 유연하게 대처할 수 있어야 하는데, 이를 위해서는 시각 기능을 담당하는 이미지 처리기술과 시각 이미지의 분석 알고리즘에 대한 연구가 절실히 요구된다.
로봇에 비젼센서를 이용하여 로봇의 자율적인 주행경로 결정 기술, 2차원 시각정보의 3차원 공간재현, 물체 추적기술 등에 대한 많은 연구가 수행되고 있다.1,2 또한, 많은 양의 데이터처리를 위해 1970년대 후반부터 이루어진 대규모 기억 소자의 꾸준한 개발로 인해 메모리 문제를 해결 하였으며, 이치화 기법이나 큐(Cue)를 사용해 데이터의 양을 최소로 하여 작업의 조건과 특성을 명확히 함으로써 획득되는 데이터의 양을 최소로 줄이는 등의 물리적인 작업환경을 통해 데이터 처리시간을 줄이는 방법들이 연구되었다.3,4
Kobayashi5는 목표물체의 3차원 위치를 스테레오 비전시스템의 삼각측량 기술로 추정하고 카메라 좌표계에서 이동속도를 계산하여 추적지연 없이 움직이는 물체를 시각적으로 추적하는 방법을 제안하였으며, 최근 들어 Asl6은 비행 로봇의 동적 설계문제를 해결하여 비행 로봇이 이동 타겟을 추적할 수 있도록 비젼기반의 IBVS 방식을 이용한 제어장치를 제안하였다. 또한, Assa7는 단일 카메라에 기초하여 물체의 모습을 추정하는 방법에 다중 카메라 센서 융합기법을 보완하여 비젼을 기반으로 한 단계 높은 정확도와 정밀도를 제공하며 실시간으로 물체의 모습을 추정하는 센서 융합기법을 제안하였다.
위에서 언급된 대부분 연구들은 비젼시스템을 로봇에 적용할 때에 가장 중요한 요소인, 카메라의 위치, 방향 및 초점거리에 대한 보정이 정확하지 않으면 로봇은 정상적인 위치보정을 하지 못하고 오동작할 우려가 있다. 특히, 카메라와 로봇 사이의 상대적인 위치와 카메라 방위 및 초점거리가 변하면 카메라에 대한 보정계수를 다시 계산해야 하는 번거로움이 있다.
이러한 문제점을 해결하기 위해 고정된 타겟의 물체배치 작업에 관한 선행연구8,9를 통해 증명된 카메라 및 로봇위치 변화에 대해 카메라 매개 변수를 능동적으로 조절할 수 있는 비젼시스템 모델을 공간상 위치값이 알려지지 않은 상태에서 연속적으로 이동하는 이동타겟 추적작업에 적용 하였다. 로봇이 타겟을 향해 이동하는 동안 얻어진 비젼데이터를 처리하는 방법에는 획득된 데이터를 모두 사용하는 일괄처리법(Batch Method)과 일정한 데이터만을 사용하는 데이터 이동법(Data Moving Method)으로 구분할 수 있다.
이리하여 본 연구는 로봇이 이동타겟 추적시 정확도 및 처리속도 향상을 위해 데이터이동법을 이용한 로봇비젼 제어기법을 제안하였다.
제안된 제어기법은 로봇이 타겟을 향해 이동하는 동안 얻어진 비젼데이터 개수를 줄이기 위해 오래된 데이터를 배제하고 최근 타겟 근처에서 획득된 일정한 데이터만을 사용하기 위해, 타겟 근처의 최적의 로봇 이동지점수를 추정하여 한정된 데이터 개수만을 사용하였다.
그리고 제안된 제어기법의 효율성을 보이기 위해 일괄처리법을 사용한 제어기법을 기준으로 설정하여 얇은 막대 이동타겟 추적실험을 통해 정확도 및 처리속도 결과를 비교하여 평가하였다.
2.1 로봇 기구학 모델
Fig. 1은 본 연구에서 이동타겟 추적실험에 사용 한 삼성 4축 스카라 타입 로봇의 링크 인자와 관절 좌표계의 설정을 보여주며, Table 1은 3개의 회전관절과 1개의 미끄럼 관절을 갖는 로봇의 4개 관절에 대한 Denavit-Hartenberg 규약10에 따른 링크인자를 보여준다.
Fig. 1

Link parameters and link frame assignments of 4 axis robot

KSPE_2018_v35n7_669_f001.jpg
Table 1

Link parameter of 4 axis robot

Table 1
Axis α i-1 α i-2 di θi
1 0 0 387 θ 1
2 0 400 0 θ 2
3 180 250 d 3 0
4 -180 0 0 θ 4
Fig. 2는 로봇이 j개 큐를 갖는 물체를 가지고 설정된 n개 이동 지점을 따라 운동할 때 i번째 이동지점에서 j번째 큐에 대한 운동 상태를 보여 준다. Fig. 2에 근거하여 Table 1의 링크인자를 사용하여 계산된 로봇 기구학 모델의 성분별 위치는 식(1)에서 보여준다.8,9
Fig. 2

Robot’s movement

KSPE_2018_v35n7_669_f002.jpg
(1)
Fxi,j=cosθ1i+θ2i+θ4iPxj-sinθ1i+θ2i+θ4iPyj+250cosθ1i+θ2i+400cosθ1iFyi,j=sinθ1i+θ2i+θ4iPxj+cosθ1i+θ2i+θ4iPyj+250sinθ1i+θ2i+400sinθ1iFzi,j=Pzj-d3i+387
여기서, i는 로봇의 운동궤적에서의 이동지점, θ1i, θ2i, d3i, θ4ii번째 이동지점에서 로봇 관절값, j는 큐(Cue)의 번호를 나타낸다. 또한, Pxj, Pyj, Pzj는 마지막 관절 좌표계{4} 원점에 대해 부착된 물체에 있는 j번째 큐의 위치를 나타낸다.
2.2 비젼시스템 모델
본 논문에서 제시한 비젼시스템 모델은 6개의 불확실한 매개변수를 사용하여 3차원 공간상에 움직이는 로봇의 끝점에 부착된 물체의 위치 벡터를 2차원 카메라 좌표계로 변환시키는 모델이다. 비젼시스템 모델은 카메라 모델과 2.1절의 로봇 기구학 모델이 이용된다.
(1) 카메라 모델
Fig. 3과 같이 임의의 기준계에 대한 카메라의 회전은 오일러 매개변수(Euler Parameter)를 사용하여, 카메라가 원하는 영상을 얻기 위하여 카메라가 회전하는 축 방향으로 단위벡터 l^(lx, ly, lz)를 설정하고 회전축에 대한 회전각을 Ø라 하면 이때, 오일러 매개변수는 식(2)와 같이 주어진다.11
Fig. 3

Camera rotation and Euler parameters

KSPE_2018_v35n7_669_f003.jpg
(2)
c1=cos12,c2=lxsin12,c3=lysin12,c4=lzsin12
여기서, c12+c22+c42+c42=1인 오일러 매개변수에 대한 제한조건이 주어진다.
식(2)의 제한 조건을 만족하는 카메라 회전모델은 오일러 매개변수들의 항으로 나타내어진 방향 코사인 행렬(Direction Cosine Matrix)을 사용함 으로써 식(3)과 같이 주어진다.11
(3)
Xmi,jYmi,j=K11CiK12CiK13CiK21CiK22CiK23CiFxi,jFyi,jFzi,j
여기서,
K11=C12+C22-C32-C42,K12=2C2C3+C1C4K13=2C2C4-C1C3,K23=2C2C3-C2C4K22=C12-C22+C32-C42,K23=2C3C4+C1C2
(2) 비젼시스템 모델
카메라 평면에 대한 로봇 위치의 불확실성을 보완하기 위해 시각 매개변수 C5C6식(3)의 카메라 회전모델에 첨가하면 아래와 같이 비젼 시스템 모델이 주어진다.8,9
(4)
Xmi,j=C12+C22-C32-C42Fxij+2C2C3+C1C4Fyij+2C2C4-C1C3Fzi,j+C5Ymi,j=2C2C3+-C1C4Fxij+C12-C22+C32-C42Fyi,j+2C3C4+C1C2Fzi,j+C6
여기서, Xmi,jYmi,j은 각각 3차 공간상의 i번째 이동지점에서 j번째 큐에 대한 위치 벡터를 2차원 카메라 좌표계로 변환했을 때 x, y성분을 나타 낸다. 6개 시각 매개변수 중 C1-C4는 카메라의 방향 및 초점거리의 변화성을 나타내고, C5, C6은 카메라에 대한 로봇 위치의 불확실성을 나타낸다.
본 연구에서 필요로 하는 수학적 모델링은 카메라 매개변수 추정모델과 로봇 관절값 추정 모델로 구분하여 Newton-Raphson 방법을 사용하여 개발하였다.
3.1 카메라 매개변수 추정모델
로봇이 임의로 설정된 운동 궤적을 따라 이동 할 때 이동하는 각 지점에서 비젼데이터와 로봇 관절값이 얻어지면, 3차원 로봇 위치값을 2차원 카메라 좌표계로 변환하는데 사용되는 비젼시스템 모델의 6개 카메라 매개변수를 추정하기 위해 사용되는 모델식은 선행연구8,9를 통해 식(5)와 같이 주어진다.
(5)
Ck,l+1=Ck,l+C=Ck,l+ATWA-1ATWR
여기서, l은 계산과정에서의 반복횟수이며, W는 가중치행렬로서 본 연구에서는 사용된 모든 비젼 데이터에 동등한 비중을 주기 위해 단위행렬을 사용하였다. 또한, A는 (2 × i × j) × 6의 크기를 가지는 자코비안행렬로 식(6)와 같이 주어지며, R은 (2 × i × j) × 1의 크기를 갖는 유수벡터로 식(7)와 같이 주어진다.
(6)
A=Xm1,1C1Xm1,1C2Xm1,1C3Xm1,1C4Xm1,1C5Xm1,1C6Ym1,1C1Ym1,1C2Ym1,1C3Ym1,1C4Ym1,1C5Ym1,1C6Ymi,jC1Xmi,jC2Xmi,jC3Xmi,jC4Xmi,jC5Xmi,jC6Ymi,jC1Ymi,jC2Ymi,jC3Ymi,jC4Ymi,jC5Ymi,jC6
(7)
R=Xm1,1-Xc1,1Ym1,1-Yc1,1Xmi,j-Xci,jYmi,j-Yci,j
여기서, Xci,jYci,j는 로봇의 i번째 이동지점에서 j번째 큐에 대한 카메라로부터 획득된 실제 비젼데이터를 나타낸다. 특히, 카메라 매개변수 추정모델은 사용된 각 카메라에 대해 독립적으로 적용된다.
3.2 로봇 관절값 추정모델
3.1절의 매개변수 추정방법에 의하여 계산된 각 카메라에 대한 6개 매개변수 Ck를 이용하여 타겟에 대한 4개 로봇 관절값 θn을 추정하기 위한 로봇 관절값 추정 모델식은 식(8)과 같이 주어진다.8,9
(8)
θn,l+1=θn,lθ=θn,l+J*TWJ*-1J*TWR*
여기서, l은 계산과정 중 반복 횟수, W는 가중치행렬로서 사용된 3대의 카메라에 대해 동등한 비중을 주기 위해 단위행렬을 사용하였다. 또한, J*는 (2 × q × j) × 4의 크기를 가지는 자코비안 행렬로 식(9)와 같이 주어지며, R*은 (2 × q × j) × 1의 크기를 가지는 유수벡터로 식(10)과 같이 나타낸다.
(9)
J*=Xm1,1θ1Xm1,1θ2Xm1,1θ3Xm1,1θ4Ym1,1θ1Ym1,1θ2Ym1,1θ3Ym1,1θ4Xmq,jθ1Xmq,jθ2Xmq,jθ3Xmq,jθ4Ymq,jθ1Ymq,jθ2Ymq,jθ3Ymq,jθ4
(10)
R*=Xm1,1-Xc1,1Ym1,1-Yc1,1Xmq,j-Xcq,jYmq,j-Ycq,j
여기서, q는 카메라의 개수, Xcq,jYcq,j는 타겟의 j번째 큐에 대해 q번째 카메라에서 측정된 비젼데이터의 좌표값을 나타내며, Xmq,jYmq,jj번째 큐에 대해 q번째 카메라에서 추정된 카메라 매개변수 C1-C6을 사용한 비젼시스템 모델의 좌표값을 나타낸다.
Newton-Raphson 방법을 통해 3장에서 보여준 매개변수 수학적 모델링을 이용하여 이동타겟 추적을 위해 일괄처리법과 데이터이동법을 사용한 로봇비젼 제어기법을 제안하였다.
4.1 일괄처리 제어기법

4.1.1 비젼데이터 획득 및 처리

일괄처리법은 임의의 운동궤적을 갖는 로봇 초기화단계를 설정하여 로봇이 이동하는 동안 획득한 모든 비젼데이터를 사용하여 이동타겟 추적을 위한 초기의 카메라 매개변수와 로봇 관절값을 계산한다
Fig. 4에서 보여준 것 같이 m개 이동지점을 갖는 로봇 초기화 단계에서 m번째 이동지점을 타겟으로 설정하고 (m-1)개 로봇 이동지점의 비젼데이터를 사용하여 이동타겟 추적단계에서 필요한 초기 카메라 매개변수와 로봇 관절값을 추정한다. 이동타겟 추적단계에서 첫 번째 이동타겟을 추정할 때는 로봇 초기화단계에서 타겟으로 사용된 m번째가 추가되어 m개 이동지점의 비젼데이터를 사용하여 카메라 매개변수를 추정한 후, 추정된 카메라 매개변수를 이용하여 타겟에 대한 로봇 관절값을 추정하여 타겟의 위치값을 계산한다. 이와 같이 k*번째 이동타겟 추정시 (k*-1)번째 이동타겟이 추가되어 (m+k*-1)개 이동지점의 비젼데이터를 사용하여 각 카메라 매개변수를 추정하고, 추정된 카메라 매개변수를 이용하여 로봇 관절값을 추정하여 타겟의 위치값을 계산한다.
Fig. 4

Data processing method of the batch scheme

KSPE_2018_v35n7_669_f004.jpg

4.1.2 제어기법

Fig. 5는 일괄처리 제어기법에 대한 전체적인 흐름을 보여주며, 각 단계별 설명은 다음과 같다.
Fig. 5

Robot’s vision control scheme of the batch method

KSPE_2018_v35n7_669_f005.jpg
(1) Step 1; 로봇 초기화 단계에서 초기 타겟지점(m)으로 이동하는 동안 3 대의 카메라를 사용하여 로봇의 각 이동지점에서 2개의 큐에 대한 비젼 데이터를 획득한다.
(2) Step 2; 각 카메라에서 획득한 2개의 큐에 대한 (m-1)로봇 이동지점까지 비젼데이터를 사용하여 카메라 매개변수 추정방법에 적용하여 각 카메라에 대한 매개변수를 추정한다.
(3) Step 3; <Step 2>에서 추정된 각 카메라 매개변수와 각 카메라에서 획득한 초기 타겟(m)에 대한 비젼데이터를 관절값 추정방법에 적용하여 로봇 관절값을 추정한다. <Step 2>와 <Step 3>에서 추정된 카메라 매개변수와 로봇 관절값은 이동타겟 추정시 초기값으로 사용한다.
(4) Step 4; 이동타겟 추적단계에서 이동타겟의 지점(k*)을 나타내기 위해 정의하였으며, 이동 타겟의 지점을 1부터 n까지 1씩 증가시킨다.
(5) Step 5; k*번째 이동타겟 추정시 사용되는 비젼데이터의 전체 이동지점개수(TP)를 정의 하였으며, 로봇 초기화단계의 m개 이동 지점수와 k*번째까지 이동타겟에 대한 지점을 합한 전체값을 나타낸다.
(6) Step 6; 각 카메라에서 획득한 2개의 큐에 대한 (TP-1)개 지점까지의 비젼데이터를 카메라 매개변수 추정방법에 적용하여 각 카메라에 대한 매개변수를 추정한다.
(7) Step 7; 각 카메라에서 획득한 k*번째 이동타겟 번호(TN)를 나타낸다.
(8) Step 8; <step 6>에서 각 카메라에 대해 추정된 카메라 매개변수와 <Step 7>의 각 카메라에서 정의된 k*번째 이동타겟에 대해 획득된 비젼데이터를 관절값 추정방법에 적용하여 로봇 관절값을 추정한다. 이동타겟 번호(TN)가 마지막 값(n)이 아니면 <Step 4>로 되돌아가서 다음 이동타겟 지점에 대한 계산을 반복한다.
(9) Step 9; 각 이동타겟 지점에서 추정된 관절값을 로봇기구학 식(1)에 대입하여 계산된 2개 큐의 위치값을 실제 위치값과 비교하여 오차값을 계산한다.
4.2 데이터이동 제어기법

4.2.1 비젼데이터 획득 및 처리

로봇이 이동하는 동안 획득된 비젼데이터를 처리시 데이터 양을 최소화하기 위해 데이터이동 제어기법을 제안하였다. Fig. 6에서 보여준 것 같이 데이터이동법은 m개 이동지점을 갖는 로봇 초기화단계에서 m을 초기 타겟지점으로 설정하고 (m-1)점의 비젼데이터를 사용하여 이동타겟 추적단계에서 이용되는 최적의 로봇 이동지점개수(P)를 계산한 후, 이에 상응하는 초기 카메라 매개변수와 로봇 관절값을 얻는다. 이동타겟 추적단계에서 첫번째 타겟을 추정할 때는 가장 최근 이동지점(m)까지 P개의 이동 지점 비젼데이터만을 사용하여 계산을 수행한다. 이와 같이 k*번째 이동타겟 추정시 이전단계에서 사용된 (k*-1)번째 타겟지점을 포함한 최근 이동지점 개수 P개의 비젼데이터 만을 사용하여 계산한다.
Fig. 6

Data processing method of the data moving scheme

KSPE_2018_v35n7_669_f006.jpg

4.2.2 제어기법

이동타겟 추적을 위해 데이터이동 제어기법은 Fig. 7에서 보여준 것 같이 로봇 초기화단계에서 4.2.1절의 데이터 처리방법을 기초로 최적 데이터 이동지점수(P)를 계산하여, 이동타겟 추적단계에서 타겟 추정시 사용되는 비젼데이터를 최소화 하고자 한다. 이에 대한 각 단계별 내용은 다음과 같다. 특히, Fig. 7에서 음영으로 표시된 부분은 Fig. 5에서 설명된 것과 같은 방법을 사용하고 있다.
Fig. 7

Robot’s vision control scheme of the data moving method

KSPE_2018_v35n7_669_f007.jpg
(1) Step 1; 일괄처리 제어기법 Fig. 5의 <Step 1>과 같이 초기화 단계에서 필요한 비젼데이타를 획득한다.
(2) Step 2; 최적의 이동지점수 (P)를 계산하기 위해 로봇 이동지점수를 1씩 변화시키기 위해 정의 하였다.
(3) Step 3; 최초 로봇 이동지점 1부터 (m-1)지점까지 2 큐에 대해 획득한 비젼데이터를 매개변수 추정방법에 적용하여 각 카메라에 대한 매개변수를 계산한다. 이후, 최적의 로봇 이동지점수를 계산하기 위해 로봇 이동지점 수를 1씩 줄이면서 계산한다.
(4) Step 4; Fig. 5의 <Step 3>과 같이 로봇 관절값을 추정한다.
(5) Step 5; 로봇 이동지점수의 변화에 따라 초기타겟에 대해 추정된 위치값과 실제 위치값을 비교한 오차값이 이전에 계산된 오차값 보다 작으면 <Step 2>로 되돌아가고, 크면 이전 단계의 로봇 이동지점수를 최적의 로봇이동 지점수(P)로 다음과 같이 결정한다.

P = (m-1) − (k-1) + 1 = m-k+1

(6) Step 6; Fig. 5의 <Step 4>와 <Step 5>와 같은 방법을 사용하여 k*번째 이동타겟에 대한 총이동지점수(TP)를 계산한다.
(7) Step 7; TP = (m+k*) 이동지점수를 갖는 k*번째 타겟을 추정하기 위해 (TP-P) 부터 (TP-1)까지 P개 이동지점수의 2개 큐에 대한 비젼 데이터를 가지고 카메라 매개변수 추정방법을 사용하여 각 카메라에 대한 매개 변수를 추정 한다.
(8) Step 8; Fig. 5의 <Step 7> 및 <Step 8>과 같은 방법으로 k*번째 이동타겟에 대한 로봇관절값을 추정한다.
(9) Step 9; 이동타겟 k*가 마지막 지점(n)이 아니면 <Step 6>로 되돌아가서 다음 이동 타겟지점에 대한 계산을 반복한다.
(10) Step 10; Fig. 5의 <Step 9>와 같이 추정된 이동타겟값을 이용하여 오차값을 계산하여 효율성을 평가한다.
5.1 실험장치
본 연구에 사용된 실험장치의 구성은 Figs. 89와 같이 크게 비젼시스템, 로봇시스템, PC시스템으로 구성되었다.
Fig. 8

Experimental set-up

KSPE_2018_v35n7_669_f008.jpg
Fig. 9

Experimental schematic diagram

KSPE_2018_v35n7_669_f009.jpg
또한, 비젼데이터의 양을 최소화하여 처리속도를 향상시키고자 물체 형상 전체를 사용하지 않고 여러 개의 큐를 이용하여 다양한 물체를 형상화할 수 있도록 Fig. 10와 같이 시험모형을 제작하였다.
Fig. 10

Test model used for experiment

KSPE_2018_v35n7_669_f010.jpg
본 연구에서는 Fig. 10의 1번과 2번 큐를 이용 하여 얇은 막대 형상을 만들어 진행하였으며, 각 큐의 O4에 대한 위치값은 아래와 같다.
P1=Px1,Pv1,Pz1=15 mm, -18 mm, -103 mmP2=Px2,Pv2,Pz2=15 mm, -18 mm, -103 mm
5.2 실험방법
본 실험에서 삼성 SM7 로봇의 운동궤적은 Fig. 11과 같이 m = 10개의 로봇 초기단계와 n = 20개의 이동타겟 추적단계로 설정하고, 3대의 카메라를 사용하였다. 그리고 4장에서 제안된 로봇비젼 제어기법을 사용하여 이동타겟의 위치값을 추정하였다.
Fig. 11

Robot’s trajectory

KSPE_2018_v35n7_669_f011.jpg
6.1 초기화 단계에서 최적의 로봇 이동 지점수(P) 추정
데이터이동 제어기법을 사용하여 얇은 막대 이동타겟을 추적하기 위해 Fig. 7의 <step1>에서 <step 5>를 이용하여 최적의 로봇 이동지점수(P)를 계산하였다. Fig. 12에서 보여준 것 같이 이동 지점수가 5일 때 0.1099 mm로 가장 적은 오차값이 발생하여 P를 5로 설정하였다.
Fig. 12

Errors according to the variation of robot moving points in the data moving scheme

KSPE_2018_v35n7_669_f012.jpg
6.2 비젼시스템 모델의 적합성 결과
Newton-Raphson 방법을 사용한 일괄처리 제어기법과 데이터 이동 제어기법에 대해 비젼시스템 모델의 적합성을 보였다.
일괄처리 제어기법은 Fig. 5 제어기법에 따라 이동타겟 추적단계에서 k* 번째 이동타겟을 추정하기 위해서는 로봇 초기단계 이동지점수(m)와 이동타겟 추적단계의 (k*-1)까지 이동지점을 합한(m+k*-1) 이동지점에 대한 비젼 데이터를 사용하여 매개변수를 추정한다. 이리하여 (k*-1)번째 이동지점에 대해 추정된 매개변수를 사용한 비젼시스템 모델값과 획득된 실제 비젼 데이터값을 비교하여 비젼시스템 모델의 적합성을 보였다.
데이터이동 제어기법은 Fig. 7의 제어기법에 따라 로봇 초기화 단계에서 계산된 최적의 이동 지점수(P)를 이용하여 이동타겟 추적단계에서 k*번째 이동타겟을 추정하기 위해서는 로봇 초기화 단계 이동지점수 (m)개를 포함한 k*번째 이동지점까지 (m+k*) 이동지점수에서 P를 뺀 (m+k*-p)로부터 (m+k*-1) 이동지점까지 비젼데이터를 사용하여 카메라 매개변수를 추정한다. 이리하여, (k*-1)번째 이동지점에 대해 추정된 매개변수를 사용한 비젼시스템 모델값과 실제 비젼데이터값을 비교하여 비젼시스템의 적합성을 보였다.
그러므로 (k*+1)번째 이동타겟을 추정하기 위해 필요한 k*번째 지점에서 각 카메라에 대해 추정된 비젼시스템 모델값과 실제 비젼데이터를 비교한 오차값 er.m.sk*12 식(11)과 같이 정의하였다. 특히, 첫번째 타겟을 추정하기 위해서, 로봇 초기화 단계의 m번째까지의 비젼데이터를 사용하였다.
(11)
er.m.sk*=j=1j*exk*,j2+eyk*,j22×j*
여기서 j*는 큐의 개수(j*=2), exk*,jeyk*,jk*번째 이동지점의 j번째 큐에 대한 실제 비젼데이터와 비젼시스템 모델 추정값 사이의 x축과 y축의 오차값이다. 또한 이동타겟 추적 단계에서 평균오차값 eavg식(12)와 같이 정의하였다.
(12)
eavg=k*ner.m.sk*n
여기서, n은 타겟 추적단계에서 필요한 이동 지점수(n = 20)을 나타낸다.

6.2.1 일괄처리 제어기법 결과

로봇이 타겟을 향해 이동하는 동안 각 이동 지점에서 3대 카메라에 대해 추정된 매개 변수를 식(4)에 적용하여 계산된 비젼시스템 모델값과 획득된 실제 비젼데이터를 비교하여 1번 카메라 의 결과만을 Fig. 13에서 보여 주었으나, 2번과 3번 카메라에서도 비슷한 결과를 얻었다. Table 2는 각 이동 지점에서 식(11)을 통해 계산된 3대 카메라의 실제 비젼데이터와 비젼시스템 모델값 사이의 r.m.s. 오차와 식(12)를 사용한 평균오차를 보여준다. 평균오차는 1번 카메라에서 0.7053 Pixel, 2번 카메라에서 0.4814 Pixel, 3번 카메라에서 0.8472 Pixel로 모든 카메라에서 비젼시스템 모델이 적합함을 보여준다.
Fig. 13

For camera 1, comparison of the actual and estimated values of vision system model in the moving target tracking stage based on the batch scheme (unit: pixel)

KSPE_2018_v35n7_669_f013.jpg
Table 2

The r.m.s errors of vision system model based on the batch scheme

(unit: pixel)
Table 2
Moving
point
Camera 1 Camera 2 Camera 3
m 0.2955 0.1917 0.4380
1 0.4442 0.2379 0.4356
2 0.3134 0.2334 0.4222
3 0.4133 0.2728 0.6519
4 0.5285 0.3165 0.3505
5 0.6393 0.2237 0.5056
6 0.7112 0.4918 0.6481
7 0.4714 0.2540 0.7343
8 0.5490 0.4921 0.7999
9 0.5289 0.5195 0.8350
10 0.7971 0.3609 0.6361
11 0.6728 0.3734 0.6806
12 0.7734 0.5917 0.9920
13 0.7578 0.5078 1.1052
14 1.0120 0.6342 1.0681
15 0.8818 0.7915 1.0453
16 0.9595 0.5229 1.3602
17 1.0588 0.6799 1.2660
18 1.1299 0.8771 1.4088
19 1.1679 1.0561 1.5615
Average 0.7053 0.4814 0.8472
Tables 23에서 m은 초기화 단계의 타겟값으로서 첫번째 이동타겟을 추정하기 위해 사용 되어지는 각 카메라에서 비젼시스템 모델값의 r.m.s 오차값을 보여준다.
Table 3

The r.m.s errors of vision system model based on the data moving scheme

(unit: pixel)
Table 3
Moving
point
Camera 1 Camera 2 Camera 3
m 0.1454 0.1766 0.1599
1 0.2302 0.0908 0.1939
2 0.0791 0.0625 0.0821
3 0.1335 0.1415 0.3662
4 0.2040 0.1711 0.0415
5 0.2350 0.0726 0.1005
6 0.2831 0.1566 0.1295
7 0.1634 0.0947 0.0991
8 0.1127 0.1932 0.1548
9 0.1515 0.1522 0.1520
10 0.2856 0.0962 0.0939
11 0.1951 0.0911 0.0576
12 0.1931 0.2198 0.2325
13 0.1974 0.1021 0.2107
14 0.2513 0.0487 0.0163
15 0.1711 0.1788 0.1140
16 0.1873 0.1186 0.2365
17 0.2096 0.1707 0.0730
18 0.2087 0.1645 0.0728
19 0.2062 0.1448 0.0787
Average 0.1922 0.1324 0.1378
본 연구는 m = 10을 사용하였으며, 실험을 통해 임의로 선택된 m의 크기는 2개 제어기법에서 이동타겟 추정값에 큰 영향을 미치지 않으나, m의 크기가 클수록 처리시간이 늦어짐을 알 수 있었다.

6.2.2 데이터이동 제어기법 결과

6.1절에서 계산된 최적 이동지점수 (P = 5)를 사용하여 얇은 막대 이동타겟 위치추정에 적용하였다. 로봇이 타겟을 향해 이동하는 동안 각 지점에서 3대 카메라에 대해 추정된 매개변수를 식(4)에 적용하여 계산된 비젼시스템 모델값과 획득된 실제 비젼데이터를 비교한 결과 중 1번 카메라에 대한 결과만을 Fig. 14에서 보여주고 있으나 2번과 3번 카메라에서도 비슷한 결과를 얻었다. Table 3식(11)을 통해 계산된 3대 카메라에 대한 실제 비젼데이터와 비젼시스템 모델값 사이의 r.m.s. 오차값과 식(12)를 사용한 평균오차를 보여준다. 평균오차가 1번 카메라에서 0.1922 Pixel, 2번 카메라에서 0.1324 Pixel, 3번 카메라에서 0.1378 Pixel로 모든 카메라에서 일괄처리기법을 사용한 경우보다 더 높은 정확도를 보여 주었다.
Fig. 14

For camera 1, comparison of the actual and estimated values of vision system model in the moving target tracking stage based on the data moving scheme (unit: pixel)

KSPE_2018_v35n7_669_f014.jpg
6.3 이동타겟 추적 결과
이동타겟 추적단계에서 로봇이 이동하는 동안 공간상 위치가 알려지지 않은 각 타겟지점에서 획득된 실제 비젼데이터만을 사용하여 일괄처리 제어기법과 데이터이동 제어기법을 적용하여 각 이동 타겟지점에 대해 로봇 관절값을 추정하였다. 추정된 관절값을 식(1)의 로봇기구학 모델에 적용하여 타겟에 대해 위치값을 계산하였다.
k*번째 타겟에 대해 추정된 위치값과 실제 타겟지점 위치값 사이의 오차값 (er.m.sk*)12식(13)과 같이 정의하였다.
(13)
er.m.sk*=j=1j*exk*,j2+eyk*,j2+ezk*,j23×j*
여기서, j*는 큐의 개수(j*=2), exk*,j,eyk*,j,ezk*,jk*번째 타겟지점의 j번 큐에 대한 x성분, y성분, z성분 오차를 나타낸다.
또한 추정된 이동타겟들에 대한 평균오차 eavg식(14)에 정의하였다.
(14)
eavg=k*=1ner.m.sk*n
여기서, n은 이동타겟 추적단계에서 이동타겟 지점수 (n = 20)를 나타낸다.

6.3.1 일괄처리 제어기법 결과

(1) 관절값 추정
Fig. 15는 각 타겟지점에서 로봇관절값 추정 방법 에 의해서 계산된 관절값과 실제 관절값을 비교한 결과를 보여주고 있으며, 오차값 범위는 θ1= 0.043 − 0.632 degree, θ2= -1.651 − -0.137 degree, d3 = -0.332 − -0.04 mm, θ4 = -0.419 − 0.4227 degree로, 각 관절값은 아주 적은 오차범위 내에 존재한다.
Fig. 15

Comparison of the actual and estimated values of robot joint values using the batch scheme

KSPE_2018_v35n7_669_f015.jpg
(2) 타겟 위치 추정
각 이동타겟에서 추정된 관절값을 식(1)에 대입하여 계산된 타겟의 위치값을 식(13)을 사용하여 계산된 r.m.s 오차값(er.m.s)을 Fig. 16Table 4에서 여준다. 오차값은 타겟이 이동함에 따라 처리하는 데이터의 양이 증가하기 때문에 증가하는 양상을 나타낸다. 식(14)를 이용한 이동타겟 20개에 대한 평균오차값(eavg)은 0.488 mm의 정확도를 가지며, 본 연구에서 개발한 프로그램 처리시간은 344 ms가 소요되었다.
Fig. 16

The r.m.s errors for 20 moving targets using the batch scheme (unit: mm)

KSPE_2018_v35n7_669_f016.jpg
Table 4

The r.m.s errors for 20 moving targets using the batch scheme

(unit: mm)
Table 4
Target
number (k*)
r.m.s
error
Target
number (k*)
r.m.s
error
1 0.2224 11 0.4516
2 0.2085 12 0.7139
3 0.1459 13 0.5599
4 0.1300 14 0.5029
5 0.2505 15 0.5933
6 0.3301 16 0.7014
7 0.5213 17 0.6575
8 0.5420 18 0.7750
9 0.3857 19 0.8664
10 0.4044 20 0.8062

6.3.2 데이터이동 제어기법 결과

(1) 관절값 추정
데이터이동 제어기법의 (P = 5)를 사용한 로봇 관절값 추정방법에 의해서 계산된 관절값과 실제 관절값을 비교한 결과를 Fig. 17에서 보여주고 있으며, 오차값 범위는 θ1 = -0.247 − 0.395 degree, θ2= -0.978− 0.61 degree, d3= -0.091− 0.073mm, θ4= -0.699 − 0.518 degree로서, 각 관절값은 아주 적은 오차범위 내에 존재한다.
Fig. 17

Comparison of the actual and estimated values of robot joint values using the data moving scheme

KSPE_2018_v35n7_669_f017.jpg
(2) 타겟 위치 추정
Fig. 18Table 5는 각 타겟지점에서 추정된 로봇 관절값을 식(1)에 대입하여 계산된 20개 이동타겟에 대한 위치값을 식(13)에 적용하여 계산된 r.m.s 오차값 (er.m.sk*)을 보여준다. 타겟이 이동하여도 일정한 이동 지점수 만을 이용하여 데이터를 처리하기 때문에 일정한 범위 내에서 변화한다. 또한, 식(14)를 사용한 이동타겟 20개의 평균 오차값 (eavg)은 0.152 mm, 프로그램 처리시간은 281 ms가 소요되었다.
Fig. 18

The r.m.s. errors for 20 moving targets using the data moving scheme (unit: mm)

KSPE_2018_v35n7_669_f018.jpg
Table 5

The r.m.s errors for 20 moving targets using the data moving scheme

(unit: mm)
Table 5
Target
number (k*)
r.m.s
error
Target
number (k*)
r.m.s
error
1 0.0873 11 0.0602
2 0.1043 12 0.3573
3 0.0540 13 0.0500
4 0.1534 14 0.2261
5 0.1603 15 0.0784
6 0.1986 16 0.1695
7 0.3535 17 0.1050
8 0.1351 18 0.1360
9 0.2251 19 0.1145
10 0.2016 20 0.0666
결과적으로, 연속적으로 이동하는 타겟을 어떤 지점에서 위치값을 추정하기 위해서 일괄처리기법은 로봇이 이동하는 동안 획득된 모든 비젼데이터를 사용하여 추정한 반면, 데이터이동기법은 획득된 오래된 비젼데이터를 배제하고 타겟근처에서 최근 얻어진 일정한 비젼데이터만을 사용하기 때문에 정확도 및 처리시간에서 일괄처리기법과 비교하여 더 좋은 결과를 얻었다.
본 논문은 일괄처리 제어기법을 기준으로 설정하고 데이터이동법을 이용한 로봇비젼 제어기법을 제안하였으며, 얇은 막대 이동타겟 추적을 통해 얻은 결과는 다음과 같다.
(1) 로봇이 이동하는 동안 획득한 방대한 비젼데이터를 처리하는데 있어서 양을 최소화하기 위해 제안된 데이터이동 제어기법에서 최적의 로봇 이동지점수(P)를 결정하는 방법을 제시하여(P = 5)를 추정하였다.
(2) 비젼시스템 모델 적합성에서 타겟 근처의 최근 로봇 이동지점수(P = 5)를 사용한 데이터이동 제어기법은 일괄처리 제어기법과 비교하면 3개 카메라 모두에서 적은 오차값은 보여준다.
(3) 데이터이동 제어기법은 획득된 데이터 중 오래된 데이터를 삭제하고 타겟 근처의 일정한 최근 데이터를 사용하기 때문에 획득한 모든 비젼데이터를 사용하는 일괄처리 제어기법에 비해 약 3배 정도 정확도가 향상됨을 보여 주었다.
(4) 모든 데이터를 사용하는 일괄처리 제어기법에 비해 한정된 일정한 개수의 데이터를 사용하는 데이터이동 제어기법의 데이터 처리시간이 더 빠름을 알 수 있었다.
이리하여 본 논문에서 제안된 데이터이동 제어기법은 일괄처리 제어기법보다 정확도 향상 및 처리속도를 빠르게 할 수 있다는 장점을 가지고 있어 그 효율성을 입증할 수 있었다. 향후, 이 결과를 토대로 작업환경이 급변하는 산업 현장에서 사용자가 상황에 맞는 제어기법을 선택할 수 있도록 제시하였다.
이 논문은 2017 학년도 조선대학교 학술연구비 지원을 받아 연구되었음.
  • 1.
    Kelly, R., Carelli, R., Nasisi, O., Kuchen, B., and Reyes, F., “Stable Visual Servoing of Camera-in-Hand Robotic Systems,” IEEE/ASME Transactions on Mechatronics, Vol. 5, No. 1, pp. 39-48, 2000.
    10.1109/3516.828588
  • 2.
    Yoshihiro, T., Yasuo, K., and Hiroyuki, I., “Positioning-Control of Robot Manipulator Using Visual Sensor,” Proc. of International Conference on Control, Automation, Robotics and Vision, pp. 894-898, 1996.
  • 3.
    Horn, B. K. H., “Robot Vision,” Cambridge, Massachusetts, MIT Press, pp. 46-48, 1986.
  • 4.
    Sandon, P. A., “Control of Eye and Arm Movements Using Active, Attentional Vision,” International Journal of Pattern Recognition and Artificial Intelligence, Vol. 8, No. 6, pp. 1471-1491, 1994.
    10.1142/S0218001494000711
  • 5.
    Kobayashi, N. and Shibata, M., “Visual Tracking of a Moving Object Using a Stereo Vision Robot,” Electronics and Communications in Japan, Vol. 91, No. 11, pp. 19-27, 2008.
    10.1002/ecj.10184
  • 6.
    Asl, H. J. and Bolandi, H., “Robust Vision-Based Control of an Underactuated Flying Robot Tracking a Moving Target,” Transactions of the Institute of Measurement and Control, Vol. 36, No. 3, pp. 411-424, 2014.
    10.1177/0142331213502747
  • 7.
    Assa, A. and Janabi-Sharifi, F., “A Robust Vision-Based Sensor Fusion Approach for Real-Time Pose Estimation,” IEEE Transactions on Cybernetics, Vol. 44, No. 2, pp. 217-227, 2014.
    10.1109/TCYB.2013.2252339
  • 8.
    Jang, M. W., “A Study on the Devaluation of the Development Robot Vision Control Schemes in Real Time for the Estimation of the Fixed Target,” M.Sc. Thesis, Chosun University, 2017.
  • 9.
    Jang, M. W., Kim, J. M., and Jang, W. S., “Real-Time Robotic Vision Control Scheme Using Optimal Weighting Matrix for Slender Bar Placement Task,” Journal of the Korean Society of Manufacturing Technology Engineers, Vol. 26, No. 1, pp. 50-58, 2017.
    10.7735/ksmte.2017.26.1.50
  • 10.
    Craig, J. J., “Introduction to Robotics: Mechanics and Control,” Addison Wesley Publishing Company, pp. 62-76, 1989.
  • 11.
    Morton, H. S., Junkins, J. L., and Blanton, J. N., “Analytical Solutions for Euler Parameters,” Celestial Mechanics, Vol. 10, No. 3, pp. 287-301, 1974.
    10.1007/BF01586859
  • 12.
    Freedman, D., Pisani, R., and Purves, R., “Statistic Fourth Edition,” W. W. Norton & Company, pp. 66-67, 2007.

Download Citation

Download a citation file in RIS format that can be imported by all major citation management software, including EndNote, ProCite, RefWorks, and Reference Manager.

Format:

Include:

Development of Robot’s Vision Control Scheme Using the Data Moving Method for the Tracking of Moving Target
J. Korean Soc. Precis. Eng.. 2018;35(7):669-679.   Published online July 1, 2018
Download Citation

Download a citation file in RIS format that can be imported by all major citation management software, including EndNote, ProCite, RefWorks, and Reference Manager.

Format:
Include:
Development of Robot’s Vision Control Scheme Using the Data Moving Method for the Tracking of Moving Target
J. Korean Soc. Precis. Eng.. 2018;35(7):669-679.   Published online July 1, 2018
Close

Figure

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
Development of Robot’s Vision Control Scheme Using the Data Moving Method for the Tracking of Moving Target
Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image
Fig. 1 Link parameters and link frame assignments of 4 axis robot
Fig. 2 Robot’s movement
Fig. 3 Camera rotation and Euler parameters
Fig. 4 Data processing method of the batch scheme
Fig. 5 Robot’s vision control scheme of the batch method
Fig. 6 Data processing method of the data moving scheme
Fig. 7 Robot’s vision control scheme of the data moving method
Fig. 8 Experimental set-up
Fig. 9 Experimental schematic diagram
Fig. 10 Test model used for experiment
Fig. 11 Robot’s trajectory
Fig. 12 Errors according to the variation of robot moving points in the data moving scheme
Fig. 13 For camera 1, comparison of the actual and estimated values of vision system model in the moving target tracking stage based on the batch scheme (unit: pixel)
Fig. 14 For camera 1, comparison of the actual and estimated values of vision system model in the moving target tracking stage based on the data moving scheme (unit: pixel)
Fig. 15 Comparison of the actual and estimated values of robot joint values using the batch scheme
Fig. 16 The r.m.s errors for 20 moving targets using the batch scheme (unit: mm)
Fig. 17 Comparison of the actual and estimated values of robot joint values using the data moving scheme
Fig. 18 The r.m.s. errors for 20 moving targets using the data moving scheme (unit: mm)
Development of Robot’s Vision Control Scheme Using the Data Moving Method for the Tracking of Moving Target
Axis α i-1 α i-2 di θi
1 0 0 387 θ 1
2 0 400 0 θ 2
3 180 250 d 3 0
4 -180 0 0 θ 4
Moving
point
Camera 1 Camera 2 Camera 3
m 0.2955 0.1917 0.4380
1 0.4442 0.2379 0.4356
2 0.3134 0.2334 0.4222
3 0.4133 0.2728 0.6519
4 0.5285 0.3165 0.3505
5 0.6393 0.2237 0.5056
6 0.7112 0.4918 0.6481
7 0.4714 0.2540 0.7343
8 0.5490 0.4921 0.7999
9 0.5289 0.5195 0.8350
10 0.7971 0.3609 0.6361
11 0.6728 0.3734 0.6806
12 0.7734 0.5917 0.9920
13 0.7578 0.5078 1.1052
14 1.0120 0.6342 1.0681
15 0.8818 0.7915 1.0453
16 0.9595 0.5229 1.3602
17 1.0588 0.6799 1.2660
18 1.1299 0.8771 1.4088
19 1.1679 1.0561 1.5615
Average 0.7053 0.4814 0.8472
Moving
point
Camera 1 Camera 2 Camera 3
m 0.1454 0.1766 0.1599
1 0.2302 0.0908 0.1939
2 0.0791 0.0625 0.0821
3 0.1335 0.1415 0.3662
4 0.2040 0.1711 0.0415
5 0.2350 0.0726 0.1005
6 0.2831 0.1566 0.1295
7 0.1634 0.0947 0.0991
8 0.1127 0.1932 0.1548
9 0.1515 0.1522 0.1520
10 0.2856 0.0962 0.0939
11 0.1951 0.0911 0.0576
12 0.1931 0.2198 0.2325
13 0.1974 0.1021 0.2107
14 0.2513 0.0487 0.0163
15 0.1711 0.1788 0.1140
16 0.1873 0.1186 0.2365
17 0.2096 0.1707 0.0730
18 0.2087 0.1645 0.0728
19 0.2062 0.1448 0.0787
Average 0.1922 0.1324 0.1378
Target
number (k*)
r.m.s
error
Target
number (k*)
r.m.s
error
1 0.2224 11 0.4516
2 0.2085 12 0.7139
3 0.1459 13 0.5599
4 0.1300 14 0.5029
5 0.2505 15 0.5933
6 0.3301 16 0.7014
7 0.5213 17 0.6575
8 0.5420 18 0.7750
9 0.3857 19 0.8664
10 0.4044 20 0.8062
Target
number (k*)
r.m.s
error
Target
number (k*)
r.m.s
error
1 0.0873 11 0.0602
2 0.1043 12 0.3573
3 0.0540 13 0.0500
4 0.1534 14 0.2261
5 0.1603 15 0.0784
6 0.1986 16 0.1695
7 0.3535 17 0.1050
8 0.1351 18 0.1360
9 0.2251 19 0.1145
10 0.2016 20 0.0666
Table 1 Link parameter of 4 axis robot
Table 2 The r.m.s errors of vision system model based on the batch scheme (unit: pixel)
Table 3 The r.m.s errors of vision system model based on the data moving scheme (unit: pixel)
Table 4 The r.m.s errors for 20 moving targets using the batch scheme (unit: mm)
Table 5 The r.m.s errors for 20 moving targets using the data moving scheme (unit: mm)