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

하이브리드 이동 로봇의 다리 보행과 스케이트 주행을 위한 역기구학의 해석

Analysis of Inverse Kinematics for Legged Walking and Skated Driving with Hybrid Mobile Robot

Journal of the Korean Society for Precision Engineering 2023;40(11):855-866.
Published online: November 1, 2023

1 경북대학교 기계공학부

2 경북대학교 융합학부

1 School of Mechanical Engineering, Kyungpook National 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 School of Convergence, Kyungpook National 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: robot@knu.ac.kr, TEL: +82-53-950-7516
• Received: June 8, 2023   • Revised: July 15, 2023   • Accepted: August 28, 2023

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.

  • 231 Views
  • 6 Download
next
  • Hybrid mobile robot is the system that will practically combine legged walking and skated driving in the same system. Therefore, this robot has own problems of inverse kinematics that are not considered in typical walking robots. In this paper, I fully categorized the inverse kinematics problems for hybrid mobile robot with general motion by walking and driving on an inclined plane, including switching end-effectors between foots and blades. I also solved the inverse kinematics for each case of problems. I here actively adopted the coordinate transformation derived from the inclined plane to cope with the random motion of foots and blades on the plane. I then presented several examples of the inverse kinematics problems with specific situations, and verified the validity of the analysis method from the results.
하이브리드 이동 로봇은 1개의 시스템에 2개 이상의 이동 방법을 통합한 형태[1-4]인데, 이 연구에서는 다리에 의한 보행과 스케이트에 의한 주행을 동일한 시스템에 통합하는 것을 목표로 한다. 사람은 걷거나 뛰는 것보다 자전거나 인라인 스케이트 등의 도구를 이용하면 훨씬 적은 에너지로 매우 빠르고 멀리 갈 수 있는데, 사람이 그렇다면 로봇도 마찬가지일 것이다. 따라서 주변 상황과 지면 상태에 맞게 저속의 다리 보행과 고속의 스케이트 주행을 적절히 결합해서, 로봇의 이동 능력을 극대화하면서 에너지 효율적인 이동 방법을 제시하고자 한다. 아울러 인간의 스케이트 동작을 공학적으로 구현하는 것만으로도 충분한 의미가 있다고 생각한다. 2족 로봇에 의한 보행 및 주행은 지금까지 수많은 이론 연구[5-7]가 진행되었고, 다양한 동영상[8-12]으로 연구 결과를 실증하고 있다. 하이브리드 이동 로봇을 개발하기 위해서는 스케이트 주행의 구현이 가장 큰 난관인데, 이 연구에서는 스케이트 주행의 기초적인 이론 연구[13,14]를 진행했고, Fig. 1과 같이 몸통과 2족 10자유도의 구성인 스케이트 로봇(SkaBot)을 개발해서 부족하지만 동영상[15]으로 연구 결과를 예시했는데, 백문이 불여일견(百聞不如一見)이다.
Fig. 1

Inline skating robot (SkaBot)

KSPE_2023_v40n11_855_f001.jpg
로봇의 역기구학은 일반적으로 주어진 End-effector의 위치와 자세로부터 관절 변수를 구하는 문제인데, 더이상 연구할 것이 남아있지 않다는 소극적인 인상을 가지기 쉽다. 그러나 보편적인 상황에 대한 일반 해법이 존재하더라도, 제한적인 상황에 대한 특수해가 필요한 경우가 있는데, 이 논문은 후자에 해당한다. 스케이트 주행의 경우에는 전방에서 간략하게 본 Fig. 2와 같이 발목의 불편한 부담을 덜기 위해서 스케이트를 옆으로 기울이게 되는데, 이것은 주어진 발목의 각도를 맞추기 위한 스케이트의 기울기를 구하는 문제가 된다. 그리고 다리 보행의 경우에는 경사면의 기울기와 발바닥의 자세가 기본적으로 서로 같지만, 스케이트 주행의 경우에는 경사면의 기울기와 스케이트 날의 자세가 기본적으로 서로 같지 않다. 따라서 하이브리드 이동 로봇의 스케이트 주행에는 일반적인 보행 로봇에서 상정할 수 없는 고유한 역기구학 문제가 발생한다. 이것은 기존의 역기구학[5,6,16]에서 다루지 않은 내용인데, 보행 로봇에서는 기지(旣知)의 End-effector의 위치와 자세로부터 미지(未知)의 관절 변수를 구하는 것이 주된 문제가 되지만, 스케이트 주행 로봇에서는 기지의 관절 변수에서 미지의 End-effector의 위치와 자세를 구하는 것이 주된 문제가 되는데, 미지수의 개수는 서로 같다.
Fig. 2

Switching end-effectors between foot and blade

KSPE_2023_v40n11_855_f002.jpg
이 논문에서는 하이브리드 이동 로봇의 다리 보행과 스케이트 주행을 위한 역기구학 문제를 고찰한다. 역기구학 문제를 경사 지면에서 다리 보행과 스케이트 주행에 의한 일반적인 이동, 발바닥과 스케이트 날의 교체 등을 포함해서 체계적으로 분류하고, 각각에 대해서 해석한다. 그리고 구체적인 상황에 대한 역기구학 예제를 계산하고, 결과로부터 해석 방법의 유효성을 확인하고자 한다.
2.1 보행, 주행에 대한 역기구학 문제의 분류
Fig. 3은 개발 중인 로봇으로 몸통과 2족 12자유도의 구성인데, Fig. 1과 같이 스케이트 주행만이 가능한 2족 10자유도의 스케이트 로봇[15]과 달리 다리 보행과 스케이트 주행이 동일한 시스템에서 가능하기 때문에 진정한 의미의 하이브리드 이동 로봇이라고 할 수 있다. 여기서는 역기구학 문제를 다루므로 3장에 기하학적인 정보만을 언급하겠다.
Fig. 3

Hybrid mobile robot (HymBot)

KSPE_2023_v40n11_855_f003.jpg
모든 좌표계는 일반적으로 원점과 좌표축으로 구성되는데, 평탄 수평면의 기준 및 고정 좌표계는 0 – XYZ 좌표계이고, 수평 지면이 XYZ축 방향의 병진 및 회전으로 일정한 경사 지면이 된다. 로봇의 기준 및 고정 좌표계는 0 – xyz 좌표계인데, 평탄 수평면의 0 – XYZ 좌표계와 서로 같다. 여기서 몸통, 다리의 좌표축은 xyz와 같이 소문자로 표시하고, 경사면, 발바닥, 스케이트 날의 좌표축은 XYZ와 같이 대문자로 표시한다. Fig. 4와 같이 로봇은 경사면 위에서 다리 보행 또는 스케이트 주행에 의해서 직진 또는 선회로 이동한다. 2족 로봇의 입장에서 오른 다리가 제1 다리, 왼 다리가 제2 다리이다.
Fig. 4

Robot and inclined plane

