DOI QR코드

DOI QR Code

Improvement of location positioning using KNN, Local Map Classification and Bayes Filter for indoor location recognition system

  • Received : 2021.02.18
  • Accepted : 2021.05.31
  • Published : 2021.06.30

Abstract

In this paper, we propose a method that combines KNN(K-Nearest Neighbor), Local Map Classification and Bayes Filter as a way to increase the accuracy of location positioning. First, in this technique, Local Map Classification divides the actual map into several clusters, and then classifies the clusters by KNN. And posterior probability is calculated through the probability of each cluster acquired by Bayes Filter. With this posterior probability, the cluster where the robot is located is searched. For performance evaluation, the results of location positioning obtained by applying KNN, Local Map Classification, and Bayes Filter were analyzed. As a result of the analysis, it was confirmed that even if the RSSI signal changes, the location information is fixed to one cluster, and the accuracy of location positioning increases.

본 논문에서는 위치 측위의 정확도를 높일 수 있는 방안으로 KNN(K-Nearest Neighbor)과 Local Map Classification 및 Bayes Filter를 융합한 기법을 제안한다. 먼저 이 기법은 Local Map Classification이 실제 지도를 여러 개의 Cluster로 나누고, 다음으로 KNN으로 Cluster들을 분류한다. 그리고 Bayes Filter가 획득한 각 Cluster의 확률을 통하여 Posterior Probability을 계산한다. 이 Posterior Probability으로 로봇이 위치한 Cluster를 검색한다. 성능 평가를 위하여 KNN과 Local Map Classification 및 Bayes Filter을 적용하여서 얻은 위치 측위의 결과를 분석하였다. 분석 결과로 RSSI 신호가 변하더라도 위치 정보는 한 Cluster에 고정되면서 위치 측위의 정확도가 높아진다는 사실을 확인하였다.

Keywords

I. Introduction

최근 가정에서 가사 일을 도와주는 로봇 [1]의 등장으로 로봇 서비스에 대한 관심이 증가하면서 모바일 로봇에 대한 연구가 많아지고 있다. 이러한 서비스는 로봇이 단순히 한 지점에 위치하는 것이 아니라 이동을 하면서 위치 기반 서비스를 제공한다. 위치 기반 서비스는 로봇의 현재 위치 파악이 필수적이다. 먼저 서비스를 제공하는 로봇은 현재 위치를 기준으로 목적지까지의 이동 경로를 계산한다. 경로를 계산할 때, 현재 위치를 모르면, 잘못된 경로의 계산으로 목적지에 도달하지 못하면서 서비스 제공이 어려워질 수 있다.

기존 관련 연구로는 Lidar와 AMCL(Adaptive Monte Carlo Localization)[2]으로 지도의 특이점을 파악하여서 로봇의 현재 위치를 알아내는 기법이 있다. 이 기법은 로봇이 지도를 이동하면서 지도의 특이점과 로봇 위치의 특이점을 비교하면서 현재 로봇의 실제 위치를 검색한다. 이러한 위치 측위 방법은 로봇의 초기 위치를 알 수 없기 때문에, 실제 지도를 이동하면서 위치 정보를 검색해야 한다. 그래서 지도의 범위가 넓어지게 되면, 위치 측위를 위한 로봇의 이동량이 증가하면서 처리 시간이 늘어날 수 있다. 그 결과 실시간 처리에는 비효율적이게 된다.

위치 기반 서비스에서 위치를 검색하는 기법인 GPS(Global Positioning System)는 실외 위치의 정확도가 높기 때문에 위치 측위 방법에서 많이 사용된다. 그러나 GPS의 위성 신호는 건물들에 영향을 받기 때문에, 실내 위치 측위에는 사용할 수 없다. 그래서 실내 위치 측위를 위한 연구는 기존 네트워크 망을 사용하는 WiFi가 많이 활용되고 있다. 그러나 WiFi를 사용한 AP의 RSSI(Received Signal Strength Indication)는 변하는 특성을 가지고 있다[3]. 이 RSSI가 변하면 위치 측위에 영향을 주기 때문에 위치 측위가 변하면서 로봇의 위치 측위에 대한 정확도는 보장될 수 없다.

