KR101547025B1 - 이동 기기의 위치를 예측하는 방법, 및 장치 - Google Patents

이동 기기의 위치를 예측하는 방법, 및 장치 Download PDF

Info

Publication number
KR101547025B1
KR101547025B1 KR1020130154506A KR20130154506A KR101547025B1 KR 101547025 B1 KR101547025 B1 KR 101547025B1 KR 1020130154506 A KR1020130154506 A KR 1020130154506A KR 20130154506 A KR20130154506 A KR 20130154506A KR 101547025 B1 KR101547025 B1 KR 101547025B1
Authority
KR
South Korea
Prior art keywords
particles
particle
mobile device
protected area
predicting
Prior art date
Application number
KR1020130154506A
Other languages
English (en)
Other versions
KR20150068633A (ko
Inventor
박홍성
장준영
Original Assignee
강원대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강원대학교산학협력단 filed Critical 강원대학교산학협력단
Priority to KR1020130154506A priority Critical patent/KR101547025B1/ko
Publication of KR20150068633A publication Critical patent/KR20150068633A/ko
Application granted granted Critical
Publication of KR101547025B1 publication Critical patent/KR101547025B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

이동 기기의 위치를 예측하는 방법이 개시된다. 일 실시예는 특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑하고, 상기 그룹핑된 지역 내에 위치한 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 메모리에 저장하며, 상기 그룹핑된 지역 내의 파티클들 중에서 상기 저장된 파티클들을 제외한 나머지 파티클들을 n개 만큼 각각 복제하고, 상기 저장된 적어도 하나의 파티클, 및 상기 복제된 파티클들에 기초하여, 상기 이동 기기의 위치를 예측하는 단계를 포함한다.

Description

이동 기기의 위치를 예측하는 방법, 및 장치{METHOD FOR ESTIMATING LOCATION OF MOBILE DEVICE, AND APPARATUS THEREOF}
아래 실시예들은 이동 기기의 위치를 예측하는 방법, 및 장치에 관한 것으로서, 보다 구체적으로, 알려지지 않은 환경 맵에서 파티클 재추출 과정을 통해 이동 기기의 위치를 보다 정확하게 예측하는 방법, 및 장치에 관한 것이다.
이동 기기는 이동 중 센서를 통해 특징점(landmark)을 찾아 특징점의 위치 정보를 획득할 수 있다. 하지만, 이동 기기는 특징점의 정확한 위치를 획득할 수 없고, 특징점이 어떤 위치에 있을 것이라는 확률 정보를 얻을 수 있는데, 상기 확률 정보를 파티클이라고 한다.
동시 자기 위치 인식 및 지도 작성(Simultaneous Localization and Mapping, SLAM)은 로봇이 이동 중 알려지지 않은 환경에 대해 맵을 만들고, 자동적으로 위치 추정을 하기 위한 기술로서, 로봇 자율 주행 분야에서 SLAM은 필수적이다. SLAM은 자기 위치 인식(Localization)과 비슷한 절차로 수행되나, 발견된 위치와 자세정보를 확인할 수 있는 센서 특이정보인 특징점의 위치정보, 및 식별정보가 사전에 주어지지 않는다. 특징점의 위치정보, 및 식별정보는 로봇이 주행하면서 생성되고, 추정되는 점에서 Localization과 다르다.
로봇의 주행과정에서 동작제어잡음과 환경센서 잡음이 존재하고, 예측된 로봇의 추정 오차가 커져, SLAM의 효율은 낮아진다. 이러한 SLAM의 문제를 해결하기 위한 방법으로 칼만 필터를 사용하는 확장형 칼만 필터기반의 SLAM(Extended Kalman Filter-SLAM, EKF-SLAM), 파티클 필터를 사용하여 로봇의 위치를 추정하고, 칼만 필터를 사용하여 특징점의 위치를 추정하는 SLAM(Factored Solution to the SLAM, FastSLAM) 등이 있다. 특히, FastSLAM은 계산 복잡도가 특징점 수의 비례적으로 증가하며, 파티클 마다 다른 추정치를 저장하여, 추정치간의 보완이 가능하다. 또한, FastSLAM은 파티클 필터와 칼만 필터를 동시에 사용하기 때문에, 부정확한 로봇 모델에 대해서 강인한 특성을 가진다. 하지만, FastSLAM은 파티클 재추출 과정에서 확률적으로 낮은 가중치를 갖는 파티클들이 삭제되고, 삭제된 파티클들이 가지고 있는 위치 정보 또한 삭제되기 때문에 파티클의 다양성이 상실될 수 있다. 즉, FastSLAM에서, 파티클 고갈(particle depletion) 문제가 발생한다.
파티클의 가중치가 낮아도 재추출 과정에서 가중치가 낮은 파티클은 제거되지 않을 수 있어, 기존의 파티클 재추출 기법에서 발생하는 파티클 고갈의 문제를 해결할 수 있다.
가중치가 낮은 파티클도 재추출 과정에서 살아남을 수 있어, 파티클의 다양성을 유지할 수 있다. 또한, 다양한 파티클이 유지되고, 재추출 과정에서 살아남은 파티클의 수도 많아져, 살아남은 파티클을 통해 이동 기기의 위치를 보다 정확하게 예측할 수 있다.
일 측에 따른 이동 기기의 위치를 예측하는 방법은 특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑하는 단계; 상기 그룹핑된 지역 내에 위치한 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 메모리에 저장하는 단계; 상기 그룹핑된 지역 내의 파티클들 중에서 상기 저장된 파티클들을 제외한 나머지 파티클들을 n개 만큼 각각 복제하는 단계; 및 상기 저장된 적어도 하나의 파티클, 및 상기 복제된 파티클들에 기초하여, 상기 이동 기기의 위치를 예측하는 단계를 포함한다.
또한, 상기 n은, 상기 나머지 파티클들의 개수, 및 상기 나머지 파티클들의 가중치를 기초로 계산된다.
또한, 상기 그룹핑된 지역 내에 위치한 파티클들 중에서 상기 나머지 파티클들이 보호 지역에 있는지 판단하는 단계를 더 포함하고, 상기 나머지 파티클들이 상기 보호 지역외에 있다고 판단되는 경우, 상기 복제하는 단계는, 상기 n에 가산가중치를 부여하여 상기 나머지 파티클들을 복제한다.
다른 일 측에 따른 이동 기기의 위치를 예측하는 방법은 특징점에서 관찰한 복수의 파티클들을 기록하고, 상기 파티클들에 가중치를 부여하는 단계; 상기 파티클들을 미리 정해진 개수의 그룹으로 그룹핑하는 단계; 상기 그룹 내에서 보호 지역을 설정하는 단계; 상기 그룹 내에서 상기 가중치가 미리 정해진 범위 이내인 적어도 하나의 파티클, 상기 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 기초로 파티클 집합을 구성하는 단계; 및 상기 파티클 집합을 기초로 이동 기기의 위치를 예측하는 단계를 포함한다.
또한, 상기 그룹 내에서 보호 지역을 설정하는 단계는, 지역 중심점, 및 미리 설정된 보호 반경을 기초로 상기 보호 지역을 설정하고, 상기 지역 중심점은, 상기 그룹 내에 있는 상기 파티클들의 좌표를 기초로 계산된다.
일 측에 따른 이동 기기의 위치를 예측하는 장치는 특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑하고, 상기 그룹핑된 지역 내의 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 제외한 나머지 파티클들을 n개 만큼 각각 복제하는 프로세서; 상기 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 저장하는 메모리; 및 상기 저장된 적어도 하나 이상의 파티클들, 및 상기 복제된 파티클들에 기초하여, 상기 이동 기기의 위치를 예측하는 예측부를 포함한다.
또한, 상기 프로세서는, 상기 나머지 파티클들이 상기 보호 지역외에 있다고 판단하는 경우, 상기 n에 가산가중치를 부여하여 상기 나머지 파티클들을 복제하고, 상기 나머지 파티클들이 상기 보호 지역 내에 있다고 판단하는 경우, 상기 n이 미리 정해진 개수 미만일 때, 상기 n에 미리 정해진 개수를 더하여 상기 보호 지역내에 위치한 파티클들을 복제한다.
다른 일 측에 따른 이동 기기의 위치를 예측하는 장치는 특징점에서 관찰한 복수의 파티클들을 기록하고, 상기 파티클들에 가중치를 부여하는 업데이트부; 상기 파티클들을 미리 정해진 개수의 그룹으로 그룹핑하고, 상기 그룹 내에서 보호 지역을 설정하며, 상기 그룹 내에서 상기 가중치가 미리 정해진 범위 이내인 적어도 하나의 파티클, 상기 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 기초로 파티클 집합을 구성하는 재추출부; 및 상기 파티클 집합을 기초로 이동 기기의 위치를 예측하는 예측부를 포함한다.
기존의 FastSLAM에서 사용되는 파티클 재추출 기법인 SIR, 및 PSR과 비교할 때, 본 발명에서 사용되는 재추출 기법은 재추출 과정에서 살아남은 파티클의 수가 많아 파티클의 다양성을 유지할 수 있다.
또한, 본 발명에서 사용되는 재추출 기법은 기존의 파티클 재추출 기법에 비해 파티클 수에 따른 이동 기기의 위치의 오차가 감소하여, 이동 기기의 위치 예측의 정확도를 높일 수 있다.
도 1은 맵에서, 이동 기기가 특징점을 감지하고, 자신의 위치를 예측하는 것을 설명하기 위한 도면이다.
도 2은 FastSLAM에서 일반적으로 사용하는 반복적 중요도 재추출 기법을 설명하기 위한 도면이다.
도 3은 지역적으로 분산된 파티클의 정보를 사용하여 파티클을 재추출하는 기법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 이동 기기의 위치를 예측하는 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 이동 기기의 위치를 예측하는 방법에서 미리 정해진 범위 내의 가중치를 갖는 파티클의 저장을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 이동 기기의 위치를 예측하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 이동 기기의 위치를 예측하는 장치의 구성을 설명하기 위한 블록도이다.
도 8은 본 발명의 다른 실시예에 따른 이동 기기의 위치를 예측하는 장치의 구성을 설명하기 위한 블록도이다.
도 9는 본 발명에 따른 이동 기기와 기존의 재추출 기법이 적용된 이동 기기 간의 성능 비교를 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
일 실시예로서, 본 발명에 따른 이동 기기의 위치를 예측하는 장치는 독립된 기기로(standalone device) 제조되거나 또는 이동 기기에 임베디드된(내장된) 형태로 구현될 수 있다. 여기서, 이동 기기는 전원을 통해 전력을 공급받아 스스로 움직이는 기기로, 이동 로봇을 포함할 수 있다.
도 1은 맵에서 이동 기기가 특징점을 찾고, 자신의 위치를 예측하는 것을 설명하기 위한 도면이다.
도 1을 참조하면, 이동 기기(110)는 이동 중 센서를 통해 복수의 특징점들(120 내지 127)을 감지할 수 있다. 여기서, 센서는 레이저 센서, 시각 센서 등을 포함할 수 있다. 이동 기기(110)는 특징점들(120 내지 127)을 감지할 때마다 특징점들(120 내지 127)의 위치 정보를 저장할 수 있다. 예를 들어, 이동 기기(110)는 센서를 통해 특징점까지의 거리를 측정할 수 있다.
시뮬레이션 환경에서, 센서에 의해 감지된 특징점들(120 내지 127) 주위에는 복수의 파티클들이 분포할 수 있다. 특징점들(120 내지 127) 주위에 분포된 파티클들을 통해, 특징점들(120 내지 127)의 위치를 예측할 수 있다.
또한, 시뮬레이션 환경에서, 이동 기기(110)는 자기 주변에 복수의 파티클들을 분포시킬 수 있다. 자기 주변의 분포된 파티클들을 통해, 이동 기기(110)는 자신의 위치를 예측할 수 있다.
이동 기기(110)는 특징점들(120 내지 127)을 감지하여, 파티클들을 특징점들(120 내지 127) 주위에 분포시키고, 자기 주변에 파티클들을 분포시키면서, 원의 경로를 그리면서 이동할 수 있다. 이동 초기에, 이동 기기(120)는 위치 정보가 많지 않아 주어진 경로와의 오차는 많이 발생할 수 있다. 하지만, 파티클의 재추출 과정을 통해, 이동 기기(120)는 자신의 위치를 보다 정확히 예측하면서, 이동할 수 있다.
이동 기기(110)는 이동 중 엔코더(encoder) 정보를 획득할 수 있다. 엔코더 정보는 이동 기기(110)의 바퀴 회전 수를 포함할 수 있는데, 이동 기기(110)는 바퀴 회전 수를 통해 자신이 이동한 거리를 알 수 있다. 이동 기기(110)는 엔코더 정보, 및 파티클들을 이용하여 자신의 위치를 예측할 수 있다.
도 2은 FastSLAM에서 일반적으로 사용하는 반복적 중요도 재추출 기법을 설명하기 위한 도면이다.
FastSLAM은 시간 t에서 이동 로봇의 위치를 나타내는
Figure 112013113764235-pat00001
와 맵 정보를 나타내는
Figure 112013113764235-pat00002
를 기록한다. 맵 정보는
Figure 112013113764235-pat00003
, 및
Figure 112013113764235-pat00004
를 포함하고,
Figure 112013113764235-pat00005
은 시간 t에서 관찰된 n개의 특징점들을 나타내고,
Figure 112013113764235-pat00006
는 특징점의 수를 나타낸다. 기록된 이동 로봇의 위치, 및 맵 정보를 통해, 이동 로봇의 위치와 지도의 위치는 베이시안(Bayesian) 법칙에 의해
Figure 112013113764235-pat00007
으로 나타낼 수 있다. 여기서,
Figure 112013113764235-pat00008
는 관측(또는 센서정보),
Figure 112013113764235-pat00009
는 로봇 제어 입력,
Figure 112013113764235-pat00010
는 맵 정보를 나타내는
Figure 112013113764235-pat00011
Figure 112013113764235-pat00012
사이의 관계를 나타낸다.
Figure 112013113764235-pat00013
은 맵 정보와 이동 로봇의 위치의 경험적 확률(posterior) 밀도를 추정하기 위해 필요하다.
Figure 112013113764235-pat00014
은 베이시안 필터링(Basyesian filtering)을 통해 수학식 1로 표현될 수 있다.
[수학식 1]
Figure 112013113764235-pat00015
로봇의 위치에 대한 posterior가 알려졌을 때, 수학식 1은 수학식 2와 같이 인수분해 될 수 있다.
[수학식 2]
Figure 112013113764235-pat00016

맵에서 각 특징점에 대해, FastSLAM은 파티클의 위치
Figure 112013113764235-pat00017
에 대해 분리된 추정함수를 사용한다. 인수분해로 인하여, FastSLAM은 각 특징점마다 분리된 EKF를 유지할 수 있고, EKF-SLAM보다 더 효율적으로 갱신된 추정값을 얻을 수 있다. 시간 t에서, m번째 파티클 정보
Figure 112013113764235-pat00018
은 수학식 3과 같이 나타낼 수 있다.
[수학식 3]
Figure 112013113764235-pat00019
여기서, [m]은 파티클의 인덱스,
Figure 112013113764235-pat00020
은 [m]번째 파티클의 경로 추정치,
Figure 112013113764235-pat00021
, 및
Figure 112013113764235-pat00022
는 각각 파티클
Figure 112013113764235-pat00023
와 관련된 특징점 위치를 나타내는 가우시안(gaussian) 평균과 공분산을 나타낸다.
FastSLAM은 추출(sampling), 측정데이터 갱신, 가중치부여, 및 재추출(re sampling)의 4단계를 반복적으로 수행한다. 추출단계에서, 이동 로봇이 이동할 때, 센서에 의해 측정된 특징점에서 관찰된 파티클들
Figure 112013113764235-pat00024
이 기록된다. 측정데이터 갱신 단계에서, 특징점에서 관찰된 파티클들이 새로운 파티클들이 아닌 경우, 관찰된 파티클들 각각에 대한 평균
Figure 112013113764235-pat00025
, 및 공분산
Figure 112013113764235-pat00026
을 수행한다. 가중치부여 단계에서, 각각의 파티클들에 대한 가중치
Figure 112013113764235-pat00027
가 계산되며,
Figure 112013113764235-pat00028
는 수학식 4와 같이 나타낼 수 있다.
[수학식 4]
Figure 112013113764235-pat00029
여기서, 대상 분포(target distribution)는 실제확률분포이고, 제안 분포(proposal distribution)는 추정확률분포이다.
각각의 파티클에 가중치가 부여되면, 가중치에 비례한 확률을 가진 파티클들이 추출되고, 추출된 파티클은 복제된다.
도 2를 참조하면, 대상 분포가 제안 분포보다 큰 파티클들은 높은 가중치를 부여받고, 대상 분포가 제안 분포보다 작은 파티클들은 낮은 가중치를 부여 받는다. 도 2에서, 스텝이 k-1일 때, 높은 가중치를 부여받은 [m]번째 파티클
Figure 112013113764235-pat00030
은 재추출 단계에서 3배가 복제되고, 낮은 가중치를 부여받은 [m+m]번째 파티클
Figure 112013113764235-pat00031
은 재추출 단계에서 자신과 동일한 개수가 복제된다. 또한, 일부 파티클들은 가중치가 낮게 부여되어 완전히 제거된다. 파티클들이 복제되고, 제거되는 과정이 반복되어, 파티클들이 기록하는 이동 로봇 경로, 및 특징점의 추정 값이 상실될 수 있다. 따라서, 시간이 지남에 따라 독특한 특성을 가진 파티클들의 수가 줄어드는 파티클 고갈(particle depletion) 문제가 발생하여, 파티클 다양성(particle diversity)이 상실될 수 있다.
도 3은 지역적으로 분산된 파티클의 정보를 사용하여 파티클을 재추출하는 기법을 설명하기 위한 도면이다.
FastSLAM에서 발생하는 파티클 다양성 상실문제를 개선하기 위해, 본 발명은 지역적으로 분산된 파티클의 정보를 사용한다.
도 3의 (a)를 참조하면, 파티클들의 중심좌표를 통해, 파티클들이 분포한 지역이 K개 지역(예를 들어, 4개의 지역)으로 분할될 수 있다. 각각의 지역 내에는, 다양한 가중치를 갖는 파티클들이 있다. 파티클들의 가중치 중에서 미리 정해진 범위 내의 가중치를 갖는 파티클들은(310) 재추출 과정에서 제외될 수 있다. 미리 정해진 범위 내의 가중치를 갖는 파티클들은 이동 로봇의 위치를 예측할 때 사용된다.
도 3의 (b)를 참조하면, 미리 정해진 범위 내의 가중치를 갖는 파티클들이 제외된 것을 알 수 있다. 미리 정해진 범위 내의 가중치를 갖는 파티클들은 메모리에 저장될 수 있다.
도 3의 (c)를 참조하면, 지역 내의 파티클들 중 일부는 보호 지역(320) 내에 있다. 각각의 지역에 존재하는 파티클들의 위치 좌표를 통해, 지역 중심점의 위치가 계산될 수 있다. 파티클들이 분포한 지역이 K개의 지역으로 분할되므로, K개의 지역 중심점의 위치가 계산될 수 있다. 각각의 지역 내에서, 지역 중심점으로부터 일정 거리 이내에 존재하는 파티클들은 재추출과정에서 보호된다. 즉, 보호 지역(320)은 지역 중심점으로부터 일정 범위 이내로 설정될 수 있다. 보호 지역(320)에 존재하는 파티클들은 재추출 과정에서 제거되지 않으므로, 다양한 종류의 파티클들이 생존할 수 있다.
도 3의 (d)를 참조하면, 보호 지역(320) 내에 위치한 파티클들은 제거되지 않고, 복제된다. 보호 지역(320) 외에 위치한 파티클들 중 일부는 복제가 되고, 일부는 제거가 된다. 보호 지역(320)에 외에 위치한 파티클들은 가산가중치가 부여될 수 있다. 파티클 재추출 기법을 통해, 파티클들이 넓은 지역에 분포될 수 있고, 파티클 다양성이 유지될 수 있다.
도 4는 본 발명의 일 실시예에 따른 이동 기기의 위치를 예측하는 방법을 설명하기 위한 순서도이다.
일 실시예에 따른 이동 기기의 위치를 예측하는 방법은 도 3에서 설명한 파티클 재추출 기법이 사용될 수 있다.
도 4를 참조하면, 일 실시예에 따른 이동 기기의 위치를 예측하는 방법은 특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑할 수 있다(410). 다양한 지역에 분포된 파티클들을 일정 그룹으로 나누기 위해, 비 계층적 클러스터링 방법인 K-Means 알고리즘의 원리가 사용될 수 있다. K-Means 알고리즘은 클러스터의 수를 사전에 지정하고, 대상 객체들을 적절한 클러스터에 배정한다. n개의 객체가 주어진 경우, K-Means 알고리즘은 주어진 객체가 지정된 각각의 클러스터에 모두 포함할 때까지 객체를 클러스터한다. K-means 알고리즘은 다양한 형태의 데이터에 적용할 수 있고, 빠른 속도로 데이터를 클러스터할 수 있다.
특징점 주위에 분포한 복수의 파티클들을 K개의 지역으로 클러스터하기 위해, 특징점 주위에 분포한 복수의 파티클들의 파티클 중심점을 계산해야 한다. 파티클 중심점
Figure 112013113764235-pat00032
를 계산하기 위해, 이동 기기가 이동 중에 파티클들의 위치를 측정하는 경우
Figure 112013113764235-pat00033
가 양수인지 음수인지 고려해야 한다. 보다 구체적으로, 측정된 파티클들의
Figure 112013113764235-pat00034
가 180도와 -180도 일 때, 평균을 구하면 180도가 되지만 단순히 더하면 0도가 된다. 따라서, 각도에 따라 좌표 값을 별개로 저장하여, +영역의 값과 - 영역의 값의 차를 더한 평균좌표가 파티클 중심점으로 계산될 수 있으며, 수학식 5와 같다.
[수학식 5]
Figure 112013113764235-pat00035
여기서,
Figure 112013113764235-pat00036
는 파티클 중심점의 좌표,
Figure 112013113764235-pat00037
, 및
Figure 112013113764235-pat00038
은 각각
Figure 112013113764235-pat00039
가 0보다 크거나 같을 때의 x좌표, 및 y좌표,
Figure 112013113764235-pat00040
, 및
Figure 112013113764235-pat00041
는 각각
Figure 112013113764235-pat00042
가 0보다 작을 때의 x좌표, 및 y좌표를 나타낸다.
Figure 112013113764235-pat00043
Figure 112013113764235-pat00044
가 0보다 크거나 같을 때의 가중치, 및
Figure 112013113764235-pat00045
Figure 112013113764235-pat00046
가 0보다 작을 때의 가중치를 나타낸다. 파티클들의 좌표 값의 합과 가중치의 합의 평균을 이용하여 파티클 중심점이 계산될 수 있다. 또한, K지역의 지역 중심점
Figure 112013113764235-pat00047
는 K지역 내에 위치한 파티클들의 좌표 값의 합과 가중치 합의 평균을 이용하여 계산될 수 있다. 또한, 파티클 중심점과 지역 중심점간의 거리
Figure 112013113764235-pat00048
가 계산될 수 있으며, 이는 수학식 6과 같다.
[수학식 6]
Figure 112013113764235-pat00049
여기서,
Figure 112013113764235-pat00050
는 파티클 중심점,
Figure 112013113764235-pat00051
는 K지역에 위치한 파티클들의 좌표이다.
Figure 112013113764235-pat00052
는 파티클 중심점과 지역 중심점 사이의 거리로, 유클라디안 거리(Euclidean distance)이며, 수학식 7을 통해 구할 수 있다.
[수학식 7]
Figure 112013113764235-pat00053

일 실시예에 따른 이동 기기의 위치를 예측하는 방법은 그룹핑된 지역 내에 위치한 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 메모리에 저장할 수 있다(420). 도 5를 참조하면서, 상세히 설명한다.
도 5는 본 발명의 일 실시예에 따른 이동 기기의 위치를 예측하는 방법에서 미리 정해진 범위 내의 가중치를 갖는 파티클의 저장을 설명하기 위한 도면이다.
각 지역의 지역 중심점이 정해지면, 파티클 중심점으로부터 미리 정해진 거리에 위치한 파티클들은 그룹화될 수 있고, 각각의 그룹은 그룹번호가 부여된다. 각각의 그룹에는 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클이 있을 수 있다.
도 5를 참조하면, 그룹 내의 파티클의 가중치는 내림차순으로 정렬될 수 있다. 일 실시예에 따르면, 가중치 w3 내지 w6은 미리 정해진 범위 내에 있는 가중치이고, 미리 정해진 범위의 상한은
Figure 112013113764235-pat00054
이며, 하한은
Figure 112013113764235-pat00055
이다. 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클은 재추출 과정에서 제외될 수 있다.
Figure 112013113764235-pat00056
, 및
Figure 112013113764235-pat00057
을 구하는 방법은 수학식 8과 같다.
[수학식 8]
Figure 112013113764235-pat00058
여기서,
Figure 112013113764235-pat00059
는 파티클의 개수를 나타내고,
Figure 112013113764235-pat00060
는 사용자의 입력값을 나타내며,
Figure 112013113764235-pat00061
는 0.1 내지 0.9의 값일 수 있다. 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클은 복제과정을 거친 후,
Figure 112013113764235-pat00062
에 저장될 수 있다.
미리 정해진 범위 밖에 있는 가중치 w1, w2, w7, 및 w8은 나머지 파티클 그룹(M)이다.
다시 도 4로 돌아와서, 일 실시예에 따른 이동 기기의 위치를 예측하는 방법은 그룹핑된 지역 내의 파티클들 중에서 저장된 파티클들을 제외한 나머지 파티클들을 n개 만큼 복제할 수 있다(420). 여기서, n은 나머지 파티클들의 개수, 및 나머지 파티클들의 가중치를 기초로 계산될 수 있으며, 수학식 9와 같다.
[수학식 9]
Figure 112013113764235-pat00063
Figure 112013113764235-pat00064
은 n을 나타내고, M은 나머지 파티클들의 개수를 나타내며,
Figure 112013113764235-pat00065
는 가중치를 나타낸다.
일 실시예에 따른 이동 기기의 위치를 예측하는 방법은 저장된 적어도 하나의 파티클, 및 복제된 파티클들에 기초하여, 이동 기기의 위치를 예측할 수 있다(440).
일 실시예에 따르면, 이동 기기의 위치를 예측하는 방법은 상기 그룹핑된 지역 내에 위치한 파티클들 중에서 상기 나머지 파티클들이 보호 지역에 있는지 판단할 수 있다. 미리 정해진 범위의 가중치를 갖는 파티클을 제외한 나머지 파티클들 중에서, 파티클들의 분포를 기록하기 위하여
Figure 112013113764235-pat00066
를 계산할 수 있다. 상기 보호 지역은 수학식 6으로부터 계산된
Figure 112013113764235-pat00067
, 및
Figure 112013113764235-pat00068
를 기초로 설정될 수 있다. 보호 지역에 존재하는 파티클들 중 가중치가 작게 부여된 파티클은 파티클 다양성 유지를 위해 제거되지 않는다. 파티클이 보호 지역에 존재하는지는 수학식 10을 통해 알 수 있다.
[수학식 10]
Figure 112013113764235-pat00069
지역 중심점인
Figure 112013113764235-pat00070
와 K지역에 위치하는 파티클의 좌표인
Figure 112013113764235-pat00071
간의 거리가
Figure 112013113764235-pat00072
Figure 112013113764235-pat00073
를 곱한 값보다 작은 거리에 존재하는 파티클은 보호 지역에 존재하는 것으로 판단된다.
일 실시예에 따르면, 나머지 파티클들이 보호 지역 내에 있다고 판단되고, n이 미리 정해진 개수 미만인 경우, n에 미리 정해진 개수를 더하여 보호 지역내에 위치한 파타클들이 복제될 수 있다. 예를 들어, 보호 지역 내의 파티클 중 n이 1이상인 경우 해당 파티클은 n만큼 복제되고, 보호 지역 내의 파티클 중 n이 1미만인 경우 해당 파티클은 n+1만큼 복제될 수 있다. 이는, 수학식 11과 같다.
[수학식 11]
Figure 112013113764235-pat00074

일 실시예에 따르면, 나머지 파티클들이 보호 지역 외에 있다고 판단되는 경우, n에 가산가중치가 부여되어 나머지 파티클들이 복제될 수 있다. 가산가중치는 도 2에서 설명한 지역적 평준화 가중치이다. 가산가중치가 부여된
Figure 112013113764235-pat00075
은 수학식 12를 통해 계산될 수 있다.
[수학식 12]
Figure 112013113764235-pat00076
여기서,
Figure 112013113764235-pat00077
는 K지역에 위치한 파티클들의 개수를 나타내고, M은 K지역에 위치한 파티클들 중에서 미리 정해진 범위의 가중치를 갖는 파티클들을 제외한 나머지 파티클들의 개수를 나타내며, K는 분할된 지역의 개수이다. 보호지역 외에 위치한 파티클들 중 파티클의 수가 적은 지역에 위치한 파티클의 n은
Figure 112013113764235-pat00078
, 및 K를 이용하여 높은 가산가중치가 부여된다.
Figure 112013113764235-pat00079
은 미리 정해진 범위의 가중치를 갖는 파티클을 제외한 나머지 파티클의 개수에서 각 지역에 분포해야할 파티클의 평균 수치를 구하는 것을 나타낸다. 예를 들어, 100개의 파티클들을 4개의 지역으로 나누었을 경우 각 지역마다 존재 해야 할 파티클의 수는 (100/4)/100으로 0.25가 된다.
Figure 112013113764235-pat00080
은 각 지역에 존재하는 파티클의 실제 수를 구하기 위함이다.
도 6은 본 발명의 다른 실시예에 따른 이동 기기의 위치를 예측하는 방법을 설명하기 위한 도면이다.
다른 실시예에 따른 이동 기기의 위치를 예측하는 방법은 도 3에서 설명한 파티클 재추출 기법이 사용될 수 있다.
다른 실시예에 따른 이동 기기의 위치를 예측하는 방법은 특징점에서 관찰한 복수의 파티클들을 기록하고, 파티클들에 가중치를 부여할 수 있다(610).
다른 실시예에 따른 이동 기기의 위치를 예측하는 방법은 파티클들을 미리 정해진 개수의 그룹으로 그룹핑할 수 있다(620).
다른 실시예에 따른 이동 기기의 위치를 예측하는 방법은 그룹 내에서 보호 지역을 설정할 수 있다(630). 여기서, 보호 지역은 지역 중심점, 및 미리 설정된 보호 반경을 기초로 설정되고, 지역 중심점은 그룹 내에 있는 파티클들의 좌표를 기초로 계산될 수 있다.
다른 실시예에 따른 이동 기기의 위치를 예측하는 방법은 그룹 내에서 가중치가 미리 정해진 범위 이내인 적어도 하나의 파티클, 보호 지역 내에 위치한 적어도 하나의 파티클, 및 보호 지역 외에 위치한 적어도 하나의 파티클을 기초로 파티클 집합을 구성할 수 있다(640).
다른 실시예에 따르면, 보호 지역 내에 위치한 적어도 하나의 파티클과 지역 중심점간의 거리는 중심거리, 및 미리 정해진 보호 반경을 기초로 설정된 거리보다 작을 수 있다. 여기서, 중심거리는 파티클 중심점 위치와 상기 지역 중심점 위치 간의 거리이고, 파티클 중심점 위치는 파티클들의 좌표, 및 상기 파티클들의 가중치를 기초로 계산될 수 있다.
다른 실시예에 따르면, 단계(640)에서, 보호 지역 내에 위치한 적어도 하나의 파티클, 및 보호 지역 외에 위치한 적어도 하나의 파티클은 n만큼 복제될 수 있다. 보호 지역 외에 위치한 적어도 하나의 파티클의 경우, n에 가산가중치가 부여되고, 가산가중치가 부여된 n만큼 보호 지역 외의 적어도 하나의 파티클은 복제될 수 있다. 보호 지역 내에 위치한 적어도 하나의 파티클의 경우, n이 미리 정해진 개수 미만이면, n에 미리 정해진 개수를 더하여 보호 지역내의 적어도 하나의 파티클은 복제될 수 있다.
도 7은 본 발명의 일 실시예에 따른 이동 기기의 위치를 예측하는 장치의 구성을 설명하기 위한 블록도이다.
일 실시예에 따른 이동 기기의 위치를 예측하는 장치는 도 3에서 설명한 파티클 재추출 기법을 통해 구현될 수 있다.
도 7을 참조하면, 일 실시예에 따른 이동 기기의 위치를 예측하는 장치(700)는 메모리(710), 프로세서(720), 및 예측부(730)를 포함한다.
메모리(710)는 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 저장할 수 있다.
프로세서(720)는 특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑할 수 있다. 또한, 프로세서(720)는 그룹핑된 지역 내의 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 제외한 나머지 파티클들을 n개 만큼 각각 복제할 수 있다. 여기서, n은 나머지 파티클들의 개수, 및 상기 나머지 파티클들의 가중치를 기초로 계산될 수 있다.
일 실시예에 따르면, 프로세서(720)는 나머지 파티클들이 보호 지역에 있는지 여부를 판단할 수 있다. 보다 구체적으로, 프로세서(720)는 지역 중심점의 위치와 나머지 파티클들의 위치 간의 거리가 중심거리, 및 미리 정해진 보호 반경을 기초로 설정된 거리보다 작은 경우, 나머지 파티클들이 상기 보호 지역에 있다고 판단할 수 있다. 여기서, 지역 중심점의 위치는 그룹핑된 지역 내에 위치한 파티클들의 좌표에 기초하여 계산될 수 있고, 중심거리는 파티클 중심점의 위치와 지역 중심점의 위치 간의 거리일 수 있다. 파티클 중심점은 특징점 주위에 분포한 복수의 파티클들의 좌표, 및 파티클들의 가중치를 기초로 계산될 수 있다.
일 실시예에 따르면, 프로세서(720)는 나머지 파티클들이 보호 지역 외에 있다고 판단하는 경우, n에 가산가중치를 부여하여 나머지 파티클들을 복제할 수 있다. 또한, 프로세서(720)는 나머지 파티클들이 보호 지역 내에 있다고 판단하는 경우, n이 미리 정해진 개수 미만일 때, 상기 n에 미리 정해진 개수를 더하여 상기 보호 지역 내에 위치한 파티클들을 복제할 수 있다.
예측부(730)는 저장된 적어도 하나 이상의 파티클들, 및 복제된 파티클들에 기초하여, 이동 기기의 위치를 예측할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 이동 기기의 위치를 예측하는 장치의 구성을 설명하기 위한 블록도이다.
다른 실시예에 따른 이동 기기의 위치를 예측하는 장치는 도 3에서 설명한 파티클 재추출 기법을 통해 구현될 수 있다.
도 8을 참조하면 다른 실시예에 따른 이동 기기의 위치를 예측하는 장치(800)는 업데이트부(810), 재추출부(820), 및 예측부(830)를 포함한다.
업데이트부(810)는 특징점에서 관찰한 복수의 파티클들을 기록하고, 상기 파티클들에 가중치를 부여할 수 있다.
재추출부(820)는 파티클들을 미리 정해진 개수의 그룹으로 그룹핑하고, 그룹 내에서 보호 지역을 설정하며, 그룹 내에서 가중치가 미리 정해진 범위 이내인 적어도 하나의 파티클, 보호 지역 내에 위치한 적어도 하나의 파티클, 및 보호 지역 외에 위치한 적어도 하나의 파티클을 기초로 파티클 집합을 구성할 수 있다.
예측부(830)는 파티클 집합을 기초로 이동 기기의 위치를 예측할 수 있다.
다른 실시예에 따르면, 재추출부(820)는 지역 중심점, 및 미리 설정된 보호 반경을 기초로 보호 지역을 설정할 수 있다. 여기서, 지역 중심점은 그룹 내에 있는 파티클들의 좌표를 기초로 계산될 수 있다.
다른 실시예에 따르면, 보호 지역 내에 위치한 상기 적어도 하나의 파티클과 지역 중심점간의 거리는 중심거리, 및 미리 정해진 보호 반경을 기초로 설정된 거리보다 작을 수 있다. 여기서, 중심거리는, 파티클 중심점 위치와 지역 중심점 위치 간의 거리이고, 파티클 중심점 위치는 파티클들의 좌표, 및 파티클들의 가중치를 기초로 계산될 수 있다.
다른 실시예에 따르면, 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 n만큼 복제할 수 있다.
다른 실시예에 따르면, 재추출부(820)는 보호 지역 외에 위치한 적어도 하나의 파티클의 경우, n에 가산가중치를 부여할 수 있다. 또한, 재추출부(820)는 가산가중치가 부여된 n만큼 보호 지역 외에 위치한 적어도 하나의 파티클을 복제할 수 있다.
다른 실시예에 따르면, 재추출부(820)는 보호 지역 내에 위치한 적어도 하나의 파티클의 경우, n이 미리 정해진 개수 미만이면, n에 미리 정해진 개수를 더할 수 있다. 또한, 재추출부(820)는 상기 보호 지역 내에 위치한 적어도 하나의 파티클을 미리 정해진 개수가 더해진 n만큼 복제할 수 있다.
도 9는 본 발명에서 사용된 파티클 재추출 기법과 기존의 파티클 재추출 기법 간의 성능 비교를 설명하기 위한 도면이다.
도 9의 (a)는 재추출 과정에서 살아 남은 파티클 수를 비교한 도면, (b)는 RMS 위치 오차를 비교한 도면, (c)는 RMS 특징점 오차를 비교한 도면, 및 (d)는 파티클 수에 따른 평균 RMS 위치 오차를 비교한 도면이다. 도 9의 (a) 내지 (d)에서, a는 SIR(Sequential Importance Resampling), b는 PSR(Partial stratified Resampling), 및 c는 본 발명에서 사용된 재추출 기법을 나타낸다.
RMS 위치 오차는 주어진 경로와 이동 기기가 예측한 경로 사이의 차이를 말한다. 즉, 이동 기기의 실제 위치와 이동 기기가 예측한 위치 사이의 차이를 RMS 위치 오차라고 한다.
RMS 특징점 오차는 특징점 주위의 파티클들과 특징점 사이의 차이를 말한다. 즉, 실제 특징점의 위치와 이동 기기가 예측한 특징점 위치 사이의 차이를 RMS 특징점 오차라고 한다.
도 9의 (a)를 참조하면, 파티클 재추출 과정이 진행됨에 따라, 기존의 재추출 기법은 급격하게 파티클의 수가 감소하지만, 본 발명에서 사용된 파티클 재추출 기법은 파티클 수의 감소 폭이 기존의 재추출 기법 보다 크지 않다. 또한, 재추출 과정이 진행됨에 따라, 본 발명에서 사용된 파티클 재추출 기법은 기존 재추출 기법보다 많은 파티클 수를 유지한다.
도 9의 (b), 및 (c)를 참조하면, 본 발명에서 사용된 파티클 재추출 기법은 기존의 재추출 기법에 비해 낮은 RMS 위치 오차, 및 RMS 특징점 오차를 갖는다. 즉, 본 발명에서 사용된 파티클 재추출 기법은 기존의 재추출 기법에 비해 낮은 RMS 위치 오차, 및 RMS 특징점 오차를 유지하여, 이동 기기의 위치를 안정적으로 보정할 수 있다.
도 9의 (d)를 참조하면, 파티클 수가 같을 때, 본 발명에서 사용된 파티클 재추출 기법은 기존의 재추출 기법에 비해 RMS 위치 오차가 낮다. 기존 재추출 기법과 비교할 때, 본 발명에서 사용된 파티클 재추출 기법은 파티클의 수가 적음에도 불구하고 이동 기기의 RMS 위치 오차를 효율적으로 줄일 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
700: 이동 기기의 위치 예측 장치.
710: 메모리
720: 프로세서
730: 예측부
800: 이동 기기의 위치 예측 장치.
810: 업데이트부
820: 재추출부
830: 예측부

Claims (21)

  1. 이동 기기의 위치를 예측하는 방법에 있어서,
    특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑하는 단계;
    상기 그룹핑된 지역 내에 위치한 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 메모리에 저장하는 단계;
    상기 그룹핑된 지역 내의 파티클들 중에서 상기 저장된 파티클들을 제외한 나머지 파티클들을 n개 만큼 각각 복제하는 단계; 및
    상기 저장된 적어도 하나의 파티클, 및 상기 복제된 파티클들에 기초하여, 상기 이동 기기의 위치를 예측하는 단계
    를 포함하고,
    상기 그룹핑된 지역 내에 위치한 파티클들 중에서 상기 나머지 파티클들이 보호 지역에 있는지 판단하는 단계
    를 더 포함하고,
    상기 나머지 파티클들이 상기 보호 지역외에 있다고 판단되는 경우, 상기 복제하는 단계는,
    상기 n에 가산가중치를 부여하여 상기 나머지 파티클들을 복제하는, 이동 기기의 위치 예측 방법.
  2. 제1항에 있어서,
    상기 n은,
    상기 나머지 파티클들의 개수, 및 상기 나머지 파티클들의 가중치를 기초로 계산되는,
    이동 기기의 위치 예측 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 나머지 파티클들이 상기 보호 지역 내에 있다고 판단되는 경우, 상기 복제하는 단계는,
    상기 n이 미리 정해진 개수 미만인 경우, 상기 n에 미리 정해진 개수를 더하여 상기 보호 지역내에 위치한 파티클들을 복제하는,
    이동 기기의 위치 예측 방법.
  5. 제1항에 있어서,
    상기 나머지 파티클들이 보호 지역에 있는지 판단하는 단계는,
    지역 중심점의 위치와 상기 나머지 파티클들의 위치 간의 거리가 중심거리, 및 미리 정해진 보호 반경을 기초로 설정된 거리보다 작은 경우, 상기 나머지 파티클들이 상기 보호 지역에 있다고 판단하는,
    이동 기기의 위치 예측 방법.
  6. 제5항에 있어서,
    상기 지역 중심점의 위치는,
    상기 그룹핑된 지역 내에 위치한 파티클들의 좌표에 기초하여 계산되고,
    상기 중심거리는,
    상기 파티클 중심점의 위치와 상기 지역 중심점의 위치 간의 거리인,
    이동 기기의 위치 예측 방법.
  7. 제1항에 있어서,
    상기 파티클 중심점은,
    상기 파티클들의 좌표, 및 상기 파티클들의 가중치를 기초로 계산되는,
    이동 기기의 위치 예측 방법.
  8. 이동 기기의 위치를 예측하는 방법에 있어서,
    특징점에서 관찰한 복수의 파티클들을 기록하고, 상기 파티클들에 가중치를 부여하는 단계;
    상기 파티클들을 미리 정해진 개수의 그룹으로 그룹핑하는 단계;
    상기 그룹 내에서 보호 지역을 설정하는 단계;
    상기 그룹 내에서 상기 가중치가 미리 정해진 범위 이내인 적어도 하나의 파티클, 상기 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 기초로 파티클 집합을 구성하는 단계; 및
    상기 파티클 집합을 기초로 이동 기기의 위치를 예측하는 단계
    를 포함하는 이동 기기의 위치 예측 방법.
  9. 제8항에 있어서,
    상기 그룹 내에서 보호 지역을 설정하는 단계는,
    지역 중심점, 및 미리 설정된 보호 반경을 기초로 상기 보호 지역을 설정하고,
    상기 지역 중심점은,
    상기 그룹 내에 있는 상기 파티클들의 좌표를 기초로 계산되는,
    이동 기기의 위치 예측 방법.
  10. 제9항에 있어서,
    상기 보호 지역 내에 위치한 상기 적어도 하나의 파티클과 상기 지역 중심점간의 거리는 중심거리, 및 미리 정해진 보호 반경을 기초로 설정된 거리보다 작고,
    상기 중심거리는,
    파티클 중심점 위치와 상기 지역 중심점 위치 간의 거리이고,
    상기 파티클 중심점 위치는,
    상기 파티클들의 좌표, 및 상기 파티클들의 가중치를 기초로 계산되는,
    이동 기기의 위치 예측 방법.
  11. 제8항에 있어서,
    상기 파티클 집합을 구성하는 단계는,
    상기 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 n만큼 복제하는 단계
    를 포함하는 이동 기기의 위치 예측 방법.
  12. 제11항에 있어서,
    상기 복제하는 단계는,
    상기 보호 지역 외에 위치한 적어도 하나의 파티클의 경우, 상기 n에 가산가중치를 부여하고, 상기 가산가중치가 부여된 n만큼 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 복제하는,
    이동 기기의 위치 예측 방법.
  13. 제11항에 있어서,
    상기 복제하는 단계는,
    상기 보호 지역 내에 위치한 적어도 하나의 파티클의 경우, 상기 n이 미리 정해진 개수 미만이면, 상기 n에 미리 정해진 개수를 더하여 상기 보호 지역 내에 위치한 적어도 하나의 파티클을 복제하는,
    이동 기기의 위치 예측 방법.
  14. 제1항 내지 제2항 및 제4항 내지 제13항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  15. 이동 기기의 위치를 예측하는 장치에 있어서,
    특징점 주위에 분포한 복수의 파티클들을 파티클 중심점을 기준으로 미리 정해진 개수의 지역들로 그룹핑하고, 상기 그룹핑된 지역 내의 파티클들 중에서 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 제외한 나머지 파티클들을 n개 만큼 각각 복제하는 프로세서;
    상기 미리 정해진 범위 내의 가중치를 갖는 적어도 하나의 파티클을 저장하는 메모리; 및
    상기 저장된 적어도 하나 이상의 파티클들, 및 상기 복제된 파티클들에 기초하여, 상기 이동 기기의 위치를 예측하는 예측부
    를 포함하고,
    상기 프로세서는,
    상기 그룹핑된 지역 내에 위치한 파티클들 중에서 상기 나머지 파티클들이 보호 지역에 있는지 판단하고, 상기 나머지 파티클들이 상기 보호 지역외에 있다고 판단하는 경우, 상기 n에 가산가중치를 부여하여 상기 나머지 파티클들을 복제하는는, 이동 기기의 위치를 예측하는 장치.
  16. 제15항에 있어서,
    상기 n은,
    상기 나머지 파티클들의 개수, 및 상기 나머지 파티클들의 가중치를 기초로 계산되는,
    이동 기기의 위치를 예측하는 장치.
  17. 제15항에 있어서,
    상기 프로세서는,
    상기 나머지 파티클들이 상기 보호 지역 내에 있다고 판단하는 경우, 상기 n이 미리 정해진 개수 미만일 때, 상기 n에 미리 정해진 개수를 더하여 상기 보호 지역내에 위치한 파티클들을 복제하는,
    이동 기기의 위치를 예측하는 장치.
  18. 이동 기기의 위치를 예측하는 장치에 있어서,
    특징점에서 관찰한 복수의 파티클들을 기록하고, 상기 파티클들에 가중치를 부여하는 업데이트부;
    상기 파티클들을 미리 정해진 개수의 그룹으로 그룹핑하고, 상기 그룹 내에서 보호 지역을 설정하며, 상기 그룹 내에서 상기 가중치가 미리 정해진 범위 이내인 적어도 하나의 파티클, 상기 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 기초로 파티클 집합을 구성하는 재추출부; 및
    상기 파티클 집합을 기초로 이동 기기의 위치를 예측하는 예측부
    를 포함하는 이동 기기의 위치를 예측하는 장치.
  19. 제18항에 있어서,
    상기 재추출부는,
    지역 중심점, 및 미리 설정된 보호 반경을 기초로 상기 보호 지역을 설정하고,
    상기 지역 중심점은,
    상기 그룹 내에 있는 상기 파티클들의 좌표를 기초로 계산되는,
    이동 기기의 위치를 예측하는 장치.
  20. 제19항에 있어서,
    상기 보호 지역 내에 위치한 상기 적어도 하나의 파티클과 상기 지역 중심점간의 거리는 중심거리, 및 미리 정해진 보호 반경을 기초로 설정된 거리보다 작고,
    상기 중심거리는,
    파티클 중심점 위치와 상기 지역 중심점 위치 간의 거리이고,
    상기 파티클 중심점 위치는,
    상기 파티클들의 좌표, 및 상기 파티클들의 가중치를 기초로 계산되는,
    이동 기기의 위치를 예측하는 장치.
  21. 제18항에 있어서,
    상기 재추출부는,
    상기 보호 지역 내에 위치한 적어도 하나의 파티클, 및 상기 보호 지역 외에 위치한 적어도 하나의 파티클을 n만큼 복제하는,
    이동 기기의 위치를 예측하는 장치.
KR1020130154506A 2013-12-12 2013-12-12 이동 기기의 위치를 예측하는 방법, 및 장치 KR101547025B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130154506A KR101547025B1 (ko) 2013-12-12 2013-12-12 이동 기기의 위치를 예측하는 방법, 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130154506A KR101547025B1 (ko) 2013-12-12 2013-12-12 이동 기기의 위치를 예측하는 방법, 및 장치

Publications (2)

Publication Number Publication Date
KR20150068633A KR20150068633A (ko) 2015-06-22
KR101547025B1 true KR101547025B1 (ko) 2015-08-24

Family

ID=53516021

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130154506A KR101547025B1 (ko) 2013-12-12 2013-12-12 이동 기기의 위치를 예측하는 방법, 및 장치

Country Status (1)

Country Link
KR (1) KR101547025B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102412323B1 (ko) * 2021-12-08 2022-06-24 (주)피플앤드테크놀러지 수정 파티클 필터를 이용한 연속적 실내 위치 추정 방법
KR102448930B1 (ko) * 2021-12-08 2022-09-30 (주)피플앤드테크놀러지 파티클 필터를 기반으로 가중치 학습을 통한 실내측위 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
강주영, '이동 객체의 궤적 패턴 마이닝과 위치 예측 기법', 이화여자대학교박사학위논문, 2010.08
최은미 외 2인, '파티클 필터 기반의 동시 위치 추적과 WiFi 신호 지도 작성', 정보과학회논문지 소프트웨어 및 응용 제40권 제4호, 2013.04, pp.211-219

Also Published As

Publication number Publication date
KR20150068633A (ko) 2015-06-22

Similar Documents

Publication Publication Date Title
KR20170004556A (ko) 실내 환경에서 이동 로봇의 리로케이션 방법 및 장치
US20140254919A1 (en) Device and method for image processing
KR102378887B1 (ko) 객체 탐지에서의 둘레기반 IoU 손실함수를 통한 효율적인 바운딩 박스 회귀 학습 방법 및 장치
KR20180076815A (ko) Qr 마커와 레이저 스캐너를 이용하여 광범위 실내 공간에서 로봇의 위치를 인식하기 위한 방법 및 장치
JP2016173686A (ja) 情報処理装置
JP7371148B2 (ja) 車両の測位情報の決定方法、装置、記憶媒体及びプログラム
KR101533946B1 (ko) 원의 보로노이 다이어그램의 업데이트 방법과 이를 이용한 입자 간 충돌 시뮬레이션 방법
KR101547025B1 (ko) 이동 기기의 위치를 예측하는 방법, 및 장치
KR101878617B1 (ko) 궤적 데이터 처리 방법 및 궤적 데이터 처리 시스템
KR20160088638A (ko) 모션 플래닝 장치 및 방법
JP6647125B2 (ja) 位置同定システム
CN110749325B (zh) 航迹规划方法和装置
KR101557577B1 (ko) 전자현미경 영상의 입자 분할 방법 및 장치
US11346669B2 (en) Systems and methods for utilizing modeling to automatically generate paths for indoor navigation
CN106470342B (zh) 全局运动估计方法及装置
US9367937B2 (en) Apparatus and method for effective graph clustering of probabilistic graphs
JPWO2020157990A1 (ja) 経路計画装置、経路計画方法、及びプログラム
CN112925321B (zh) 基于人工势场法的船舶路径规划方法、装置和存储介质
CN114545940A (zh) 一种无人设备的控制方法、装置及电子设备
KR102319015B1 (ko) 정밀 점유 지도 작성을 위한 적응형 커널 추론 방법 및 장치
KR20220018371A (ko) 3차원 지형 모델 복원을 위한 점군 데이터 정합 방법 및 그 장치
KR20190129172A (ko) 강인(Robust) 필터, 비지도 군집(Unsupervised clustering)에 기반한 해석적 가중치 최소자승 위치 추정 방법
KR101439733B1 (ko) 마크 및 마크리스를 혼합한 3차원 지도 생성 장치 및 방법
CN113435465A (zh) 图像处理、智能控制方法及设备
KR101730714B1 (ko) 지구자기장과 바이큐빅 보간법을 이용한 이동 로봇의 위치 추정 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 5