KSPE_2023_v40n11_855_f004.jpg
보행과 주행의 역기구학에 필요한 동차 변환 행렬을 Table 1에 정리했는데, 예를 들면 오른 발바닥의 Ψ1은 0 – XYZ 고정 좌표계에서 병진과 XYXYZ-X+ Euler Angles인 λX, λY, γX, γY, βZ, βX 의 회전으로 01"-X1"Y1"Z1" 이동 좌표계가 되는 것을 의미하고, 오른 스케이트의 Ψ1은 고정 좌표계에서 병진과 XYXYZ-Y- Euler Angles인 λX, λY, γX, γY, βZ, βY 의 회전으로 01"-X1"Y1"Z1"이동 좌표계가 되는 것을 의미한다. 여기서 Z- Euler Angle인 βZ는 -Z축 중심의 회전각이고, 생략된 상첨자의 부호는 +이고, i = 1, 2이다. 우좌(右左) 발바닥의 자세는 XYXYZ-X± Euler Angles로 나타낼 수 있는데, 이것은 경사면의 XYXY 기울기인 Euler Angles에 발바닥의 회전인 Z-X± Euler Angles을 추가한 형태로서 경사면 위의 자유로운 발바닥의 운동을 나타낸다. 특히 γY는 보행과 주행의 좌우 다리에서 X1"축과 X2"축이 서로 대칭적인 바깥쪽을 가리키도록 추가한 회전각인데, 오른 다리에서 γY = 0°, 왼 다리에서 γY = 180°이다. Table 1에 포함된 부호의 구분으로 좌우 발바닥에서 회전각은 서로 대칭이 되는데, βZ는 바깥으로 돌리는 것이 양이고, βX는 앞으로 드는 것이 양이 된다. 그리고 우좌(右左) 스케이트의 자세는 XYXYZ-Y+ Euler Angles로 나타낼 수 있는데, 이것은 경사면의 기울기인 XYXY Euler Angles에 스케이트 날의 회전인 Z-Y± Euler Angles을 추가한 형태로서 경사면 위의 자유로운 스케이트 날의 운동을 나타낸다. Table 1에 포함된 부호의 구분으로 좌우 스케이트에서 회전각은 서로 대칭이 되는데, βZ는 바깥으로 돌리는 것이 양이고, βY는 바깥으로 드는 것이 양이 된다. 따라서 경사면 위의 발바닥과 스케이트의 자유로운 운동을 나타내기 위해서 경사면을 기준으로 하는 좌표 변환을 적극적으로 사용했다.
Table 1

Homogeneous transformation matrix of inverse kinematics for legged walking and skated driving

Table 1
Matrix Euler angles Frame
Right plane Λ1 XYXY (γY = 0o ) 01 - X1 Y1 Z1
Left plane Λ2 XYXY (γY = 180o ) 02 - X2 Y2 Z2
Foot/blade i XYXYZ - 0i'Xi' Yi' Zi'
Right foot Ψ1 XYXYZ - X + 01''X1'' Y1'' Z1''
Left foot Ψ2 XYXYZ - X - 02''X2'' Y2'' Z2''
Right blade Ψ1 XYXYZ - Y - 01''X1'' Y1'' Z1''
Left blade Ψ2 XYXYZ - Y + 02''X2'' Y2'' Z2''
그리고 Fig. 5와 같이 인라인 스케이트 휠의 끝부분이 종단면으로 원호의 형상이다. End-effector의 교체 중에 스케이트 날과 지면의 접촉 조건이 미끄럼이 없는 Pure Rolling이라고 하면, 접촉 상태는 수직인 선 접촉 또는 경사인 선 접촉으로 서로 변하기 때문에 End-effector의 위치인 E와 접촉점의 위치인 C가 바뀌게 된다. 실제로 스케이트 날의 마찰력에는 방향성이 있어서 날 방향의 마찰력이 그 수직 방향의 값보다 대단히 작기 때문에 옆으로 미끄러지지 않는 논홀로노믹(Nonholonomic) 구속이 작용한다. 그리고 많은 4족 보행 로봇[17,18]의 발끝이 마찰력 증가를 위해서 고무 재질의 원기둥 또는 구 형상이므로 Fig. 5와 유사한 상황이 발생하지만, 발목의 자세를 고려하지 않아도 되므로 충분히 회피할 수 있다.
Fig. 5

Contact of blade and plane

KSPE_2023_v40n11_855_f005.jpg
경사 지면에서 보행을 위한 발바닥과 주행을 위한 스케이트날의 교체를 고찰하는데, Fig. 2와 같이 스케이트 날은 발바닥 안에 수납되어 있다. Fig. 6과 같이 발목의 관절각을 θ6 이라고 하면, Fig. 2와 같이 보행에서 주행으로 교체하는 경우에는 미지의 θ6과 기지의 βX = 0°으로 발바닥과 지면이 수직의 면 접촉인 상태, 미지의 θ6과 기지의 βY = 0°으로 스케이트와 지면이 수직의 선 접촉인 상태, 기지의 θ6 = 0°과 미지의 βY ≠ 0°으로 스케이트와 지면이 경사의 선 접촉인 상태의 순서로 바뀐다. 특히 기지의 βY = βYa = 0°에서 꺾인 발목을 얼마나 돌려야 미지의 βY = βYb에서 θ6 = 0°인 곧게 뻗은 발목이 되는가를 해석하는 것이 핵심이다. 그리고 주행에서 보행으로 교체하는 경우에는 기지의 θ6 = 0°과 미지의 βY ≠ 0°으로 스케이트와 지면이 경사의 선 접촉인 상태, 미지의 θ6과 기지의βY = 0°으로 스케이트와 지면이 수직의 선 접촉인 상태, 미지의 θ6과 기지의 βX = 0°으로 발바닥과 지면이 수직의 면 접촉인 상태의 순서로 바뀐다. 특히 기지의 βY = βYa에서 θ6 = 0°인 곧게 뻗은 발목을 얼마나 돌려야 기지의 βY = βYb = 0°에서 꺾인 발목이 되는가를 해석하는 것이 핵심이다. 여기서 스케이트와 지면이 경사의 선 접촉인 상태는 발목의 불편한 꺾임을 막으면서 부담을 더는 안락한 주행을 위한 것으로 현실적인 선택이다. 따라서 일반적인 이동, 말단(End-effector)의 교체 등을 포함해서 보행과 주행의 역기구학을 분류하면 크게 다음과 같이 3종류의 문제로 정리할 수 있다.
  • ● 기지의 말단 위치, 기지의 말단 자세에 대한 보행과 주행의 역기구학

  • ● 기지의 말단 위치, 미지의 말단 자세에 대한 주행의 역기구학

  • ● 미지의 말단 위치, 미지의 말단 자세에 대한 주행의 역기구학

Fig. 6

Coordinate systems of robot