이러한 문제점인 위치 측위의 정확도를 높이기 위하여 실제 지도를 측정 및 구분하고, Cluster들을 분류한 후, 로봇이 존재할 가장 높은 확률의 Cluster를 검색하는 기법을 제안한다. 제안하는 기법의 Local Map Classification은 실제 지도를 여러 개의 Cluster를 나누고, KNN은 라디오 맵과 수신한 RSSI를 통하여 좌표 값을 분류한다. 이렇게 분류된 좌표 값을 Cluster 별로 반영하며, Bayes Filter는 각 Cluster에 로봇이 존재할 확률을 계산한다.

논문의 구성은 다음과 같다. 먼저 2장에서는 관련 연구를 설명하고, 3장에서 제안하는 시스템의 구성을 다룬다. 4장에서는 시스템의 성능 평가를 위한 실험 결과에 대하여 설명하고, 마지막으로 5장에서는 결론을 맺는다.

II. Preliminaries

1. Related works

이 장에서는 KNN과 Local Map Classification, 그리고 KNN과 GPR(Gaussian Process Regression) 및 Bayes Filter를 적용한 기법들을 소개한다. 마지막으로 Moving Average와 K-mean과 Particle filter 및 KNN 의 기법을 소개하려 한다.

1.1 Techniques of KNN and Local Map Classification

Scan Matching에 ICP(Iteration Closet Point) Algorithm을 적용하여서 지도의 특성에 따른 현재 위치를 탐색하는 방법은 정확도가 낮아진다. 그래서 정확도를 높이기 위해서 Scan Matching에 KNN과 Local Map Classification을 적용하는 기법이 제안되었다. 이 기법에선 먼저 위치 정보의 파악을 위하여 Local Map Classification으로 지도를 여러 영역으로 나눈다. 이후, Scan Matching으로 검색된 지도상의 대략적인 영역 정보를 이용해 KNN으로 이 영역들을 분류한다. 그 결과 위치 측위의 정확도를 높일 수 있다[4].

기존 KNN 및 Local Map Classification의 기법과 제안하는 기법의 차이점은 다음과 같다. 제안하는 기법은 센서의 데이터가 변동성을 가질 수 있어서, 이 변화를 보완하는 방법으로 Bayes Filter를 적용하여, 확률적으로 위치 측위를 한다.

1.2 Techniques of KNN, GPR and Bayes Filter

GPS를 통하여 로봇의 실내 위치 측위를 하는 것은 쉽지 않으며, 위치 측위에 필요한 장치의 성능과 가격에 대한 요구 사항은 높다. 이러한 한계점을 개선하기 위하여 기존네트워크 망을 이용하는 WiFi로 위치 측위를 할 수 있다. WiFi를 사용하는 위치 측위 방법은 KNN과 GPR 및 Bayes Filter를 사용하는 것이다.

실내 위치 측위는 캘리브레이션 상태와 메저먼트 상태로 구성된다. 캘리브레이션 상태는 AP로부터 수신한 RSSI 를 이용하여서 라디오맵을 생성하고, 이 라디오맵은 캘리브레이션 상태의 한 모듈인 GPR를 통하여 가우시안 분포를 만든다. 그리고 메저먼트 상태는 만들어진 가우시안 분포로 새로운 라디오맵을 생성한다. 이 라디오맵은 RSSI의세기 변화에 대한 정규 분포 형태를 반영하고 있다. RSSI 의 세기 변화를 포함하고 있는 라디오맵을 통하여 위치 측위 예측이 가능하다. 이와 같은 절차로 실내 위치 측위는 RSSI와 새로운 라디오맵를 함께 사용해 KNN으로 비교하면서 위치 정보를 획득한다. 이렇게 얻은 위치 정보는 Bayes Filter를 통하여 확률로서 로봇이 존재할 수 있는 위치를 찾는 기법이다[5].

