권오병 *, 김경수 ** The Design and Implementation of Location Information System using Wireless Fidelity in Indoors O-Byung Kwon *, Kyeong-Su Kim ** 요약본논문에서는 GPS(Global Positioning System) 를사용할수있는실외와 GPS(Global Positioning System) 를사용할수없는실내에서 Wi-Fi(Wireless Fidelity) 를이용한안드로이드기반의위치정보시스템을설계및구현하였다. 보행자의위치를실내에서추정하기위해서는, 보행자의위치에상관없이절대위치를구하는것이필요하고, 보행자의움직임에따라서상대위치를연속적으로추정하는것이필요하다. 보행자의초기위치를추정하기위해서 Wi-Fi fingerprinting을사용하였다. 기존의 Wi-Fi fingerprinting에서가장위치오차가작은 WKNN(Weighted K Nearest Neighbor) 알고리즘의단점을보완한 EWKNN(Enhanced Weighted K Nearest Neighbor) 알고리즘을사용해위치의정확도를높였다. 그리고보행자의상대위치를추정하기위해서는, 스마트폰에탑재되어있는 IMU(Inertial Measurement Unit) 를사용하였기때문에추가적인장비가필요하지않았다. 주제어 : 실내, 지피에스, 와이파이, 안드로이드, 상대위치 Abstract In this paper, GPS(Global Positioning System) that can be used outdoors and GPS(Global Positioning System) is not available for indoor Wi-Fi(Wireless Fidelity) using the Android-based location information system has been designed and implemented. Pedestrians in a room in order to estimate the location of the pedestrian's position, regardless of need to obtain the absolute position and relative position, depending on the movement of pedestrians in a row it is necessary to estimate. In order to estimate the initial position of the pedestrian Wi-Fi Fingerprinting was used. Most existing Wi-Fi Fingerprinting position error small WKNN(Weighted K Nearest Neighbor) algorithm shortcoming EWKNN (Enhanced Weighted K Nearest Neighbor) using the algorithm raised the accuracy of the position. And in order to estimate the relative position of the pedestrian, the smart phone is mounted on the IMUInertial Measurement Unit) because the use did not require additional equipment. Key Words : GPS(Global Positioning System), Wi-Fi(Wireless Fidelity), Android, EWKNN (Enhanced Weighted K Nearest Neighbor), IMU(Inertial Measurement Unit) 1. 서론최근무선통신기술과스마트폰의발전으로시간과장소에상관없이원하는정보에아주쉽게접근할수있게되었다. 그리고원하는정보와위치정보가합쳐져서다양한서비스를제공하는위치기반서비스가다양한방 법으로제공되고있다. 특히위치기반서비스는기업들의새로운콘텐츠로각광받고있고, 상용화되어인간의삶에새로운혁신을불러일으키고있다. 위치기반서비스는크게 outdoor와 indoor 로나눌수있는데, 가장대표적인 outdoor에서의위치기반서비스는 GPS(Global Positioning System) 를이용한차량내비게이션이다. * ( 주 ) 아이젠소프트이사 ** 백석문화대학교인터넷정보학부교수 ( 교신저자 ) 논문접수 : 2013 년 3 월 8 일, 1 차수정을거쳐, 심사완료 : 2013 년 3 월 29 일, 확정일 : 2013 년 4 월 20 일 243
디지털정책연구제 11 권제 4 호 (2013.4) outdoor에서는 GPS를통해서만족할만한위치정보를얻을수있는반면, indoor에서는지금까지뚜렷한해법이없는상태이기때문에실내에서정확한위치측위를위한많은연구가현재활발히진행되고있다. 실내에서위치정보를구하는일반적인방법에는 3G 또는 4G 이동통신망, RFID(Radio Frequency Identification), Zigbee, UWB(Ultra Wide-Band), Wi-Fi(Wireless Fidelity) 등이있다. 하지만 3G 또는 4G 이동통신망을이용한위치정보는현재접속하고있는기지국의위치를제공하는센트로이드방법을사용하기때문에오차범위가 100m이상발생하므로실내에서위치를측위하는것은불가능하다. Zigbee, RFID, UWB를이용해서실내위치서비스를제공하기위해서는통신인프라를새로구축해야되기때문에비용과시간이많이든다. 그밖에도 RFID는위치서비스를제공할수있는범위가제한되어있고, Zigbee는다른통신기술과의간섭문제와신호세기자체가약하기때문에위치오차가크다. Wi-Fi 는 IEEE 802.11 표준통신으로서 LAN(Local Area Network) 에서이더넷의단점을보완하기위해서개발된무선통신기술이다. 실내에서높은데이터전송률을지원하기때문에많은곳에서사용되고있으며빠른속도로 Wi-Fi AP(Access Point) 가설치되고있다. Wi-Fi 로알려져있는 Wireless LAN(WLAN) 네트워크를이용한실내측위는이미대다수의건축물에는 Wi-Fi AP가설치되어있어, 통신인프라를추가로설치하지않아도된다는점과 5m이내의위치정확도를줄수있다는장점때문에많은응용기술이사용되고있다. Wi-Fi 를이용한측위방법으로는크게라디오모델설계를이용한삼각측량법 (Triangulation) 과핑거프린팅 (fingerprinting) 방법이있다. 삼각측량법은 AP 위치를알고, 수신된 Wi-Fi 의신호세기를거리로바꿀수있는모델링만되어있다면, fingerprinting 보다는쉽게위치를계산할수있지만위치오차가크다. 또한건축물실내에는 Wi-Fi AP가무작위로설치되어있기때문에 AP의위치를역추적하여측위를하여야하는데, 추적하는과정도 RSS(Received Signal Strength) 를이용하기때문에오차가존재한다. Wi-Fi 를이용한 fingerprinting 방법은삼각측량보다는위치오차가작지만구현하는데어려움이있다. 건물내부의모든지역에서의수신된 AP 신호에대한 Database 를만들어야측위를할수있는데, AP의위치가변경, 삭제그리고새로운 AP가설치되면다시 Database 를만들어 야하는어려움이있다. Radio Map이라고도불리는 Database 를만드는과정은많은노력과시간을필요로하는데, 특히건물내부에 RP(Reference Point) 를정해서 RSS 정보를수집하는과정이가장중요하다고할수있는데, 이것이 fingerprinting의가장큰단점이다. 하지만직접 RP를만드는것이가장정확도가높으며, 주기적으로 Wi-Fi 또는 MM(Map-Matching) 을통해서정확한위치를보정해줘야한다. 이러한장점들을이용해서안드로이드기반의위치정보시스템을설계및구현하였다.[1][2] 2. 본론실외에서는 GPS를사용하여위치추정이가능하지만실내에서는 GPS를사용할수없기때문에새로운분야로써많은연구가진행되었다. 실내에서위치를추정하기위해서가장많이사용되는기술은 Wi-Fi positioning 과 IMU를이용한 DR이다. Wi-Fi positioning 은 Wi-Fi AP에서전송되는신호를특정타깃에서수신했을때수신된신호의세기를통해위치를추정하는기술이다. DR 은각센서의 output을통해타깃의절대위치를추정하는기술이다. 본장에서는실내위치측위기술에대해기술한다. 2.1 Wi-Fi 를이용한위치추정기술 Wi-Fi 는 IEEE 802.11 표준통신으로서 LAN (Local Area Network) 에서이더넷의단점을보완하기위해서개발된무선통신기술이다. 실내에서높은데이터전송률을지원하기때문에많은곳에서사용되고있으며빠른속도로 Wi-Fi AP가설치되고있다. Wi-Fi 를이용하여위치추적을하면이미설치되어있는 infra structure 를사용하기때문에추가적인설치비용이들지않는다. 어떤 Wi-Fi positioning algorithm 을사용하느냐에따라 5m이하의높은위치정확도도제공할수있기때문에많은연구가진행되고있다. 하지만 Wi-Fi AP가많이설치되어있지않은곳에서는높은위치정확도를기대하기가어렵다. 특히실내환경에서의위치정확도를높이기위해서는 Wi-Fi 신호의특징을이해하는것이필요하다. Wi-Fi 의신호를받은수신강도는 RSS로표현하며 RSS 의단위는 dbm이고, 송신기가송신한신호를수신기측 244
에서받아, 전력에의해서수신된신호의강도로나타내는것이다. (1) 이식은 Friis 의공식이고다음과같이나타낼수있다 (2) 이식에서의 A값과 B값은시스템이사용되는환경및사용주파수대역에따라결정된다. Wi-Fi 측위방법은 AP의신호세기를이용하여위치를측위하기때문에신호가주변환경에영향을많이받으면그만큼위치오차가증가하게된다. 실내에서의 Wi-Fi 신호는멀티패스, 잡음, 실내환경의구조및재질, 그리고유동인구에많은영향을받는다. 한개의 AP로부터일정시간신호를수신했을때거리는동일하지만수신되는신호는잡음이섞여수신된다. [ 그림 1] 은 Wi-Fi AP로부터수신된 RSS를히스토그램으로그린것이다. 동일한위치에서수신했지만, 신호는 -33 (dbm) 부터 -73 (dbm) 까지큰차이를보이는것을볼수있다. 다음과같은특징으로 Wi-Fi 로위치측위를하려면다수의 AP가필요하다는것을알수있다. [ 그림 2] 거리에따른 Wi-Fi AP로부터의 RSS 변화 2.1.1 삼각측량법 (Triangulation) 삼각측량법은 RTLS (Real Time Location System) 에서움직이는타깃의위치를추정하는데가장많이사용되는방법이다. GPS 또는위성으로수신된신호를통해위성과의거리를추정한후삼각측량법으로위치를추정한다. 삼각측량법을사용하기위해서는 2차원평면상에서세개의기준점이필요하다. [ 그림 3] 을보면중앙의 Mobile Device 에서 3개의 AP로부터 Wi-Fi 신호를수신하는것을볼수있다. 각각의 AP와 Mobile Device 와의거리는 (3) (4) (5) 와같이원의방정식형태로나타낼수있다. 위식에서언급된 d는식 (3) 으로부터추정이가능하지만, Wi-Fi 의신호가기본적으로 noise 를포함하고있기때문에높은위치정확도를기대하기는어렵다. [ 그림 1] 수신된 Wi-Fi 신호세기히스토그램 [ 그림 3] 삼각측량법의원리 245
디지털정책연구제 11 권제 4 호 (2013.4) 2.1.2 Wi-Fi fingerprinting 알고리즘 Wi-Fi 를이용한실내위치추적시스템은 Wi-Fi AP 의보급확산으로인하여같이발전된기술이다. Wi-Fi AP의 RSS를 Mobile Device 나노트북같은 terminal node에서수신할때, terminal node의거리가 Wi-Fi AP 와가까우면 RSS가크고, 거리가멀어지면 RSS가작아지는성질을이용하여위치를추정한다. 보행자의위치를실시간으로측위하기위해서초기위치를파악하는것이필요하다. 보행자의초기위치는이후에 DR로위치를추정할때의초기위치로정해지기때문에매우중요하다. 보행자의초기위치를추정하기위해서 Wi-Fi 를이용한 fingerprinting이사용된다. Fingerprinting을사용하기위해서는맵전역의 Wi-Fi AP의 RSS 정보가저장된 Database 가필요하다. Database 를만드는방법은다음과같다. [ 그림 4] 의왼쪽그림을보면실내공간을 8개로나눈것을볼수있다. 나눠진각각의구역은 fingerprinting 의 RP로사용될수있으며, 고유한 ID가붙여진다. RP가정해지면각각의 RP에서, 주변 Wi-Fi AP에서스마트폰을통해 RSS를수집하여야한다. 수집된 RSS들은 (6) 와같은벡터형태로 Database 에저장이된다. 식 (6) 에서 은 n번째 AP에서수신한 RSS 이며, L은수신된 AP의총개수이고, 는 i번째 RP의좌표값이다. 지는 RP 를현재위치로판단한다. 거리를구하는식은 (7) 이며, 식 (7) 에서 는 와현재수신된 RSS와의 distance 이고, 는 j번째 AP에서수신된 RSS 이고, 는 i번째 RP에서 j번째 RP에저장되어있는 RSS이다. Database 에저장되어있는모든 RP와의 distance를계산한후, 최소 distance를가지는 RP를현재위치로추정한다. fingerprinting에서최소의 distance를가지는, RP를선택하는알고리즘이 NN(Nearest Neighbor) 이다. 여기서 neighbor는현재위치에서의주변 RP를가리킨다. 하지만가장작은 distance를가진 RP라고할지라도, 현재위치라고판단할수없기때문에, RP들중 distance 가낮은 K개의 RP를선택하여, 위치를추정하는알고리즘이 KNN(K Nearest Neighbor) 이며, distance가작은 RP에좀더가중치를줘서계산하는알고리즘이 WKNN (Weighted K Nearest Neighbor) 이다. 위에서언급한알고리즘중에, 가장위치오차가작은알고리즘은 KWNN 이다. 하지만 KWNN 은고정된 K개의 RP를사용하여, 위치를계산하기때문에모든맵상에서만족할만한위치정확도를줄수없다. [ 그림 5] 의왼쪽을보면, 복도와같이 RP가선처럼연결된공간에서는 K가크면, 주변의 distance가큰 RP도위치계산에포함되기때문에불리하다. 하지만 [ 그림 5] 의오른쪽, 로비같은공간에서는 distance가비슷한 RP들이 5개이상될수있기때문에, 5 이상의 K가, 위치정확도가높을수있다. [ 그림 4] 실내공간에서 RP의 ID와설치된 Wi-Fi AP의모습 Database 를만들면서수신된모든 AP에도 ID가붙여지며, ID의순서에맞게벡터형태로저장된다. 모든 RP 에서 RSS 수집이끝나면 Database 를만드는작업이끝나며, fingerprinting을사용하기위한사전작업이완료된다. Database 를만든후위치를추정하는방법은현재위치에서주변의 AP로부터 RSS를수집해서 Database 에저장되어있는 RP의 RSS와비교해가장작은차이를가 [ 그림 5] 복도와로비에서선택된 RP의형태고정된 K의 RP를선택한다면 distance가무척큰 RP 라도선택될가능성이있기때문에문제가된다. RP의 distance 와상관없이선택된 RP가 K개를넘지않는다면, K만큼의 RP가선택될때까지 RP는추가되어야하기때문이다. K를유동적으로변화시켜 distance가작은 RP 만을선택한다면, 불필요한 RP 때문에발생하는위치오 246
차를줄일수있다. 즉, 고정된 K의 RP보다는 K의숫자를, 위치를구할때마다변화시켜최적의 K만을선택한다면, 위치정확도를높일수있다. [ 그림 6] 을보면, RP 의 distance를크기에따라오름차순으로정렬한모습이다. Case 1을보면, RP의 distance 가큰변화없이올라가기때문에고정된 K를사용하여도위치오차가크게증가하지는않는다. 하지만 Case 2를보면, 4번째 RP와다섯번째 RP의 distance가크게증가하는것을볼수있다. 고정된 K를사용한다면, distance가큰 RP가위치계산에포함되기때문에, 위치정확도를높이기위해서는, K 를유동적으로변화시키면서 distance가작은 RP만을선택하여, 위치를추정하는것이필요하다.[4] [ 그림 6] RP의 distance 를오름차순으로정렬한모습 3. 시스템설계본장에서는개발한안드로이드기반의위치정보시스템의구현환경과알고리즘에대해설명하고자한다. 3.1 구현환경 3.1.1 위치정보시스템구현환경 temp=distance[j]; Distance[J]=Distance[J+1]; Distance[J+1]=temp; for I = 1 to MaxOfK if Distance[I]<ThresholdOfALI K++; UserPosition=EWKNN(K); end procedure 4. 실내에서 Wireless Fidelity 를이용한위치정보시스템의결과 첫째, 실질적인지도관련서비스는 GPS를기반으로하는사용자의현재위치를중심으로지도를출력하도록구현하였다. [ 그림 7] 은국립중앙박물관에서스마트폰사용자의위치를실시간으로파악하고, 그위치를중심으로지도를출력하며, 2초간격으로마크를표시하도록구현한것이다. 둘째, 사용자의친구의위치를찾기위해서는, 먼저주소록에있는친구의정보를추가한후, 친구의위치찾기를설정하도록구현하였다. [ 그림 8] 은친구의위치를중심으로지도를출력하며, 또다른친구의위치를추가하기위한메뉴를나타낸것이다. 셋째, 실내공간에서보행자의초기위치를추적하기위해서 Wi-Fi 를이용한 fingerprinting을사용했으며, Wi-Fi AP의 RSS를스마트폰같은단말노드에서수신할때, 단말노드의거리가 Wi-Fi AP와가까우면 RSS가크고, 거리가멀어지면 RSS가작아지는성질을이용하여위치를추적하였다.[3] - DBMS : MS-SOL Server 2007 - 모바일플랫폼 : Android 2.3.3 이상 - 개발언어 : Java, XML 3.2 알고리즘 3.2.1. 실내위치추적알고리즘 < 표 1> 실내위치추적알고리즘 procedure ALI=scanALI(); for I = 1 to sizeofrp Distance[I]=abs(ALI-RP[I]); for I = 1 to sizeofrp for J = 1 to sizeofrp-i if Distance[J]>Distance[J+1] [ 그림 7] 현재위치표시 247
디지털정책연구제 11 권제 4 호 (2013.4) [ 그림 8] 친구의위치 추가적인장비는필요없었다. 특히실내환경에서의위치정확도를높이기위해서는 Wi-Fi 신호의특징을이해하는것이필요하다. Wi-Fi 의신호를받은수신강도는 RSS로표현되며, RSS의단위는 dbm이고, 송신기가송신한신호를수신기측에서받아전력에의해서수신된신호의강도로나타내는것이다. 또한 Wi-Fi AP가많이설치되어있지않은곳에서는높은위치정확도를기대하기가어렵다. 그리고어떤 Wi-Fi positioning algorithm 을사용하느냐에따라 5m이하의높은위치정확도도제공할수있기때문에많은연구가진행되고있다. 향후에는현실세계에가상의정보를중첩해서, 사용자에게더많은정보를제공하는증강현실분야를추가적으로연구하고자한다.[3] 참고문헌 [ 그림 9] 실내위치표시 4. 결론및향후과제 [1] S. H. Shin, M. S. Lee, C. G. Park, and H. S. Hong, (2010). Pedestrian Dead Reckoning System with Phone Location Awareness Algorithm. IEEE-ION PLANS, Palm Springs, CA, USA, May 3-6. [2] D. Tancharoen and K. Aizawa, (2010). Wearable Video Retrieval and Navigation System using GPS Data. IEEE International Conference Computer and Information Technology. [3] 권오병 (2012). 실내에서의 Wireless Fidelity 를이용한안드로이드기반의위치서비스시스템의설계및구현. 2012년도한국멀티미디어학회추계학술발표대회논문집, 15(2), 108-111. [4] 장청윤 (2012). 삼각측량법을활용한핑거프린트방법의측위오차감소방안에관한연구. 석사학위논문, 인천대학교대학원. 본논문은스마트폰사용자를위한실내 외위치추적을안드로이드기반의위치정보시스템을이용해설계및구현하였다. 실외는실질적인지도관련서비스인 GPS를사용하였고, 실내에서는 GPS를사용할수없기때문에 Wi-Fi fingerprinting을사용해위치를추적구현하였다. Wi-Fi AP는건축물에많이설치되어있고, DR (Dead-Reckoning) 을위한 IMU(Inertial Measurement Unit) 는스마트폰기기에이미탑재되어있기때문에, 위치추적을하기위한다른기반구조 (infrastructure) 또는 권오병 2007 년 8 월 : 단국대학교공학박사 2012 년 5 월 ~ 현재 : izensoft 개발부기술이사 관심분야 : 모바일, S/W 개발, 데이타베이스 E-Mail : bottlekwon@izensoft.com 248
김경수 2001 년 8 월 : 순천향대학교전산학과 ( 공학박사 ) 2005 년 3 월 ~ 2007 년 2 월 : VCU DBLab Visiting Scholar 1998 년 3 월 ~ 현재 : 백석문화대학교인터넷정보학부부교수 관심분야 : 소프트웨어공학, 데이타베이스 E-Mail : kkskim@bscu.ac.kr 249