KSPE_2023_v40n11_855_f006.jpg
각각의 문제에 대해서 구체적으로 설명하고, 역기구학을 해석하기로 한다. 아울러 해석 과정은 계산의 연속적인 순서가 매우 중요하므로, 대표적인 저술[19]과 같이 순차적으로 나열하고자 한다.
2.2 기지 말단 위치, 기지 말단 자세의 보행, 주행에 대한 역기구학의 해석
Fig. 3의 로봇에 대한 좌표계는 Fig. 6과 같은데, 0 – xyz 좌표계는 기준 및 고정 좌표계, GxGyGzG 좌표계는 몸통의 무게 중심인 G에 고정한 이동 좌표계, 0i-1'-xi-1'yi-1'zi-1' 좌표계는 다리의 제i 관절에 고정한 이동 좌표계, 06'-x6'y6'z6' 좌표계는 다리의 End-effector에 고정한 이동 좌표계 등이고, i = 1, 2, … , 6이다. 몸통의 자세는 xyz Fixed Angles로 나타낼 수 있는데, θx, θy, θz는 각각 xyz축 중심의 회전각을 의미한다. θz = 0°인 경우에 로봇의 입장에서 오른쪽이 +x축, 앞쪽이 +y축, 위쪽이 +z축이다. 특히 간단한 수식을 위해서 θx = 0°, θy = 0°으로 놓지만,θx ≠ 0°, θy ≠ 0°인 경우도 용이하게 계산할 수 있다. 다리는 2족 12자유도의 구성으로 각 다리에는 6개의 회전 관절이 있고, 관절의 배치는 다른 휴머노이드 로봇[6]과 같이 JRz – JRy – JRx – JRx – JRx – JRy이다. 여기서 JRx, JRy, JRz는 각각 xi-1'축, yi-1'축, zi-1'축 중심의 회전 관절을 의미한다. 좌우 다리에서 관절각은 서로 대칭이 되도록 정했는데, 똑바로 선 자세에서 JRx는 앞으로 드는 것이 양이고, JRy는 바깥으로 드는 것이 양이고, JRz는 바깥으로 돌리는 것이 양이다. 사람의 다리와 비교하면 제1, 2, 3 관절은 고관절에, 제4 관절은 무릎에, 제5, 6관절은 발목에 각각 해당한다. 그리고 제i 관절의 회전각은 θi, 제i 링크의 길이는 li이다. 각 관절의 실질적인 가동 범위는 θ1 = ±90°, θ2 = ±90°, θ3 = ±90°, θ4 = ±150°, θ5 = ±90°, θ6 = ±90°이고, 간단한 표기를 위해서 C ≡ cos, S ≡ sin, T ≡ tan 등이다. 특히 가장 일반적인 경우인 의 범위를 이론적으로 고민하기보다는 ±90°에는 arctan 함수를, ±180°에는 arctan2 함수를 구분해서 사용하기로 하는데, 다리의 가동 범위는 팔보다 좁으므로 큰 무리가 없다고 판단된다. 따라서 Fig. 6과 같이 몸통을 포함한 오른 다리의 동차 변환 행렬은 다음과 같다.
(1a)
A0G=Cθz-Sθz0b0xGSθzCθz0b0yG001b0zG0001
(1b)
AG0'=100bGx0'0-10bGy0'00-1bGz0'0001
(1c)
A0'1'=Cθ1-Sθ100Sθ1Cθ100001l10001
(1d)
A1'2'=Cθ20Sθ2l2Sθ20100-Sθ20Cθ2l2Cθ20001
(1e)
A2'3'=10000Cθ3-Sθ3-l3Sθ30Sθ3Cθ3l3Cθ30001
(1f)
A3'4'=10000Cθ4-Sθ4-l4Sθ40Sθ4Cθ4l4Cθ40001
(1g)
A4'5'=10000Cθ5-Sθ5-l5Sθ50Sθ5Cθ5l5Cθ50001
(1h)
A5'6'=Cθ60Sθ6l6Sθ60100-Sθ60Cθ6l6Cθ60001
여기서 , b0G=b0xG,b0yG,b0zGT,bG0'=bGx0',bGy0',bGz0'T은 좌표계 원점 사이의 상대 위치이다. 그리고 기준 및 고정 좌표계에 의한 End-effector의 위치와 자세는 다음과 같은 동차 변환 행렬로 사전에 주어진다.
(2)
T=T06'=i06'j06'k06'b06'0001=R11R12R13b0x6'R21R22R23b0y6'R31R32R33b0z6'0001
여기서 b06'=b0x6',b0y6',b0z6'은 좌표계 원점 사이의 상대 위치이고, i06'=R11,R21,R31T,j06'=R12,R22,R32T, k06'=R13,R23,R33T은 End-effector의 자세를 나타낸다. 특히 End-effector의 자세는 Table 1Ψ1로 주어지는데, 오른 발바닥과 오른 스케이트 날에서 X1"Y1"Z1"축 방향의 단위 벡터를 각각 uX1'',uY1'',uZ1''이라고 하면, Fig. 6에서 i06'=+uX1'',j06'=-uY1'',k06'=-uZ1''인 것에 유의하자. 따라서 ΨijΨ1의 (i, j) 성분이라고 하면, TΨ1의 자세 행렬은 다음과 같게 된다.
(3)
R11R12R13R21R22R23R31R32R33=Ψ11-Ψ12-Ψ13Ψ21-Ψ22-Ψ23Ψ31-Ψ32-Ψ33
식(1), 식(2)에서 몸통을 포함한 오른 다리의 동차 변환 행렬과 End-effector의 동차 변환 행렬은 다음과 같이 동일한 것이다.
(4)
A06'=A0GAG0'A0'1'A1'2'A2'3'A3'4'A4'5'A5'6'=T
이 문제는 주어진 T = Ψ1에서 미지의 θ1, θ2, θ3, θ4, θ5, θ6을 구하는 것이 되고, 미지수는 6개이다. 먼저 θ1, θ2, θ6을 구하기 위해서 식(4)에서 다음을 계산한다.
(5)
A0GAG0'A0'1'A1'2'-1T=A2'3'A3'4'A4'5'A5'6'
θ1, θ2를 구하기 위해서, 식(5)의 (1, 2) 성분을 정리하면 다음과 같다.
(6)
P1Cθ1+P2Sθ1Cθ2+P3Sθ2=0
여기서 P1=R12Cθz+R22Sθz,P2=-R22Cθz+R12Sθz,P3=R32이다. θ1, θ2를 구하기 위해서, 식(5)의 (1, 3) 성분을 (1, 4)성분에 대입해서 정리하면 다음과 같다.
(7)
P4Cθ1+P5Sθ1Cθ2+P6Sθ2=0
여기서 P4=b0x6'-b0xG-l6R13Cθz+b0y6'-b0yG-l6R23Sθz-bGx0',P5=-b0y6'-b0yG-l6R23Cθz+b0x6'-b0xG-l6R13Sθz+bGy0',P6=b0z6'-b0zG-l6R33-bGz0'+l1이다. 식(6), 식(7)에서 각각 Tθ2를 구한 다음에 Tθ2 = Tθ2를 정리하면 다음과 같다.
(8)
P1P6-P3P4Cθ1+P2P6-P3P5Sθ1=0
가동 범위가 θ1 = ±90°이므로, 식(8)에서 θ1은 다음과 같이 구할 수 있다.
(9)
θ1=arctanTθ1=-arctanP1P6-P3P4P2P6-P3P5
여기서 분자인 P1P6P3P4와 분모인 P2P6P3P500이 아니어야 한다. 가동 범위가 θ2이므로, 식(7)에서 θ2는 다음과 같이 구할 수 있다.
(10)
θ2=arctanTθ2=-arctanP4Cθ1+P5Sθ1P6
여기서 분자인 P4Cθ1 + P5Sθ1와 분모인 P600이 아니어야 한다. 특히 2.3.2항에서 언급하는 것과 같이 End-effector의 위치 정보를 포함한 P4, P5, P6을 반드시 사용해야 한다. 그리고 θ6을 구하기 위해서, 식(5)의 (1, 1) 성분과 (1, 3) 성분을 정리하면 다음과 같다.
(11a)
P7Cθ1+P8Sθ1Cθ2+P9Sθ2=Cθ6
(11b)
P10Cθ1+P11Sθ1Cθ2+P12Sθ2=Sθ6
여기서 P7=R11Cθz+R21Sθz,P8=-R21Cθz+R11Sθz,P9=R31,P10=R13Cθz+R23Sθz,P11=-R23Cθz+R13Sθz,P12=R33이다. 식(11)에서 θ6은 다음과 같이 구할 수 있다.
(12)
θ6=arctan2Sθ6,Cθ6
그러므로 식(9), 식(10), 식(12)에서 θ1, θ2, θ6은 1쌍의 해가 존재한다. 다음으로 θ3, θ4, θ5를 구하기 위해서 식(4)에서 다음을 계산한다.
(13)
A0GAG0'A0'1'A1'2'-1TA5'6'-1=A2'3'A3'4'A4'5'
θ3, θ4, θ5를 구하기 위해서, 식(13)의 (2, 2) 성분과 (3, 2) 성분을 정리하면 다음과 같다.
(14a)
P2Cθ1-P1Sθ1=Cθ3+θ4+θ5
(14b)
-P3Cθ2+P1Cθ1+P2Sθ1Sθ2=Sθ3+θ4+θ5
식(14)에서 θ3, θ4, θ5는 다음과 같이 구할 수 있다.
(15)
θ3+θ4+θ5=arctan2Sθ3+θ4+θ5,Cθ3+θ4+θ5
θ4를 구하기 위해서, 식(13)의 (2, 4) 성분과 (3, 4) 성분을 제곱해서 Cθ4로 정리하면 다음과 같다.
(16)
Cθ4=Q32+Q62-l32-l422l3l4
여기서 Q3=-P6Cθ2+P4Cθ1+P5Sθ2Sθ2-l2-l5Cθ3+θ4+θ5,Q6=-P5Cθ1+P4Sθ1-l5Sθ3+θ4+θ5이고, 분모인 2l3l4가 영이 아니어야 하고, –1 ≤ Cθ4 ≤ 1이어야 한다. 삼각함수의 관계에서 Sθ4=±1-Cθ42이므로, θ4는 다음과 같이 구할 수 있다.
(17)
θ4=arctan2Sθ4,Cθ4=arctan2±1-Cθ42,Cθ4
θ3을 구하기 위해서, 식(13)의 (2, 4) 성분과 (3, 4) 성분을 Cθ3, Sθ3에 대한 연립 방정식으로 정리하면 다음과 같다.
(18a)
Q1Cθ3+Q2Sθ3=Q3
(18b)
Q4Cθ3+Q5Sθ3=Q6
여기서 Q1=l3+l4Cθ4,Q2=-l4Sθ4,Q4=-Q2,Q5=Q1이다. 식(18)에서 θ3은 다음과 같이 구할 수 있다.
(19)
Cθ3=Q1Q3-Q2Q6Q12+Q22Sθ3=Q1Q6+Q2Q3Q12+Q22θ3=arctan2Sθ3,Cθ3
여기서 분모인 Q12+Q22가 영이 아니어야 하고, –1 ≤ Cθ3 ≤ 1, –1 ≤ Sθ3 ≤ 1이어야 한다. θ5는 다음과 같이 구할 수 있다.
(20)
θ5=θ3+θ4+θ5-θ3-θ4
그러므로 식(9), 식(10), 식(12), 식(17), 식(19), 식(20)에서 θ1, θ2, θ6, θ4, θ3, θ5는 전체적으로 2쌍의 해가 존재하므로 적절하게 선택해야 한다. 특히 사람과 같이 θ4 ≤ 0°이라고 하면, Table 2와 같이 전체적으로 1쌍의 해가 해석적으로 존재하게 된다. 그리고 가장 일반적인 경우인 ±180°의 범위에서 계산하면 식(8)에서 2쌍, 식(7)에서 2쌍, 식(17)에서 2쌍으로 전체적으로 8쌍의 해가 존재하는데, 구체적인 해석 과정은 생략하기로 한다. 아울러 왼 다리의 경우도 용이하게 해석할 수 있다.
Table 2