KNN과 GPR 및 Bayes Filter의 기법과 제안하는 기법의 차이점은 다음과 같다. 기존 기법은 RSSI의 변화를 가우시안 분포로 만들어서, RSSI의 변동성을 보완한 반면, 제안하는 기법은 Local Map Classification으로 실제 지도를 다수의 Cluster로 나누어서 RSSI의 변동성을 보완하였다.

1.3 Techniques of Moving Average, K-mean, Particle filter, and KNN

BlueTooth를 사용하여서 실내 위치 추적 기술에 대한 분석을 하였다. 기존 위치 측위 기술인 Proximity, Triangulation, Fingerprinting가 분석되었고, 이러한 위치 측위 기술의 정확도를 개선하기 위해서 moving average, K-means, Particle filter, KNN Algorithm을 사용하였다. moving average는 연속적인 값에서 순서대로 일정 개수를 취하고, 이를 평균 내게 한다. K-mean은 여러 개의 Cluster로 나누고, 해당 Cluster의 평균값을 갖게 한다. Particle filter는 입력되는 정보에 확률을 적용하여, 가장 높은 확률에 해당되는 정보를 선택하게 한다. KNN은 두 점 사이의 거리 값을 구해서 가장 가까운 거리 값을 검색한다. 이러한 Algorithm들을 위치 측위 기술에 적용하여 분석한 결과, 위 3가지 기술의 공통점은 대략적인 위치 측위에는 적합하지만, 정확한 위치 측위가 어렵다는 것이다. 이것은 RSSI가 변동성을 가지는 특성 때문이다[6].

기존 기법들과 제안하는 기법의 차이점은 다음과 같다. 기존 기법은 위치 측위 기술과 Algorithm을 적용하여 분석한 반면, 제안하는 기법은 위치 측위의 정확도를 향상하기 위한 방법을 적용하였다.

III. The Proposed Scheme

1. Indoor location recognition system through KNN, Local Map Classification and Bayes Filter

제안하는 시스템의 구성은 Fig 1과 같이 Database와 Algorithm으로 분류된다. 로봇은 핑거프린트기법을 통하여 RSSI를 수신하고, Database를 구성한다. 먼저 Databse는 위치 정보와 RSSI로 하나의 테이블을 생성한다. 그리고 KNN과 Local Map Classification 및 Bayes Filter로 구성된 Algorithm은 로봇이 수신한 RSSI와 Database를 비교하여서 확률 계산으로 위치 측위를 한다. Local Map Classification은 지도를 다수의 Cluster로 나누고, KNN은 각 Cluster를 분류하여서 위치 측위의 정확도를 높인다. 또한, Bayes Filter는 Prior Probability 과 측정된 각 Cluster의 확률을 바탕으로 Posterior Probability을 계산하여서 특정 Cluster에 로봇이 존재할 확률을 계산한다.

CPTSCQ_2021_v26n6_29_f0001.png 이미지

Fig. 1. KNN, Local Map Classification and Bayes Filter

로봇의 위치 측위 절차는 다음과 같다. 로봇은 사전 작업으로 만들어진 지도의 좌표 값과 RSSI로 Database를 구성한다. 로봇은 이동하면서 Key인 좌표 값과 Value인 RSSI를 동시에 수신하고, 이를 모아서 라디오맵을 생성한다. KNN은 이 라디오맵과 수신된 RSSI를 같이 비교하여서 신호별 세기를 분류하고, 이를 각 Cluster에 반영한다. 그리고 Local Map Classification은 각 Cluster에 로봇이 존재할 예측 값들을 확률로 변환한 후, Bayes Filter에 전달한다. Bayes Filter는 각 Cluster에 로봇이 존재할 예측 확률과 Prior Probability을 사용해 Posterior Probability을 계산하고, 각 Cluster에 반영하여서 Local Map Classification에 전달한다. Local Map Classification은 Cluster들 중에서 확률이 가장 높은 Cluster를 선택하고, 해당 Cluster에 대한 영역의 평균값으로 위치 측위를 한다.