Solution of inverse kinematics for common walking and skating with known location of end-effector

Table 2
Case θ1 , θ2 , θ3 , θ4 , θ5 , θ6
(a) 1 pair of solution
2.3 기지 말단 위치, 미지 말단 자세의 주행에 대한 역기구학의 해석
이 문제는 주어진 스케이트의 위치에서 주어진 θ6을 만족하기 위한 스케이트의 자세인 βY와 미지의 θ1, θ2, θ3, θ4, θ5를 구하는 것이 되고, 미지수는 6개이다. 특히 2.2 절과 같이 오른 스케이트의 자세는 Table 11, Ψ1로 나타내는데, 미지수인 βY를 구하기 위해서 따로 분리해야 한다. 따라서 ij1의 (i, j) 성분이라고 하면, 식(3)과 같이 TΨ1의 자세 행렬은 다음과 같게 된다.
(21)
R11R12R13R21R22R23R31R32R33=Ψ11-Ψ12-Ψ13Ψ21-Ψ22-Ψ23Ψ31-Ψ32-Ψ33=Δ11CβY+Δ13SβY-Δ12-Δ13CβY+Δ11SβYΔ21CβY+Δ23SβY-Δ22-Δ23CβY+Δ21SβYΔ31CβY+Δ33SβY-Δ32-Δ33CβY+Δ31SβY=R111CβY+R112SβYR12R131CβY+R132SβYR211CβY+R212SβYR22R231CβY+R232SβYR311CβY+R312SβYR32R331CβY+R332SβY
이 문제는 Table 3와 같이 크게 3경우로 나눌 수 있는데, 각각의 경우에 대해서 역기구학을 해석하기로 한다.
Table 3

Solutions of inverse kinematics for comfortable skating with known position and unknown orientation of end-effector

Table 3
Case Conditions θ1 , θ2 , θ3 , θ4 , θ5 , βY
(a) θ6 = 0 1 pair of solution
(b) θ6 ≠ 0, P3 =0 2 pairs of solution
(c) θ6 ≠ 0, P3 ≠ 0 Maximum 4 pairs of solution

2.3.1 기지 말단 위치, 미지 말단 자세의 주행에서 θ6 = 0인 경우

θ6 = 0°인 경우에, 먼저 θ1, θ2, βY를 구하기 위해서 식(5)를 계산한다. θ1, θ2를 구하기 위해서, 식(5)에서 βY를 포함하지 않는 (1, 2) 성분과 (1, 4) 성분을 정리하면 각각 식(6)식(22)와 같다.
(22)
P4Cθ1+P5Sθ1Cθ2+P6Sθ2=P7 
여기서, P4=b0x6'-b0xGCθz+b0y6'-b0yGSθz-bGx0',P5=-b0y6'-b0yGCθz+b0x6'-b0xGxSθz+bGy0',P6=b0z6'-b0zG-bGz0'+l1,P7=l6Sθ6=0이다. 식(6), 식(22)에서 각각 Tθ2를 구한 다음에 Tθ2 = Tθ2를 정리하면 다음과 같다.
(23)
P1P6-P3P4Cθ1+P2P6-P3P5Sθ1=0
가동 범위가 θ1 = ±90°이므로, 식(23)에서 θ1은 다음과 같이 구할 수 있다.
(24)
θ1=arctanTθ1=-arctanP1P6-P3P4P2P6-P3P5
여기서 분자인 P1P6P3P4와 분모인 P2P6P3P500이 아니어야 한다. 가동 범위가 θ2 = ±90°이므로, 식(22)에서 θ2는 다음과 같이 구할 수 있다.
(25)
θ2=arctanTθ2=-arctanP4Cθ1+P5Sθ1P6
여기서 분자인 P4Cθ1 + P5Sθ1와 분모인 P600이 아니어야 한다. 특히 2.3.2항에 언급하는 것과 같이 말단의 위치 정보를 포함한 P4, P5, P6을 반드시 사용해야 한다. 그리고 βY를 구하기 위해서 식(5)의 (1, 1) 성분과 (1, 3) 성분을 CβY, SβY에 대한 연립 방정식으로 정리하면 다음과 같다.
(26a)
V1CβY+V2SβY=P14
(26b)
V3CβY+V4SβY=P21V1=P8Cθ1+P9Sθ1Cθ2+P10Sθ2V2=P11Cθ1+P12Sθ1Cθ2+P13Sθ2V3=P15Cθ1+P16Sθ1Cθ2+P17Sθ2V4=P18Cθ1+P19Sθ1Cθ2+P20Sθ2
여기서 P8=R111Cθz+R211Sθz,P9=-R211Cθz+R111Sθz,P10=R311,P11=R112Cθz+R212Sθz,P12=-R212Cθz+R112Sθz,P13=R312,P14=Cθ6=1,P15=R131Cθz+R231Sθz,P16=-R231Cθz+R131Sθz,P17=R331,P18=R132Cθz+R232Sθz,P19=-R232Cθz+R132Sθz,P20=R332,P21=Sθ6=0이다. 식(26)에서 βY는 다음과 같이 구할 수 있다.
(27a)
CβY=-P21V2-P14V4V1V4-V2V3SβY=P21V1-P14V3V1V4-V2V3
(27b)
βY=arctan2SβY,CβY
여기서 분모인 V1V4V2V3가 영이 아니어야 한다. 그러므로 θ6 = 0°인 경우에 식(24), 식(25), 식(27)에서 θ1, θ2, βY는 1쌍의 해가 존재한다.
다음으로 θ3, θ4, θ5를 구해야 하는데, 나머지 과정은 2.2절의 내용과 기본적으로 동일하므로 2.2절을 참고하길 바란다. 특히 식(16)에서 Q3=-P24Cθ2+P22Cθ1+P23Sθ1Sθ2-l2-l5Cθ3+θ4+θ5,Q6=-P23Cθ1+P22Sθ1-l5Sθ3+θ4+θ5,P22=P4-l6P15CβY+P18SβY,P23=P5-l6P16CβY+P19SβY,P24=P6-l6P17CβY+P20SβY
등인 것에 유의하자. 그러므로 사람과 같이 θ4 ≤ 0°이라고 하면, Table 3과 같이 θ6 = 0°인 경우에 θ1, θ2, βY, θ4, θ3, θ5는 전체적으로 1쌍의 해가 해석적으로 존재하게 된다. 그리고 가장 일반적인 경우인 ±180°의 범위에서 계산하면 식(23)에서 2쌍, 식(22)에서 2쌍, 식(17)에서 2쌍으로 전체적으로 8쌍의 해가 존재하는데, 구체적인 해석 과정은 생략하기로 한다. 아울러 왼 다리의 경우도 용이하게 해석할 수 있다.

2.3.2 기지 말단 위치, 미지 말단 자세의 주행에서 θ6 ≠ 0, P3 = 0인 경우

θ6 ≠ 0인 경우에, θ1, θ2, βY를 구하기 위해서 식(5)를 계산한다. θ1, θ2를 구하기 위해서, 식(5)에서 βY를 포함하지 않는 (1, 2) 성분과 (1, 4) 성분을 정리하면 각각 식(6)식(28)과 같다.
(28)
P4Cθ1+P5Sθ1Cθ2+P6Sθ2=P7
여기서 P4 ~ P6식(22)와 서로 같고, P7 = l6Sθ6 ≠ 0이다. 수평 지면에서 θx = θy = θz = 0°인 몸통으로 똑바로 서면 식(2)에서 R11 = 1, R22 = R33 = -1, R12 = R13 = R21 = R23 = R31 = R32 = 0이므로 식(6), 식(28)에서 P1 = P3 = P4 = P5 = 0, P2 ≠ 0, P6 ≠ 0등이 되는데, 이것은 지극히 평범한 상황이므로 역기구학의 해석이 반드시 가능해야 한다. 하지만 P3 = P4 = P5 = 0이면 식(6), 식(28)이 (P1Cθ1 + P2Sθ1)Cθ2 = 0, P6Cθ2 = P7이 되어서 Cθ2, Sθ2 에 대한 연립 방정식의 일반적인 해법으로 θ2 = arc tan2(Sθ2, Cθ2)를 구할 수 없다. 따라서 운동 상황을 고려한 해석 방법을 고민하게 되었는데, 수많은 시행착오로부터 Table 3과 같이 θ6 ≠ 0°인 경우를 크게 θ6 ≠ 0°, P3 = 0인 경우와 θ6 ≠ 0°, P3 ≠ 0인 경우로 구분하는 것이 타당하다고 판단했다. 간단히 설명하면 P3 = 0인 경우에 식(6), 식(28)을 연립해서 θ1을 구할 수 없지만, P3 ≠ 0인 경우에 θ1을 구할 수 있다.
θ6 ≠ 0°, P3 = 0인 경우에, 먼저 θ1, θ2를 구하기 위해서 식(5)를 계산한다. 식(5)의 (1, 2) 성분인 식(6)이 성립하기 위해서 Cθ2 ≠ 0, P1Cθ1 + P2Sθ1 = 0을 만족해야 하므로, 가동 범위가 ±90°인 θ1은 다음과 같이 구할 수 있다.
(29)
θ1=arctanTθ1=-arctanP1P2
여기서 분자인 P1와 분모인 P200이 아니어야 한다. θ2를 구하기 위해서, 식(5)의 (1, 4) 성분을 정리하면 다음과 같다.
(30)
U1Cθ2+U2Sθ2=U3
여기서 U1 = P4Cθ1 + P5Sθ1, U2 = P6, U3 = P7이고, P4 ~ P7식(28)과 서로 같다. 식(30)에서 θ2는 다음과 같이 구할 수 있다.
(31)
Cθ2=U1U3±U22U12+U22-U32U12+U22Sθ2=U22U3U1U22U12+U22-U32U2U12+U22θ2=arctan2Sθ2,Cθ2
여기서 U20,U12+U22-U320이어야 한다. 그러므로 θ6 = 0°, P3 = 0인 경우에 식(29), 식(31)에서 θ1, θ2는 2쌍의 해가 존재한다.
다음으로 βY, θ3, θ4, θ5를 구해야 하는데, 나머지 과정은 2.3.1항의 내용과 기본적으로 동일하므로 2.3.1항을 참고하길 바란다. 그러므로 사람과 같이 θ4 ≤ 0° 이라고 하면, Table 3과 같이θ6 ≠ 0°, P3 = 0인 경우에 θ1, θ2, βY, θ4, θ3, θ5는 전체적으로 2쌍의 해가 해석적으로 존재하게 된다. 그리고 가장 일반적인 경우인 ±180°의 범위에서 계산하면 식(29)P1Cθ1 + P2Cθ1 = 0에서 2쌍, 식(31)에서 2쌍, 식(17)에서 2쌍으로 전체적으로 8쌍의 해가 존재하는데, 구체적인 해석 과정은 생략하기로 한다. 아울러 왼 다리의 경우도 용이하게 해석할 수 있다.

2.3.3 기지 말단 위치, 미지 말단 자세의 주행에서 θ6 ≠ 0, P3 ≠ 0인 경우