1.1 KNN

KNN은 라디오맵과 수신한 RSSI를 비교 및 분류하는 Algorithm이다. 이 라디오맵은 Database에서 생성되며, Key와 Value로 구성된 테이블 형태의 데이터이다. 이 테이블의 Key는 좌표 값이고, Value는 RSSI의 세기를 나타낸다.

이 라디오맵와 수신한 RSSI는 유클리드 거리를 통하여 거리 오차를 계산한다. 이 거리 오차는 실제 거리와의 차이를 의미한다.

\(d_{i j}=\sqrt{\left(x_{i}-x_{j}\right)^{2}+\left(y_{i}-y_{j}\right)^{2}}\)       (1)

식 (1)의 dij는 실제 두 데이터 사이의 거리 오차를 나타낸다. (xi, yi)은 라디오맵의 RSSI의 세기이며, (xj, yj)는 로봇이 수신한 RSSI의 세기이다. 그리고 라디오맵과 각 RSSI의 세기를 이용하여서 유클리드 거리 계산식으로 거리 오차를 계산한다. 유클리드 거리 계산식으로 얻은 값은 작을수록 실제 거리와 가깝다는 것을 나타낸다.

1.2 Local Map Classification

Local Map Classification에 의해서 실제 지도는 다수의 Cluster들로 나눠지며, KNN으로 분류된다. 그리고 분류된 각 Cluster에는 Bayes Filter에 따라서 로봇이 존재할 위치 확률이 적용된다.

Local Map Classification은 K-Mean Algorithm[7]을 적용하여서 실제 지도의 좌표를 기준으로 k 개의 Cluster 로 나눈다. 실제 지도의 분류하고자 하는 총 길이는 L이 되고, k 개의 Cluster로 나누게 된다. 측정된 전체 영역 내 좌측 0 ~ (L/k)*1까지는 Cluster 1으로 설정하며, 다음으로 (L/k)*1 ~ (L/k)*2까지는 Cluster 2로 정한다. 이와 같은 절차를 반복하면서 최종 Cluster n은 [(L/k)*(n-1)] ~ L까지로 설정한다.

각 Cluster는 해당 영역 좌표에 대한 평균값을 가진다. 그래서 예측한 Cluster가 선택되면, 해당 Cluster 좌표의 평균값을 출력한다. 이후, K-Mean은 Database의 좌표값들을 사용하여서 다수의 Cluster로 나눈다.

\(\underset{r, c}{\operatorname{argmin}} \sum_{n=1}^{N} \sum_{k=1}^{k} r_{n k}\left\|x_{n}-c_{k}\right\|^{2}\)       (2)

식 (2)의 rnk는 n 번째 좌표 값이 k 번째 Cluster에 속하면, 1, 아니면, 0인 이진 값이고, ck는 k 번째 Cluster에 대한 좌표의 평균 값이다. 그리고 xn은 실제 지도에 대한좌표 값들을 나타낸다.

식 (2)와 같이 K-mean은 두 가지의 과정을 통하여 Cluster를 분류한다. 먼저, K-mean은 모든 좌표 값인 xn 과 ck좌표의 평균값으로 거리 오차를 계산하고, 거리 오차가 작은 좌표 값들을 해당 Cluster에 포함시킨다. 다음으로 각 Cluster에 포함된 좌표 값들이 변경되기 때문에, ck의 평균값을 업데이트한다. 이와 같은 과정을 ck의 평균값이 변하지 않을 때까지 반복한다. 이렇게 만들어진 각 Cluster는 해당하는 영역 내의 좌표 값들을 포함하고, 영역에 대한 좌표 평균값을 가진다.