θ6 ≠ 0°, P3 ≠ 0인 경우에, 먼저 θ1, θ2를 구하기 위해서 식(5)를 계산한다. 식(5)의 (1, 2) 성분과 (1, 4) 성분을 연립해서 Cθ1, Sθ1을 구하면 다음과 같다.
(32a)
Cθ1=P2P6-P3P5Sθ2-P2P7P1P5-P2P4Cθ2
(32b)
Sθ1=-P1P6-P3P4Sθ2-P1P7P1P5-P2P4Cθ2
여기서 P1 ~ P7식(6), 식(28)과 서로 같고, 분모인 (P1P5P2P4)Cθ2가 영이 아니어야 하고, –1 ≤ Cθ1 ≤ 1, –1 ≤ Sθ1 ≤ 1이어야 한다. θ2를 구하기 위해서, 식(32)Cθ1, Sθ1Cθ12+Sθ12=1에 대입해서 새롭게 Sθ2에 대해서 정리하면 다음과 같이 Sθ2에 관한 2차 방정식이 된다.
(33)
U5Sθ22+U6Sθ2+U7=0
여기서
U1=P1P5-P2P42,U2=-P32P42+P52-P6P1P1P6-2P3P4+P2P2P6-2P3P5,U3=2P7P1P1P6-P3P4+P2P2P6-P3P5,U4=-P72P12+P22,U5=U1-U2,U6=-U3,U7=-U1-U4이다. 가동 범위가 θ2 = ±90°이므로, 식(33)에서 θ2는 다음과 같이 구할 수 있다.
(34)
θ2=arcsinSθ2
여기서 –1 ≤ Sθ2 ≤ 1이어야 한다. 2.3.2항에 언급한 것과 같이 P4 = P5 = 0이 자주 발생하므로, θ1을 구하기 위해서 식(5)의 (1, 2) 성분을 정리하면 다음과 같다.
(35)
U8Cθ1+U9Sθ1=U10 
여기서 U8=P1Cθ2,U9=P2Cθ2,U10=-P3Sθ2이다. 식(35)에서 θ1은 기본적으로 식(30), 식(31)과 같은 형태로 구할 수 있는데, 여기서 U90,U82+U92-U1020이어야 한다. 특히 P4 = P5 = 0이면, 식(32)에서 분모가 영이 되어서 θ1을 구할 수 없으므로 θ1은 반드시 식(35)에서 구해야 하고, 게다가 2.3.2항에 언급한 것과 같이 식(6), 식(28)의 연립 방정식으로 θ2를 제대로 구하지 못하게 된다. 그러므로 θ6 ≠ 0°, P3 ≠ 0인 경우에 식(34), 식(35)에서 θ2, θ1은 최대 4쌍의 해가 존재한다.
다음으로 βY, θ3, θ4, θ5를 구해야 하는데, 나머지 과정은 2.3.1항의 내용과 기본적으로 동일하므로 2.3.1항을 참고하길 바란다. 그러므로 사람과 같이 θ4 ≤ 0°이라고 하면, Table 3과 같이 θ6 ≠ 0°, P3 ≠ 0인 경우에 θ2, θ1, βY, θ4, θ3, θ5는 전체적으로 최대 4쌍의 해가 해석적으로 존재하게 된다. 그리고 가장 일반적인 경우인 ±180°의 범위에서 계산하면 식(34)에서 최대 4쌍, 식(35)에서 2쌍, 식(17)에서 2쌍으로 전체적으로 최대 16쌍의 해가 존재하는데, 구체적인 해석 과정은 생략하기로 한다. 아울러 왼 다리의 경우도 용이하게 해석할 수 있다. 2.3절에 대한 시행착오를 언급하자면, 식(7)을 포함해서 연립 방정식을 해석적으로 풀고자 했지만 수많은 조합으로도 해를 구할 수 없었고, 3개의 미지수인 θ1, θ2, βY를 한꺼번에 수치해석적인 방법으로 풀고자 했지만 해를 구할 수 없었다.
2.4 미지 말단 위치, 미지 말단 자세의 주행에 대한 역기구학의 해석
Fig. 2와 같이 기지의 βY = βYa에서 꺾인 발목을 얼마나 돌려야 미지의 βYa = βYb와 기지의 θ6에서 안락하게 뻗은 발목이 되는가를 해석하는 것인데, 이 문제는 주어진 θ6을 만족하기 위한 스케이트의 위치, 스케이트의 자세인 βYb, 미지의 P1, P2, P3, P4, P5를 구하는 것이 되고, 미지수는 6개이다. 특히 오른 스케이트의 위치는 Table 11, Ψ1로 나타내는데, 미지수인 βYb를 구하기 위해서 따로 분리해야 한다. Table 11에서 X1'Y1'Z1'축 방향의 단위 벡터를 각각 uX1',uY1',uZ1'이라고 하면, Fig. 5와 같이 βY = 0°인 기지의 C0 = E0과 Pure Rolling을 기준으로 βY, C, E가 기지의 βY, Ca, Ea에서 미지의βYb, Cb, Eb로 바뀌게 되는데, Ca, Cb, Ea, Eb는 다음과 같다.
(36a)
Ca=C0-rwβYauX1'
(36b)
Cb=C0-rwβYbuX1'
(36c)
Ea=E0-rwβYa-SβYauX1'-1-CβYauZ1'
(36d)
Eb=E0-rwβYb-SβYbuX1'-1-CβYbuZ1'
(36e)
δC=-rwβYb-βYauX1'
(36f)
δE=-rwβYb-SβYbuX1'+CβYbuZ1'-βYa-SβYauX1'-CβYauZ1'
여기서 rwFig. 5와 같이 스케이트 휠의 반지름이고, δC = CbCa, δE = EbEaC, E의 증분이다. 특히 스케이트의 위치는 기지의 Ea에서 미지의 Eb = Ea + δE로 바뀌는데, δE = (δxE, δyE, δzE)T를 미지수인 βYb로 나타내면 다음과 같다.
(37a)
δxE=E11βYb-SβYb+E12CβYb+E13
(37b)
δyE=E21βYb-SβYb+E22CβYb+E23
(37c)
δzE=E31βYb-SβYb+E32CβYb+E33 
여기서 E11=-rwΔ11,E12=-rwΔ13,E13=rwβYa-SβYaΔ11+CβYΔ13,E21=-rwΔ21,E22=-rwΔ23,E23=rwβYa-SβYaΔ21+CβYΔ23,E31=-rwΔ31,E32=-rwΔ33,E33=rwβYa-SβYaΔ31+CβYaΔ33이다. 그리고 2.3 절과 같이 오른 스케이트의 자세는 Table 11, Ψ1로 나타내는데, 미지수인 βYb를 구하기 위해서 따로 분리해야 한다. 따라서 자세 행렬은 식(21)에서 회전각인 βYβYb로 바꾼 것과 서로 같다. 이 문제는 Table 4와 같이 크게 2경우로 나눌 수 있는데, 각각의 경우에 대해서 역기구학을 해석하기로 한다.
Table 4

Solutions of inverse kinematics for comfortable skating with unknown location of end-effector

Table 4
Case Conditions θ1 , θ2 , θ3 , θ4 , θ5 , βYb
(a) P3 =0 1 pair of solution
(b) P3 ≠ 0 1 pair of solution

2.4.1 미지 말단 위치, 미지 말단 자세의 주행에서 P3 = 0인 경우

θ1, θ2, βYb를구하기 위해서 식(5)를 계산한다. 식(5)에서 βYb를 포함하지 않는 (1, 2) 성분을 정리하면 식(6)과 같다. 2.3.2항과 2.3.3항에서 설명한 것과 같이 식(6)에 대한 해석 방법은 크게 P3 = 0인 경우와 P3 ≠ 0인 경우로 구분하는 것이 타당하다고 판단했다.
P3 = 0인 경우에, 먼저 θ1, θ2, βYb를 구하기 위해서 식(5)를 계산한다. 식(5)의 (1, 2) 성분인 식(6)이 성립하기 위해서 Cθ2 ≠ 0, P1Cθ1 + P2Sθ1 = 0을 만족해야 하므로, θ1식(29)와 같이 구할 수 있다. βYb를 구하기 위해서 식(5)의 (1, 1) 성분과 (1, 3)성분을 CβYb, SβYb에 대한 연립 방정식으로 정리하면 다음과 같다.
(38a)
V1CβYb+V2SβYb=P14
(38b)
V3CβYb+V4SβYb=P21
여기서 V1 ~ V4, P8 ~ P21식(26)과 서로 같다. 식(38)에서 식(27)과 같은 형태로 CβYb, SβYb을 구하면 다음과 같다.
(39)
CβYb=-P21V2-P14V4V1V4-V2V3SβYb=P21V1-P14V3V1V4-V2V3
여기서 분모인 V1V4V2V3가 영이 아니어야 한다. 따라서 βYbβYb = f(θ2)와 같이 θ2의 함수이다. θ2를 구하기 위해서, 식(5)에서 βYb를 포함하는 (1, 4) 성분을 βYb, CβYb, SβYb에 대해서 정리하면 다음과 같다.
(40)
V5βYb+V6CβYb+V7SβYb+V8=P34V5=P22Cθ1+P23Sθ1Cθ2+P24Sθ2V6=P25Cθ1+P26Sθ1Cθ2+P27Sθ2V7=P28Cθ1+P29Sθ1Cθ2+P30Sθ2V8=P31Cθ1+P32Sθ1Cθ2+P33Sθ2
여기서
P22=E11CθZ+E21SθZ,P23=-E21CθZ+E11SθZ,P24=E31,P25=E12CθZ+E22SθZ,P26=-E22CθZ+E12SθZ,P27=E32,P28=-E11CθZ-E21SθZ,P29=E21CθZ-E11SθZ,P30=-E31,P31=xEa+E13-b0xGCθZ+yEa+E23-b0yGSθZ-bGx0',P32=-yEa+E23-b0yGCθZ+xEa+E13-b0xGSθZ+bGy0',P33=zEa+E33-b0ZG-bGZ0'+l1,P34=l6Sθ6
이다. 식(40)식(39)를 대입하면 최종적으로 θ2의 함수가 되므로, 식(40)에서 θ2는 수치해석적으로 구할 수 있다. 회전 범위가 βYb = ±90°이므로, 식(39)에서 βYb는 다음과 같이 구할 수 있다.
(41)
βYb=arctanTβYb=-arctanP21V1-P14V3P21V2-P14V4
여기서 분자인 P21V1P14V3와 분모인 P21V2P14V400이 아니어야 한다. 그러므로 P3 = 0인 경우에 식(29), 식(40), 식(41)에서 θ1, θ1, βYb는 1쌍의 해가 존재한다.
다음으로 θ3, θ4, θ5를 구해야 하는데, 나머지 과정은 2.2절의 내용과 기본적으로 동일하므로 2.2절을 참고하길 바란다. 특히 식(16)에서
Q3=-P37Cθ2+P35Cθ1+P36Sθ1Sθ2-l2-l5Cθ3+θ4+θ5Q6=-P36Cθ1+P35Sθ1-l5Sθ3+θ4+θ5,P35=P22βYb+P25CβYb+P28SβYb+P31-l6P15CβYb+P18SβYb,P36=P23βYb+P26CβYb+P29SβYb+P32-l6P16CβYb+P19SβYb,P37=P24βYb+P27CβYb+P30SβYb+P33-l6P17CβYb+P20SβYb
등이고, 식(37)에서 b0x6'=xEb=xEa+δxE,b0y6=yEb=yEa+δyE,b0z6'=zEb=zEa+δzE
인 것에 유의하자. 그러므로 사람과 같이 θ4 ≤ 0°이라고 하면, Table 4와 같이 P3 = 0인 경우에 θ1, θ2, βYb, θ4, θ3, θ5는 전체적으로 1쌍의 해가 수치해석적으로 존재하게 된다. 그리고 가장 일반적인 경우인 ±180°의 범위에서 계산하면 식(29)에서 2쌍, 식(17)에서 2쌍으로 전체적으로 4쌍의 해가 존재하는데, 구체적인 해석 과정은 생략하기로 한다. 아울러 왼 다리의 경우도 용이하게 해석할 수 있다.