Local Map Classification은 각 Cluster의 확률 값을 Bayes Filter에 전달하며, 해당 절차는 Fig 2와 같다. 수신한 RSSI가 KNN에 전달되면, KNN은 라디오맵과 RSSI 를 비교 및 분류한 후, 예측 가능한 위치 결과를 Pose_From_Knn에 입력한다. 이 Pose_From_Knn은 K 값 크기의 리스트로 위치 정보를 포함하고 있기 때문에, K 에 해당하는 위치 정보를 획득할 수 있다. 이렇게 얻은 위치 정보로 Pose_And_ClusterIndex_Map으로 Cluster의 Index를 얻는다. 이 Index는 Cluster_Property를 통하여 해당하는 Cluster를 찾아내고, 해당 Cluster의 속성 값을 증가시킨다. 이와 같이 위치 정보를 검색하는 절차는 K 만큼 반복된다. 다음으로 Cluster_Property의 Cluster 별 속성 값들은 K로 나누어진다. 이것은 Bayes Filter가 확률적으로 계산하기 때문에 Cluster의 속성 값들도 확률로 변환되기 위하여 전체 값인 K로 나누어지는 것이다. 이렇게 계산된 각 Cluster의 확률적 속성을 나타내는 Probability_Cluster은 Bayes Filter로 전달된다.

CPTSCQ_2021_v26n6_29_f0002.png 이미지

Fig. 2. Flowchart of Local Map Classification

1.3 Bayes Filter

Bayes Filter[8]는 각 Cluster에서 측정된 확률 값과 Prior Probability로 Posterior Probability을 계산하여서 각 Cluster에 로봇이 존재할 확률을 구하는 기법이다. 각 Cluster의 확률 값은 Local Map Classification으로부터 결정되며, Prior Probability은 각 Cluster의 초기 확률값으로 계산된다. 이 절차는 다음과 같다. 먼저, 시스템 구동 전, Local Map Classification에서 각 Cluster의 확률을 계산한다. 다음으로 이전과 같은 방식으로 반복하면서 확률의 평균을 구한다. 마지막으로 평균을 각 Cluster의 Prior Probability로서 적용한다.

Bayes Filter는 측정된 Cluster의 확률 값과 Prior Probability을 통하여 Posterior Probability을 계산하고, 이를 각 Cluster에 반영한다. 각 Cluster 중 확률이 가장 높은 Cluster는 로봇이 존재할 확률이 가장 높다는 것을 나타낸다.

Bayes Fliter의 구동 절차는 Fig 3과 같다. bel(x0)은 Prior Probability로서 각 Cluster의 초기 확률이고, xt는각 Cluster이다. zt는 측정된 데이터 확률로서 수신한 RSSI로부터 계산된 Cluster들의 확률이다. ut는 컨트롤러 데이터이며, 해당 값은 사용되지 않는다. 왜냐하면 로봇은 한 지점에서 움직이지 않기 때문이다. 그리고 n은 정규화를 통하여 데이터들을 확률로 변환 시킨다.

CPTSCQ_2021_v26n6_29_f0003.png 이미지

Fig. 3. Bayes Filter Algorithm

이 Algorithm은 식 (3)과 식 (4)에 따라서 처리되며, 식 (3)은 Prediction 관련 수식이고, 식 (4)는 Measurement Update 관련 수식이다.

먼저 식 (3)에 따라서 bel(xt)는 모든 상태에 대한 예측확률을 계산하고, 각 Cluster에 로봇이 존재할 확률을 구한다. bel(xt)은 xt이 t-1 시간에 대한 확률을 나타내는 bel(xt-1)과 ut와 xt-1 내 xt의 확률을 나타내는 p(xt|ut, xt-1)를 통하여 예측 확률을 구한다.

다음으로 식 (4)에 의하여 각 Cluster의 예측 확률인 bel(xt)과 측정된 데이터 확률인 p(zt|xt)로 모든 Cluster에 대한 로봇의 존재 확률을 계산한다. p(zt|xt)는 수신한 RSSI로서 KNN과 Local Map Classification을 통하여 각 Cluster의 확률 값을 나타낸다. 그리고 n을 곱한 후, 정규화로 확률적인 결과값을 획득한다. 이 값으로 Posterior Probability을 계산한 후, Cluster 별 로봇의 존재 확률을 구한다.