2.4.2 미지 말단 위치, 미지 말단 자세의 주행에서 P3 ≠ 0인 경우

P3 ≠ 0인 경우에, 먼저 θ1, θ2, βYb를 구하기 위해서 식(5)를 계산한다. θ2를 구하기 위해서, 식(5)에서 βYb를 포함하는 (1, 2) 성분을 정리해서 Tθ2를 구하면 다음과 같다.
(42)
Tθ2=-P1Cθ1+P2Sθ1P3
따라서 θ2θ2 = f(θ1)과 같이 θ1의 함수이다. βYb를 구하기 위해서 식(5)의 (1, 1) 성분과 (1, 3) 성분을 CβYb, SβYb에 대한 연립 방정식으로 정리하면 식(38)과 같다. 식(38)에서 CβYb, SβYb를 구하면 식(39)와 같다. 따라서 βYbβYb = f(θ1)과 같이 θ1의 함수이다. θ1을 구하기 위해서, 식(5)에서 βYb를 포함하는 (1, 4) 성분을 βYb, CβYb, SβYb에 대해서 정리하면 식(40)과 같다. 식(40)식(39)를 대입하면 최종적으로 θ1의 함수가 되므로, 식(40)에서 θ1은 수치해석적으로 구할 수 있다. 가동 범위가 θ2 = ±90°, 이므로, 식(42)에서 θ2는 다음과 같이 구할 수 있다.
(43)
θ2=arctanTθ2=-arctanP1Cθ1+P2Sθ1P3
여기서 분모인 P3가 영이 아니어야 한다. 회전 범위가 βYb = ±90°이므로, βYb식(41)과 같이 구할 수 있다. 그러므로 P3 ≠ 0인 경우에 식(40), 식(43), 식(41)에서 θ1, θ2, βYb는 1쌍의 해가 존재한다.
다음으로 θ3, θ4, θ5를 구해야 하는데, 나머지 과정은 2.4.1항의 내용과 기본적으로 동일하므로 2.4.1항을 참고하길 바란다. 그러므로 사람과 같이 θ4 ≤ 0°이라고 하면, Table 4와 같이 P3 ≠ 0인 경우에 θ1, θ2, βYb, θ4, θ3, θ5는 전체적으로 1쌍의 해가 수치해석적으로 존재하게 된다. 그리고 가장 일반적인 경우인 ±180°의 범위에서 계산하면 식(43)인 (P1Cθ1 + P2Sθ1)Cθ2 + P3Sθ2에서 2쌍, 식(17)에서 2쌍으로 전체적으로 4쌍의 해가 존재하는데, 구체적인 해석 과정은 생략하기로 한다. 아울러 왼 다리의 경우도 용이하게 해석할 수 있다. 2.4절에 대한 시행착오를 언급하자면, 식(7)을 포함해서 연립 방정식을 해석적으로 풀고자 했지만 수많은 조합으로도 해를 구할 수 없었고, 3개의 미지수인 θ1, θ2, βYb를 한꺼번에 수치해석적인 방법으로 풀고자 했지만 해를 구할 수 없었다.
이 논문에서는 역기구학 문제만을 다루기 때문에 Fig. 3의 로봇을 Fig. 7과 같이 간략하게 표현했다. 여기서 다리 사이의 간격이 220[mm], 링크의 길이가 l1[mm], l2[mm], l3[mm], l4[mm], l5[mm], l6[mm] 등이다. 그리고 Table 5와 같이 예제의 경사 지면은 0iXiYiZi좌표계의 위치와 자세로 나타내었는데, Fig. 8과 같이 로봇의 입장에서 Table 5(a)는 우저좌고(右低左高)의 지면이고, Table 5(b)는 우저좌고(右低左高)와 전고후저(前高後低)의 지면인데, Fig. 7Fig. 8은 동일한 시점에서 본 것이다.
Fig. 7

Examples of inverse kinematics problems

KSPE_2023_v40n11_855_f007.jpg
Fig. 8

Partial details of end-effectors and inclined planes

KSPE_2023_v40n11_855_f008.jpg
Table 5

Location of inclined planes for inverse kinematics examples

Table 5
Case Matrix Position Euler angles for orientation
(a) Λ1 (0,0,0)T λX = 0o , λY = 15o , γX = 0o
(b) Λ2 λX = 15o , λY = 15o , γX = 0o
Fig. 7은 역기구학을 해석한 예제인데, Fig. 8과 같이 Endeffector와 경사면에 주목하길 바란다. Fig. 7(a)Table 5(a)의 경사면에서 Table 2(a)βX = 0°인 보행을 계산한 예제이고, Fig. 7(b)Table 5(a)의 경사면에서 Table 2(a)βY = 0°인 주행을 계산한 예제이다. Fig. 7(c)Table 5(a)의 경사면에서 Table 3(b)의 계산 예제이고, Fig. 7(d)Table 5(b)의 경사면에서 T able 3 (c )의 계산 예제인데, θ6 = 20°이다. 그리고 Fig. 7(e)(f)Table 5(a)의 경사면에서 Table 4(a)의 계산 예제이고, Fig. 7(g)(h)Table 5(b)의 경사면에서 Table 4(b)의 계산 예제인데, 꺾인 발목을 곧게 뻗게 되는 과정에서 전후(前後)의 상황이고, θ6 = 0°이다. 아울러 모든 예제는 역기구학과 정기구학의 계산 결과를 서로 비교해서 검산했다. Table 6Fig. 7의 결과를 단위가 도(度)인 수치로 간단히 정리했는데, qi는 제i 다리의 관절각을 의미한다.
Table 6

Results of inverse kinematics examples