\(\overline{\operatorname{bel}}\left(x_{t}\right)=p\left(x_{t} \mid u_{t}, x_{t-1}\right) \operatorname{bel}\left(x_{t-1}\right)\)       (3)

\(\operatorname{bel}\left(x_{t}\right)=n p\left(z_{t} \mid x_{t}\right) \overline{b e l}\left(x_{t}\right)\)       (4)

IV. Evaluation

1.1 Experiment of environment

성능 평가를 위하여 실제 공간을 로봇이 이동하면서 지도의 좌표 값과 AP로부터의 RSSI를 동시에 수집하면서 Database를 구성하도록 하였다. 그리고 로봇을 지도의 Cluster 1에 위치시켰으며, 로봇은 해당 Cluster 1의 한 지점에 고정된 상태로 RSSI 신호를 수집토록 하였다.

실험 조건은 Table 1과 같고, 실험 환경은 Fig 4와 같다.

Table 1. Experiment condition

CPTSCQ_2021_v26n6_29_t0001.png 이미지

CPTSCQ_2021_v26n6_29_f0004.png 이미지

Fig. 4. Environment of experiment

CPTSCQ_2021_v26n6_29_f0005.png 이미지

Fig. 5. Robot used in the experiment

1.2 Positioning according to KNN, Local Map Classification and Bayes Filter

Table 2는 로봇이 Cluster 1에 있으면서 KNN과 Local Map Classification 및 Bayes Filter를 위치 측위에 적용할 때, Local Map Classification에 대한 Cluster의 속성값과 Bayes Filter의 확률 값을 비교한 결과이다. Local Map Classification은 KNN의 예측 위치 정보들을 각 Cluster에 포함시키고, 이에 해당하는 Cluster의 속성 값을 증가시킨다. 그리고 Prior Probability은 각 Cluster의 초기 확률로서 시스템 시작 전, Cluster 별로 확률 값을 수집하고, 이를 평균 낸 값이다. Measurement Probability는 수신된 RSSI로서 KNN과 Local Map Classification을 통하여 획득한 각 Cluster의 확률 값이다. Posterior Probability은 Measurement Probability 와 Prior Probability으로 계산한 확률 값이다. Estimate Pose는 각 Cluster 좌표의 평균값을 나타내며, 가로를 x 좌표, 세로를 y 좌표로 표현하였다.

Table 2. Positioning in cluster 1 according to KNN, Local Map Classification and Bayes Filter

CPTSCQ_2021_v26n6_29_t0002.png 이미지

1.3 Result of Experiment

Table 2와 Table 3에서 볼 수 있듯이 RSSI에 따라서 Cluster들의 속성 값이 변하여도, 위치 측위 결과는 영향을 받지 않는다. Table 2의 Local Map Classification에 의한 결과에 따르면 Cluster 2의 속성 값이 가장 높기 때문에 로봇이 Cluster 2에 존재한다고 할 수 있다. 그러나 Posterior Probability를 통한 확률적 계산을 하는 Bayes Filter의 결과는 Cluster 1의 확률이 가장 높았다. 그래서 Bayes Filter의 결과에 따라서 Cluster 1에 로봇이 존재한다고 예측할 수 있다. Table 3에서는 Cluster 1 ~ 4에 대한 로봇의 위치 측위를 분석한 결과이다. 이 결과는 Table 2와 같이 Local Map Classification은 다른 Cluster를 나타내지만, Posterior Probability는 로봇이 현재 위치한 Cluster를 나타낸다.

결국 RSSI가 변화더라도 Bayes Filter를 통하면 로봇의 위치 측위에 대한 정확도는 향상될 수 있을 것이다.

V. Conclusions