Table 6
Fig. 7 Joint angles of q1[o], q2[o]
(a) q1 = (0, 4.34, 5.63 – 11.60, 5.97 – 19.34)
q2 = (0, –4.90, 33.56, –69.45, 35.89, 19.90)
(b), (e) q1 = (0, 4.28, 2.43 – 5.00, 2.57, –19.28)
q2 = (0, –4.84, 33.16, –68.61, 35.45, 19.84)
(c) q1 = (0, –4.43, 6.07, –12.50, 6.43, 20)
q2 = (0, –4.87, 33.12, –68.54, 35.42, 20)
(d) q1 = (–1.21, –4.51, –2.83, –12.53, 30.41, 20)
q2 = (–1.34, –4.98, 22.85, –69.40, 61.61, 20)
(f) q1 = (0, 0.01, 11.58, –23.87, 12.29, 0)
q2 = (0, –0.01, 35.16, –72.81, 37.65, 0)
(g) q1 = (1.19, 4.42, –6.36, –5.00, 26.41, –19.58)
q2 = (–1.35, –5.03, 22.82, –69.32, 61.56, 20.21)
(h) q1 = (0.00, 0.01, 1.80, –22.98, 36.18, 0)
q2 = (–0.00, –0.01, 23.89, –73.13, 64.24, 0)
하이브리드 이동 로봇의 다리 보행과 스케이트 주행을 위한 역기구학 문제를 고찰했다. 역기구학 문제를 경사 지면에서 다리 보행과 스케이트 주행에 의한 일반적인 이동, 발바닥과 스케이트 날의 교체 등을 포함해서 체계적으로 분류했고, 각각의 문제에 대해서 역기구학을 해석했다. 특히 경사면 위에서 발바닥과 스케이트 날의 자유로운 운동을 포괄하기 위해서 경사면을 기준으로 하는 좌표 변환을 적극적으로 사용했고, 해석적인 방법과 수치해석적인 방법을 혼용했다. 그리고 구체적인 상황에 대해서 역기구학 예제를 계산했고, 결과로부터 해석 방법의 유효성을 확인했다.
  • 1.
    Endo, G., Hirose, S., (2012), Study on roller-walker— improvement of locomotive efficiency of quadruped robots by passive wheels, Advanced Robotics, 26(8-9), 969-988.
    10.1163/156855312X633066
  • 2.
  • 3.
    Bjelonic, M., Grandia, R., Harley, O., Galliard, C., Zimmermann, S., Hutter, M., (2021), Whole-body MPC and online gait sequence generation for wheeled-legged robots, Proceedings of the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 8388-8395.
    10.1109/IROS51168.2021.9636371
  • 4.
    The future of robotic mobility. https://www.youtube.com/watch?v=RJyhZUqj3hM
  • 5.
    Nenchev, D. N., Konno, A., Tsujita, T., (2018), Humanoid robots: Modeling and control, Butterworth-Heinemann.
  • 6.
    Goswami, A., Vadakkepat, P., (2019), Humanoid robotics: A reference, Springer.
    10.1007/978-94-007-6046-2
  • 7.
    Kaul, L. S., (2019), Human-inspired balancing and recovery stepping for humanoid robots, KIT Scientific Publishing.
  • 8.
    ASIMO robot demo 2/9: Walking over an uneven surface. https://www.youtube.com/watch?v=nVScax9uviM
  • 9.
  • 10.
    Atlas, The next generation. https://www.youtube.com/watch?v=rVlhMGQgDkY
  • 11.
  • 12.
    ‘Cassie’ sets world record for fastest 100 meters by a bipedal robot. https://www.youtube.com/watch?v=64hKiuJ31a4
  • 13.
    Hwang, C.-S., (2009), Dynamic consideration of athletic constraints on skating motion, Journal of the Korean Society for Precision Engineering, 26(3), 55-67.
  • 14.
    Hwang, C.-S., (2009), Gaits control for skating motion with nonholonomic constraint, Journal of the Korean Society for Precision Engineering, 26(6), 59-67.
  • 15.
  • 16.
    Inoue, K., Shiina, K. I., Takano, M., Sasaki, K., (1996), Study on total computer-aided design system for robot manipulators, Journal of the Robotics Society of Japan, 14(5), 710-719.
    10.7210/jrsj.14.710
  • 17.
  • 18.
    Bledt, G., Powell, M. J., Katz, B., Di Carlo, J., Wensing, P. M., Kim, S., (2018), MIT cheetah 3: Design and control of a robust, dynamic quadruped robot, Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2245-2252.
    10.1109/IROS.2018.8593885
  • 19.
    Craig, J. J., (1989), Introduction to robotics: Mechanics and control 2nd edition, Addison-Wesley.
Chang-Soon Hwang
KSPE_2023_v40n11_855_bf001.jpg
He joined Kyungpook National University in 2005, where he is currently a Professor with the School of Mechanical Engineering. His current research interests include robotic systems for hybrid moving and object manipulating.
Ho Lee
KSPE_2023_v40n11_855_bf002.jpg
He joined Kyungpook National University in 2006, where he is currently a Professor with the School of Convergence. His current research interests include smart manufacturing and measurement, robot gripper.
Bo-Yeong Kang
KSPE_2023_v40n11_855_bf003.jpg
She joined Kyungpook National University in 2009, where she is currently a Professor with the School of Convergence. Her current research interests include artificial intelligence implementation for intelligent devices.

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:

Analysis of Inverse Kinematics for Legged Walking and Skated Driving with Hybrid Mobile Robot
J. Korean Soc. Precis. Eng.. 2023;40(11):855-866.   Published online November 1, 2023
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:
Analysis of Inverse Kinematics for Legged Walking and Skated Driving with Hybrid Mobile Robot
J. Korean Soc. Precis. Eng.. 2023;40(11):855-866.   Published online November 1, 2023
Close

Figure

  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
Analysis of Inverse Kinematics for Legged Walking and Skated Driving with Hybrid Mobile Robot
Image Image Image Image Image Image Image Image
Fig. 1 Inline skating robot (SkaBot)
Fig. 2 Switching end-effectors between foot and blade
Fig. 3 Hybrid mobile robot (HymBot)
Fig. 4 Robot and inclined plane
Fig. 5 Contact of blade and plane
Fig. 6 Coordinate systems of robot
Fig. 7 Examples of inverse kinematics problems
Fig. 8 Partial details of end-effectors and inclined planes
Analysis of Inverse Kinematics for Legged Walking and Skated Driving with Hybrid Mobile Robot
Matrix Euler angles Frame
Right plane Λ1 XYXY (γY = 0o ) 01 - X1 Y1 Z1
Left plane Λ2 XYXY (γY = 180o ) 02 - X2 Y2 Z2
Foot/blade i XYXYZ - 0i'Xi' Yi' Zi'
Right foot Ψ1 XYXYZ - X + 01''X1'' Y1'' Z1''
Left foot Ψ2 XYXYZ - X - 02''X2'' Y2'' Z2''
Right blade Ψ1 XYXYZ - Y - 01''X1'' Y1'' Z1''
Left blade Ψ2 XYXYZ - Y + 02''X2'' Y2'' Z2''
Case θ1 , θ2 , θ3 , θ4 , θ5 , θ6
(a) 1 pair of solution
Case Conditions θ1 , θ2 , θ3 , θ4 , θ5 , βY
(a) θ6 = 0 1 pair of solution
(b) θ6 ≠ 0, P3 =0 2 pairs of solution
(c) θ6 ≠ 0, P3 ≠ 0 Maximum 4 pairs of solution
Case Conditions θ1 , θ2 , θ3 , θ4 , θ5 , βYb
(a) P3 =0 1 pair of solution
(b) P3 ≠ 0 1 pair of solution
Case Matrix Position Euler angles for orientation
(a) Λ1 (0,0,0)T λX = 0o , λY = 15o , γX = 0o
(b) Λ2 λX = 15o , λY = 15o , γX = 0o
Fig. 7 Joint angles of q1[o], q2[o]
(a) q1 = (0, 4.34, 5.63 – 11.60, 5.97 – 19.34)
q2 = (0, –4.90, 33.56, –69.45, 35.89, 19.90)
(b), (e) q1 = (0, 4.28, 2.43 – 5.00, 2.57, –19.28)
q2 = (0, –4.84, 33.16, –68.61, 35.45, 19.84)
(c) q1 = (0, –4.43, 6.07, –12.50, 6.43, 20)
q2 = (0, –4.87, 33.12, –68.54, 35.42, 20)
(d) q1 = (–1.21, –4.51, –2.83, –12.53, 30.41, 20)
q2 = (–1.34, –4.98, 22.85, –69.40, 61.61, 20)
(f) q1 = (0, 0.01, 11.58, –23.87, 12.29, 0)
q2 = (0, –0.01, 35.16, –72.81, 37.65, 0)
(g) q1 = (1.19, 4.42, –6.36, –5.00, 26.41, –19.58)
q2 = (–1.35, –5.03, 22.82, –69.32, 61.56, 20.21)
(h) q1 = (0.00, 0.01, 1.80, –22.98, 36.18, 0)
q2 = (–0.00, –0.01, 23.89, –73.13, 64.24, 0)
Table 1 Homogeneous transformation matrix of inverse kinematics for legged walking and skated driving
Table 2 Solution of inverse kinematics for common walking and skating with known location of end-effector
Table 3 Solutions of inverse kinematics for comfortable skating with known position and unknown orientation of end-effector
Table 4 Solutions of inverse kinematics for comfortable skating with unknown location of end-effector
Table 5 Location of inclined planes for inverse kinematics examples
Table 6 Results of inverse kinematics examples