로봇은 위치 측위를 사용해 위치 기반 서비스를 제공한다. 이 서비스의 제공을 위하여 RSSI를 통한 위치 측위가 필요하다. 그러나 주변 환경의 영향으로 RSSI가 변화하면서 정확한 위치 측위가 보장되지 않을 수 있다. 이 정확도가 낮은 위치 측위를 사용하여서 위치 기반 서비스를 제공하면, 로봇은 현재 위치를 알 수 없기 때문에 목적지까지의 경로 계산에 실패하면서 서비스의 제공이 어려워질 수 있다.

본 논문에서는 이러한 문제점을 개선하고자 KNN과 Local Map Classification 및 Bayes Filter을 융합한 기법을 제안하였다. 이 기법은 실제 지도를 여러 개의 Cluster로 분류하고, 초기 값인 Prior Probability과 측정된 확률로 Posterior Probability을 계산한다. 이 Posterior Probability로 로봇의 위치 측위를 한다.

실험 결과로 RSSI가 변하더라도, Prior Probability과각 Cluster의 확률을 함께 계산한 Posterior Probability 을 이용하면 로봇이 존재할 Cluster를 더 정확히 알 수 있다는 것을 증명하였다. 따라서 제안하는 기법은 초기 위치 측위에 대한 정확도를 향상할 수 있을 것이다.

향후, 이동하는 로봇이 위치 측위를 하면서 발생할 RSSI의 오차를 줄이기 위한 연구가 필요하다. 왜냐하면 위치 측위에 대한 정확성을 보장하기 위해서는 정확한 RSSI가 필요하기 때문이다. 이를 위하여 RSSI의 변동성을 줄이고자, 칼만 필터를 추가적으로 적용하는 방안을 고안하려 한다.

References

  1. Zachiotis, G. A, Andrikopoulos, G., Gornez, R., Nakamura, K., & Nikolakopoulos, G., "A survey on the application trends of home service robotics." IEEE International Conference on Robotics and Biomimetics, pp. 1999-2006, December 2018. DOI: 10.1109/ROBIO.2018.8665127
  2. Markom, M. A., Adom, A. H., Shukor, S. A., Rahim, N. A., Tan, E. M. M., & Ilias, B., "Improved KNN Scan Matching for Local Map Classification in Mobile Robot Localisation Application." IOP Conference Series: Materials Science and Engineering, Vol. 557, No. 1, pp. 012019, June 2019. https://doi.org/10.1088/1757-899X/557/1/012019
  3. Wu, R. H., Lee, Y. H., Tseng, H. W., Jan, Y. G., & Chuang, M. H., "Study of characteristics of RSSI signal." IEEE International Conference on Industrial Technology, pp. 1-3, April 2008. DOI: 10.1109/ICIT.2008.4608603
  4. Markom, M. A., Adom, A. H., Shukor, S. A., Rahim, N. A., Tan, E. M. M., & Ilias, B., "Improved KNN Scan Matching for Local Map Classification in Mobile Robot Localisation Application." IOP Conference Series: Materials Science and Engineering, Vol. 557, No. 1, p. 012019, June 2019. DOI: 10.1088/1757-899X/557/1/012019
  5. Sun, Y., Liu, M., & Meng, M. Q. H., "WiFi signal strength-based robot indoor localization." IEEE International Conference on Information and Automation, pp. 250-256, July 2014. DOI: 10.1109/ICInfA.2014.6932662
  6. Kim, Y. S., & Jang, B "Analysis of Bluetooth Indoor Localization Technologies and Experiemnt of Correlation between RSSI and Distance" Journal of the Korea Society of Computer and Information, Vol. 21, pp. 52-62, October 2016, DOI: https://doi.org/10.9708/jksci.2016.21.10.055
  7. Lucke, J., & Forster, D., "k-means as a variational EM approximation of Gaussian mixture models". Pattern Recognition Letters, Vol 125, pp 349-356. July 2019. DOI: https://doi.org/10.1016/j.patrec.2019.04.001
  8. Thrun, S., Burgard, W., & Fox, D. "Probabilistic robotics.", The MIT Press, pp. 26-36, 2005.