WO2018139773A1 - 무선 환경 변화에 강인한 slam 방법 및 장치 - Google Patents

무선 환경 변화에 강인한 slam 방법 및 장치 Download PDF

Info

Publication number
WO2018139773A1
WO2018139773A1 PCT/KR2017/015651 KR2017015651W WO2018139773A1 WO 2018139773 A1 WO2018139773 A1 WO 2018139773A1 KR 2017015651 W KR2017015651 W KR 2017015651W WO 2018139773 A1 WO2018139773 A1 WO 2018139773A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile node
signal
relative position
pattern
signal strength
Prior art date
Application number
PCT/KR2017/015651
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020170155888A external-priority patent/KR20180087827A/ko
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to US16/477,311 priority Critical patent/US11275163B2/en
Publication of WO2018139773A1 publication Critical patent/WO2018139773A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • G01S5/02521Radio frequency fingerprinting using a radio-map
    • G01S5/02524Creating or updating the radio-map
    • G01S5/02525Gathering the radio frequency fingerprints
    • G01S5/02526Gathering the radio frequency fingerprints using non-dedicated equipment, e.g. user equipment or crowd-sourcing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • G01S5/0263Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
    • G01S5/0264Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems at least one of the systems being a non-radio wave positioning system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/02Systems for determining distance or velocity not using reflection or reradiation using radio waves
    • G01S11/06Systems for determining distance or velocity not using reflection or reradiation using radio waves using intensity measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/021Calibration, monitoring or correction
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Abstract

무선 환경 변화에 강인한 SLAM(Simultaneous Localization And Mapping) 방법 및 장치에 관한 것으로, 이동 노드의 움직임 감지에 기초하여 이동 노드의 상대 위치를 추정하고, 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴과 이동 노드가 위치하는 지역에서의 신호 세기 분포와의 비교에 기초하여 이동 노드의 상대 위치를 보정하고, 이와 같이 보정된 상대 위치를 이용하여 지역의 경로를 표현함으로써 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악하더라도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다.

Description

무선 환경 변화에 강인한 SLAM 방법 및 장치
미지 환경에서 이동 노드의 위치를 추정함과 동시에 미지 환경에 대한 지도를 작성할 수 있는 SLAM 방법 및 장치에 관한 것이다.
최근, 드론과 같은 이동 로봇 분야에서 SLAM(Simultaneous Localization And Mapping) 기술에 대한 관심이 높아지고 있다. SLAM은 로봇이 미지의 환경을 돌아다니면서 로봇에 부착되어 있는 센서만으로 외부의 도움 없이 자신의 위치를 인식하면서 미지 환경에 대한 지도를 작성하는 기술로서 자율 주행을 위한 핵심기술로 부각되고 있다. 종래의 SLAM은 여러 개의 물리적인 랜드마크를 기준으로 이동 로봇의 위치를 추정하였다. 이러한 랜드마크의 식별을 위해서는 라이다(LiDAR), 카메라, 초음파 센서 등과 같은 센서가 필요하다.
라이다는 해상도가 매우 높으나 고가이고 소형화에 한계가 있어 스마트폰 등과 같은 경박단소한 장치에는 적용되기가 어렵다. 카메라는 그 출력이 영상 데이터임에 따라 영상 데이터의 처리 능력이 낮은 스마트폰 등에는 마찬가지로 적용되기가 어렵다. 초음파 센서는 소형화가 가능하나 해상도가 매우 낮아 고정확도의 지도를 작성하는 데에는 한계가 있다. 이로 인해, SLAM은 재난 지역에 투입되는 이동 로봇 등에 특수 용도로 관심을 받고 있을 뿐, 이동 로봇 외에 스마트폰이나 차량의 네비게이션 시스템의 측위를 위한 지도 작성용으로는 주목을 받지 못하고 있다.
스마트폰이나 차량의 네비게이션 시스템의 측위를 위해 상용화되거나 연구되고 있는 지도로는 GPS(Global Positioning System) 기반의 지도와 무선측위용 지도를 대표적으로 들 수 있다. 이러한 종래의 지도는 사람이 그 측위 서비스가 제공될 지역을 돌아다니면서 지형 정보나 신호 정보를 수집하는 방식으로 작성되었기 때문에 지도 작성에 많은 시간과 비용이 소비된다는 문제점이 있었다. 특히, GPS는 인공위성으로부터 송출되는 전파가 도달할 수 없는 실내 공간에서는 측위가 불가능하며, 고층빌딩에 의한 전파 차단, 반사 등으로 인해 도심에서 측위 정확도가 심하게 저하되는 문제가 있었다.
최근, 세계 각 국의 자동차 제조사와 구글, 인텔 등의 글로벌 기업은 자율 주행 자동차의 연구 개발에 열을 올리고 있다. 실외에서의 부분 자율 주행에 대해서는 어느 정도 성과를 보이고 있으나, GPS의 실내 측위 불가능으로 인해 실외 및 실내를 아우르는 완전 자율 주행은 아직 요원한 상태이다. 이러한 GPS의 문제점을 해결하기 위해, 실내 공간에 존재하는 무선 신호를 이용하여 사용자나 차량의 위치를 추정하는 무선 측위 기술에 많은 관심이 모아지고 있다. 무선 측위 기술은 현재 상용화되어 서비스되고 있으나, GPS에 비해 측위 정확도가 매우 떨어져 다양한 방식의 무선 측위 기술이 개발 중에 있다.
무선 통신은 근거리 무선통신과 광역 무선통신으로 분류될 수 있다. 근거리 무선 통신의 대표적인 예로는 와이파이(Wifi), 블루투스(Bluetooth), 지그비(Zigbee) 등을 들 수 있고, 광역 무선통신의 대표적인 예로는 3G(3rd Generation), 4G(4th Generation), 로라(Lora) 등을 들 수 있다. LTE(Long Term Evolution)는 4G 무선통신의 일종이다. 블루투스, 지그비 등의 근거리 신호는 실내 공간에 사용자의 필요에 따라 일시적으로 발생했다가 사라지는 특성으로 인해 측위용으로는 적합하지 않다. 현재, 대부분의 실내에는 와이파이 신호와 LTE 신호가 분포하고 있는 것으로 알려져 있다.
이에 따라, 2.4GHz 대역의 와이파이 신호를 이용하여 측위를 실시하는 WPS(Wifi Positioning System)가 각광을 받고 있다. 와이파이 신호를 이용한 측위 기법에는 대표적으로 핑거프린트(fingerprint) 기법을 들 수 있다. 이 기법은 실내 공간을 격자 구조로 분할하고 각 단위 지역에서 신호 세기 값을 수집하고 데이터베이스화하여 라디오맵(radio map)을 구축한다. 이와 같이 라디오맵이 구축된 상태에서, 사용자 위치에서 수신된 신호의 세기를 라디오맵의 데이터와 비교함으로써 사용자의 위치로 추정하게 된다. 이 기법은 실내의 공간 특성이 반영된 데이터를 수집하기 때문에 삼각측량 기법에 비해 측위 정확도가 매우 높다는 장점을 갖고 있다. 무선 환경이 양호하고 실내 공간을 촘촘하게 분할하여 많은 신호를 수집할수록 측위 정밀도가 높아지는데 최대 2~3 미터까지 향상될 수 있는 것으로 보고되고 있다.
핑거프린트 기법은 라디오맵을 구축할 때의 시점에서 수집된 신호 세기와 측위 수행 시점에 수집된 신호 세기의 차이가 거의 없을 경우, 비교적 정확한 측위를 수행한다. 그러나, 현실 세계에서 빈번하게 발생하는 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등의 무선 환경의 변화는 과거에 구축된 라디오맵의 데이터와 차이가 있는 신호 세기의 수집으로 이어져 측위 정확도에 심각한 영향을 주게 된다. 이에 따라, 핑거프린트 기법에 KNN(K-Nearest Neighbor), 파티클 필터(particle filter) 등을 적용하여 측위 정확도를 높이고자 하는 다양한 시도들이 이루어지고 있다.
무엇보다도, 와이파이 신호는 근거리 무선통신의 특성상, 도심 일부에만 분포되어 있다는 현실로 인해 핑거프린트 기법은 실외 및 실내의 전 지역에 대한 측위 서비스가 요구되는 차량 네비게이션 시스템이나 자율주행에서는 단독으로 사용될 수 없다는 태생적인 한계를 갖고 있다. LTE 신호는 실내 및 실외 전역에 고르게 분포되어 있으나, 신호 세기의 변화가 크지 않은 지역이 넓어 측위 정확도를 높이는 데에 한계가 있다. 이와 같이, GPS 기반의 지도는 실내를 지원할 수 없고 무선측위용 지도는 그 측위 정확도를 높이는 데에 한계가 있을 뿐만 아니라 사람이 직접 그 측위 서비스가 제공될 지역의 지형 정보나 신호 정보를 수집함으로 인해 지도 작성에 많은 시간과 비용이 소비된다는 문제점이 있었다.
통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악하더라도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있고, 물리적인 랜드마크 식별을 위한 별도의 센서 없이도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있는 무선 환경 변화에 강인한 SLAM 방법 및 장치를 제공하는 데에 있다. 또한, 상기된 SLAM 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다. 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.
본 발명의 일 측면에 따른 이동 노드의 SLAM(Simultaneous Localization And Mapping) 방법은 이동 노드의 움직임 감지에 기초하여 상기 이동 노드의 상대 위치를 추정하는 단계; 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계; 상기 생성된 신호 세기의 변화 패턴과 상기 이동 노드가 위치하는 지역에서의 신호 세기 분포와의 비교에 기초하여 상기 추정된 상대 위치를 보정하는 단계; 및 상기 보정된 상대 위치를 이용하여 상기 지역의 경로를 표현함으로써 상기 지역에 대한 지도를 작성하는 단계를 포함한다.
상기 적어도 하나의 신호 세기의 변화 패턴은 상기 복수의 시점에서 추정된 이동 노드의 복수의 상대 위치에서 복수 회 수신된 적어도 하나의 신호의 세기의 연속적 나열로 표현되는 적어도 하나의 신호 세기의 변화 패턴일 수 있다. 상기 SLAM 방법은 상기 생성된 신호 세기의 변화 패턴과 상기 신호 세기 분포와의 비교에 기초하여 상기 복수의 시점 중 현재 시점에서 수신된 적어도 하나의 신호에 대한 이동 노드의 수신 위치를 추정하는 단계를 더 포함하고, 상기 상대 위치를 보정하는 단계는 상기 추정된 수신 위치의 좌표값을 이용하여 상기 추정된 상대 위치의 좌표값을 교정함으로써 상기 추정된 상대 위치를 보정할 수 있다.
상기 SLAM 방법은 상기 생성된 신호 세기의 변화 패턴과 상기 신호 세기 분포를 비교함으로써 상기 신호 세기 분포 내에서 상기 생성된 신호 세기의 변화 패턴과 가장 유사한 패턴을 갖는 부분을 색출하는 단계를 더 포함하고, 상기 수신 위치를 추정하는 단계는 상기 색출된 부분이 지시하는 상기 지역에서의 절대 위치를 상기 이동 노드의 수신 위치로 추정할 수 있다.
상기 SLAM 방법은 상기 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화를 그래프화한 기하학적인 서피스(surface) 형태의 패턴과 상기 신호 세기 분포 내에서 상기 서피스 형태와 가장 유사한 형태를 갖는 서피스 부분을 색출하는 단계를 더 포함하고, 상기 수신 위치를 추정하는 단계는 상기 색출된 서피스 부분이 지시하는 상기 지역에서의 절대 위치를 상기 이동 노드의 수신 위치로 추정할 수 있다.
상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계는 다차원 공간의 제 1 좌표축에 어느 하나의 고정 노드의 아이디를 매핑하고, 제 2 좌표축에 상기 이동 노드의 상대 위치를 매핑하고, 제 3 좌표축에 상기 어느 하나의 고정 노드로부터 송출된 신호의 세기를 매핑함으로써 결정되는 다차원 공간의 지점에 도트를 표시하는 방식으로 상기 기하학적인 서피스 형태의 패턴을 생성할 수 있다.
상기 상대 위치를 보정하는 단계는 상기 추정된 수신 위치의 좌표값과 상기 신호 세기 분포 내 측위점들 중 상기 수신 위치의 좌표값에 가장 가까운 측위점의 좌표값의 차이를 최소로 하는 방향으로 상기 추정된 상대 위치의 좌표값을 교정하고, 상기 측위점들은 상기 이동 노드의 이동 경로 상에서 상기 이동 노드의 상대 위치가 측정된 지점들일 수 있다.
상기 상대 위치를 보정하는 단계는 상기 추정된 상대 위치의 좌표값과 상기 추정된 상대 위치를 기준으로 하는 이동 노드의 다른 상대 위치의 좌표값 사이의 오차를 최소로 함과 동시에 상기 추정된 수신 위치의 좌표값과 상기 신호 세기 분포 내 측위점들 중 상기 수신 위치의 좌표값에 가장 가까운 측위점의 좌표값의 차이를 최소로 하는 방향으로 상기 추정된 상대 위치의 좌표값을 교정할 수 있다.
상기 상대 위치를 보정하는 단계는 상기 추정된 수신 위치인 도착점의 좌표값과 상기 신호 세기 분포 내 측위점들 중 상기 도착점의 좌표값에 가장 가까운 측위점인 시작점의 좌표값의 차이를 최소로 하는 방향으로 상기 추정된 상대 위치의 좌표값을 교정하고, 상기 이동 노드는 상기 시작점으로부터 출발하여 루트 형태의 경로를 돌아 상기 시작점과 지리적으로 동일 위치에 해당하는 상기 도착점에 도착할 수 있다.
상기 수신 위치를 추정하는 단계는 상기 적어도 하나의 고정 노드로부터 송출된 적어도 하나의 신호의 세기를 측정하는 단계; 상기 측정된 적어도 하나의 신호 세기와 상기 추정된 이동 노드의 상대 위치로부터 상기 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계; 및 상기 생성된 적어도 하나의 신호 세기의 변화 패턴과 상기 지역에서의 신호 세기의 분포와의 비교에 기초하여 상기 수신 위치를 추정하는 단계를 포함할 수 있다.
상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계는 상기 추정된 상대 위치에서 상기 적어도 하나의 고정 노드로부터 수신된 적어도 하나의 신호 세기의 패턴을 나타내는 패턴 데이터를 상기 상대 위치 추정 이전에 추정된 상대 위치에 대한 패턴 데이터에 누적시킴으로써 상기 적어도 하나의 신호 세기의 변화 패턴을 생성할 수 있다. 상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계는 상기 측정된 각 신호 세기를 상기 추정된 상대 위치에 연관시켜 나타내는 공간도메인 데이터로부터 상기 패턴 데이터를 생성할 수 있다.
상기 신호 세기를 측정하는 단계, 상기 상대 위치를 추정하는 단계, 상기 패턴을 생성하는 단계, 및 상기 상대 위치를 보정하는 단계는 상기 복수의 시점 별로 반복적으로 수행되고, 상기 지도를 작성하는 단계는 상기 복수의 시점에서 보정된 복수의 상대 위치의 좌표값을 나열하여 기록함으로써 상기 지역의 경로를 표현하고, 상기 각 시점에서 보정된 상대 위치의 좌표값에 매핑시켜 상기 각 시점의 동일 시점에서 수신된 적어도 하나의 신호의 세기를 기록함으로써 상기 지도를 작성할 수 있다.
본 발명의 다른 측면에 따라 상기 SLAM 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
본 발명의 또 다른 측면에 따른 이동 노드의 SLAM(Simultaneous Localization And Mapping) 장치는 이동 노드의 움직임 감지에 기초하여 상기 이동 노드의 상대 위치를 추정하는 상대 측위부; 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴에 기초하여 상기 복수의 시점 중 현재 시점에서 수신된 신호에 대한 이동 노드의 수신 위치를 추정하는 무선 측위부; 상기 추정된 수신 위치의 좌표값을 이용하여 상기 추정된 상대 위치의 좌표값을 교정함으로써 상기 추정된 상대 위치를 보정하는 위치 보정부; 및 상기 보정된 상대 위치를 이용하여 상기 이동 노드가 위치하는 지역의 경로를 표현함으로써 상기 지역에 대한 지도를 작성하는 지도 작성부를 포함한다.
상기 무선 측위부는 적어도 하나의 고정 노드로부터 송출된 적어도 하나의 신호의 세기를 측정하는 신호 처리부; 상기 측정된 적어도 하나의 신호 세기와 상기 추정된 이동 노드의 상대 위치로부터 상기 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 생성하는 패턴 생성부; 및 상기 생성된 적어도 하나의 신호 세기의 변화 패턴과 상기 지역에서의 신호 세기 분포와의 비교에 기초하여 상기 이동 노드의 수신 위치를 추정하는 수신위치 추정부를 포함한다.
상기 SLAM 장치는 상기 패턴 생성부에 의해 생성된 패턴 데이터를 누적시키기 위한 버퍼를 더 포함하고, 상기 패턴 생성부는 상기 추정된 상대 위치에서 상기 적어도 하나의 고정 노드로부터 수신된 적어도 하나의 신호 세기의 패턴을 나타내는 패턴 데이터를 상기 버퍼에 저장되어 있는 패턴 데이터에 누적시켜 저장함으로써 상기 적어도 하나의 신호 세기의 변화 패턴을 생성할 수 있다.
상기 SLAM 장치는 상기 지역에서의 신호 세기의 분포를 나타내는 지도가 저장되는 스토리지를 더 포함하고, 상기 무선 측위부는 상기 신호 세기의 변화 패턴과 상기 스토리지에 저장된 지도의 신호 세기 분포와의 비교에 기초하여 상기 수신 위치를 추정할 수 있다.
이동 노드의 움직임 감지에 기초하여 이동 노드의 상대 위치를 추정하고, 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴과 이동 노드가 위치하는 지역에서의 신호 세기 분포와의 비교에 기초하여 이동 노드의 상대 위치를 보정하고, 이와 같이 보정된 상대 위치를 이용하여 지역의 경로를 표현함으로써 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악하더라도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다. 이와 같이, 이동 노드의 위치 추정과 지도 작성이 동시에 가능하기 때문에 사람이 직접 지형 정보나 신호 정보를 수집하는 방식에 비해 지도 작성에 소비되는 시간과 비용이 대폭 절감될 수 있다.
복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴과 이동 노드가 위치하는 지역에서의 신호 세기 분포와의 비교에 기초하여 복수의 시점 중 현재 시점에서 수신된 적어도 하나의 신호에 대한 이동 노드의 수신 위치를 추정하고, 이와 같이 추정된 수신 위치의 좌표값을 이용하여 이동 노드의 상대 위치의 좌표값을 교정함으로써 상대 측위의 결함과 무선 측위의 결함간의 상호 보완을 통해 무선 환경 변화, 경로 변화 등 다양한 환경 변화에도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다.
종래의 SLAM과 달리 물리적인 랜드마크를 필요로 하지 않으며, 그 대신에 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴과 이동 노드가 위치하는 지역에서의 신호 세기 분포 내의 대응 패턴간의 유사도가 일종의 랜드마크의 역할을 하기 때문에 종래의 SLAM의 영상 처리에 비해 복잡도가 매우 낮은 패턴 유사도를 기반으로 이동 노드의 위치를 추정함과 동시에 지도를 작성할 수 있다. 그 결과, 스마트폰 등과 같이 경박단소한 이동 노드에서도 물리적인 랜드마크 식별을 위한 별도의 센서 없이 SLAM 알고리즘이 원활하게 실행될 수 있다.
LTE 신호와 같이, 넓은 지역에 걸쳐 신호 세기의 변화가 거의 없는 무선 신호를 이용하여 이동 노드의 위치를 추정하는 경우에도 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴을 이용하여 이동 노드의 위치를 정확하게 추정할 수 있다. 이동 노드의 이동 경로 상에서 서로 인접해 있는 측위 지점들간에 신호 세기의 변화가 거의 없는 경우라도 본 발명의 무선 측위에 사용되는 신호 세기의 변화 패턴의 길이에 해당하는 이동 거리 내에서는 이동 노드의 정확한 위치 추정이 가능한 정도로 LTE 신호의 세기가 충분히 변화하기 때문이다.
이동 경로 상의 측정 지점들간에 신호 세기의 변화가 거의 없는 LTE 신호를 이용하여 이동 노드의 위치를 정확하게 추정할 수 있기 때문에 실내를 넘어서 실외를 모두 커버할 수 있는 지도의 작성을 가능하게 할 수 있다. 결과적으로, 건물 실내와 도심 곳곳에 광범위하게 분포하는 LTE 신호를 이용하여 고층빌딩의 영향 없이 도심에서도 높은 정확도의 실내 측위 및 실외 측위가 모두 가능한 지도를 제공할 수 있음에 따라 현재 차량 네비게이션 시스템에서 가장 널리 사용되고 있으나 실내 측위가 불가능하며 도심에서 측위 정확도가 심하게 저하되는 GPS 기반의 지도를 대체할 수 있고 실외 및 실내를 아우르는 완전 자율 주행의 실현을 앞당길 수 있다.
도 1은 본 발명의 일 실시예에 따른 무선통신 시스템의 구성도이다.
도 2는 도 1에 도시된 이동 노드(1)의 SLAM 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 SLAM 방법의 흐름도이다.
도 4는 도 3에 도시된 130 단계의 상세 흐름도이다.
도 5는 도 4의 430 단계에서의 패턴 형성 원리를 설명하기 위한 도면이다.
도 6은 본 실시예의 SLAM 알고리즘에 사용되는 신호 세기의 변화 패턴을 생성하기 위한 3차원 공간 좌표계를 도시한 도면이다.
도 7은 본 실시예의 SLAM에 사용되는 패턴 데이터의 누적을 테이블 형태로 나타낸 도면이다.
도 8은 본 실시예의 SLAM에 따른 지도 작성의 대상 지역의 일례를 도시한 도면이다.
도 9는 본 실시예의 SLAM에 사용되는 신호 세기의 변화 패턴이 생성되는 일례를 도시한 도면이다.
도 10-11은 본 실시예의 SLAM 알고리즘에 따라 이동 노드(1)의 수신 위치가 추정되는 예들을 도시한 도면이다.
도 12는 도 8에 도시된 대상 지역에서 PDR 알고리즘에 의해 추정된 이동 노드(1)의 이동 궤적도이다.
도 13은 본 실시예에 따른 SLAM에 의한 상대 위치 보정의 일례를 도시한 도면이다.
도 14-15는 종래의 무선 측위 알고리즘과 본 실시예의 무선 측위 알고리즘에 대한 SLAM 성능 시험을 비교한 도면이다.
도 16은 본 실시예의 SLAM 알고리즘에 의해 작성된 지도의 예들을 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 이하에서는 사용자에 의해 휴대되어 이동하는 스마트폰, 차량에 탑재되어 이동하는 네비게이션 시스템, 독립 개체로서 스스로 이동하는 이동 로봇과 같이 측위의 대상이 되는 모든 이동체를 포괄하여 이동 노드로 통칭하기로 한다. 또한, 와이파이 망의 액세스 포인트(AP, Access Point), LTE 망의 기지국(base station)과 같이, 어떤 지역에 고정 설치되어 이동 노드의 무선 통신을 중계하는 통신 기기를 포괄하여 "고정 노드"로 통칭하기로 한다. 또한, 고정 노드로부터 송출되는 RF(Radio Frequency) 신호를 간략하게 "신호"로 호칭하기로 한다.
이하에서 설명될 본 발명의 실시예는 미지 환경에서 이동 노드의 위치를 추정함과 동시에 미지 환경에 대한 지도를 작성할 수 있는 SLAM(Simultaneous Localization And Mapping) 방법 및 장치에 관한 것으로서, 특히 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악하더라도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있고, 물리적인 랜드마크 식별을 위한 별도의 센서 없이도 이동 노드의 위치를 정확하게 추정함과 동시에 지역 전체에 걸쳐 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있는 무선 환경 변화에 강인한 SLAM 방법 및 장치에 관한 것이다. 이하에서는 이러한 SLAM 방법 및 SLAM 장치를 간략하게 "SLAM 방법"과 "SLAM 장치"로 호칭하기로 한다.
도 1은 본 발명의 일 실시예에 따른 무선통신 시스템의 구성도이다. 도 1을 참조하면, 본 실시예에 따른 무선통신 시스템은 복수의 이동 노드(1), 복수의 고정 노드(2), 및 측위 서버(3)로 구성된다. 복수의 이동 노드(1) 각각은 사용자에 의해 휴대되거나 차량에 탑재되어 이동하거나 독립 개체로서 스스로 이동하면서 적어도 한 종류의 무선통신 망을 통해 다른 노드와의 무선통신을 수행한다. 일반적으로, 각 이동 노드(1)는 적어도 두 종류의 무선통신 망, 예를 들어 와이파이 망과 LTE 망을 통해 무선 통신을 수행한다. 복수의 고정 노드(2) 각각은 각 이동 노드(1)가 무선통신 망에 접속하여 다른 노드와의 무선 통신을 수행할 수 있도록 각 이동 노드(1)의 무선 통신을 중계한다. 이동 노드(1)가 와이파이 망을 통해 무선 통신을 수행하는 경우에 고정 노드는 액세스 포인트일 수 있고, LTE 망을 통해 무선 통신을 수행하는 경우에 고정 노드는 기지국일 수 있다.
측위 서버(3)는 복수의 이동 노드(1) 중 적어도 하나의 이동 노드로부터 제공된 지도를 저장한다. 복수의 이동 노드(1) 중 어느 하나의 이동 노드가 무선 측위 서비스가 제공될 지역 전체의 지도를 작성하여 측위 서버(3)에 제공할 수 있다. 무선 측위 서비스가 제공될 지역은 분할되어 복수의 이동 노드(1) 각각에 할당될 수 있다. 각 이동 노드(1)는 그 각각에 할당된 지역의 지도를 작성하여 측위 서버(3)에 제공할 수 있다. 측위 서버(3)는 복수의 이동 노드(1)로부터 제공된 지도를 조합함으로써 무선 측위 서비스가 제공될 지역 전체의 지도를 완성할 수 있다. 측위 서버(3)는 이와 같이 저장된 지도를 무선 측위를 하고자 하는 이동 노드에 제공한다. 하기된 바와 같이, 측위 서버(3)에 저장된 지도는 수많은 기준점과 각 기준점에서의 신호 세기가 기록된 일종의 라디오맵을 포함하기 때문에 본 실시예에 따른 서피스 상관도 기반의 무선 측위 외에도 일반적인 다른 무선 측위에도 사용될 수 있다.
도 2는 도 1에 도시된 이동 노드(1)의 SLAM 장치의 구성도이다. 도 2를 참조하면, 도 1에 도시된 이동 노드(1)의 SLAM 장치는 무선통신부(10), 센서부(20), 스토리지(30), 버퍼(40), 상대 측위부(50), 및 무선 측위부(60), 위치 보정부(70), 및 지도 작성부(80)로 구성된다. 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이러한 구성 요소들은 특정 기능을 제공하는 하드웨어로 구현될 수도 있고, 특정 기능을 제공하는 소프트웨어가 기록된 메모리, 프로세서, 버스 등의 조합으로 구현될 수도 있음을 이해할 수 있다. 상기된 각 구성 요소는 반드시 별개의 하드웨어로 구현되는 것은 아니며, 여러 개의 구성 요소가 공통 하드웨어, 예를 들어 프로세서, 메모리, 버스 등의 조합에 의해 구현될 수도 있다.
상술한 바와 같이, 이동 노드(1)는 사용자에 의해 휴대되는 스마트폰일 수도 있고, 차량에 탑재되는 네비게이션 시스템일 수도 있고, 독립 개체로서 스스로 이동하는 이동 로봇일 수도 있다. 도 2에 도시된 실시예는 SLAM 장치에 관한 것으로서 도 2에 도시된 SLAM 장치의 구성 외에 스마트폰의 다른 구성이나 네비게이션 시스템의 다른 구성이나 이동 로봇의 다른 구성이 도 2에 도시되면 본 실시예의 특징이 흐려질 수 있기 때문에 생략된다. 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이동 노드(1)가 스마트폰, 네비게이션 시스템, 이동 로봇 등으로 구현될 경우에 도 2에 도시된 구성 요소 외에 다른 구성 요소가 추가될 수 있음을 이해할 수 있다.
무선통신부(10)는 적어도 하나의 무선통신망을 통해 신호를 송수신한다. 센서부(20)는 이동 노드(1)의 움직임을 감지하는 적어도 하나의 센서로 구성된다. 센서부(20)는 이동 노드(1)의 가속도를 측정하는 가속도 센서(acceleration sensor)와 이동 노드(1)의 각속도를 측정하는 자이로 센서(gyro sensor)로 구성될 수 있다. 이동 노드(1)가 어떤 종류의 기기로 구현되는가에 따라 센서부(20)의 센서 종류가 달라질 수 있다. 이동 노드(1)가 스마트폰으로 구현되는 경우, 센서부(20)는 상술한 바와 같은 가속도 센서와 자이로 센서로 구성될 수 있다. 이동 노드(1)가 차량에 탑재되는 네비게이션 시스템으로 구현되는 경우, 센서부(20)는 상술한 바와 같은 가속도 센서와 자이로 센서로 구성될 수도 있고, 이러한 센서 대신에 엔코더(encoder), 지자기 센서 등이 사용될 수도 있다.
스토리지(30)에는 이동 노드(1)가 위치하는 지역에서의 신호 세기 분포를 나타내는 지도가 저장된다. 여기에서. 이동 노드(1)가 위치하는 지역이란 지도 작성의 대상이 되는 지역(이하에서 "대상 지역"으로 간략하게 호칭할 수 있음)을 말하며, 어떤 건물의 실내와 같은 소규모 지역이 될 수도 있고, 도심과 같은 대규모 지역이 될 수도 있다. 이동 노드(1)가 어떤 지역에 대한 지도를 작성하고자 하는 경우, 이동 노드(1)는 그 지역 내의 모든 경로를 돌아다니면서 그 지역 내의 모든 고정 노드(2)로부터 송출되는 신호의 세기를 수집하고, 이와 같이 수집된 신호 세기의 분포 지도를 스토리지(30)에 저장할 수 있다. 이동 노드(1)가 대상 지역 내의 모든 경로를 여러 차례 완주하면서 도 3에 도시된 SLAM 방법을 반복적으로 실행하는 과정을 통해 스토리지(30)에 저장된 신호 세기 분포 지도는 그 완주 회수만큼 갱신된다. 이와 같이, 스토리지(30)에 저장된 신호 세기 분포 지도는 측위 서버(3)에 제공된다.
이동 노드(1)가 대상 지역 내의 모든 경로를 한 차례 완주할 때마다 이동 스토리지(30)에 저장된 지도는 갱신되며, 이와 같은 지도의 갱신을 통해 스토리지(30)에 저장된 지도의 정확도는 점차적으로 높아지게 된다. 대상 지역 내의 경로 완주 회수가 많을수록 스토리지(30)에 저장된 지도의 정확도가 높아지게 되나 지도 완성에 오랜 시간이 소요되므로, 스토리지(30)에 저장된 지도의 정확성과 소요 시간을 교량하여 지도 완성에 요구되는 완주 회수가 결정됨이 바람직하다. 이러한 신호 세기 분포 지도는 각 신호 세기의 수치 값이 집합된 테이블 형태로 표현되어 스토리지(30)에 저장될 수도 있고, 각 신호 세기를 나타내는 도트나 막대가 연결된 그래프 패턴 형태로 표현되어 스토리지(30)에 저장될 수도 있다.
본 실시예에서의 서피스 상관도 기반의 무선 측위 외에도 일반적인 다른 무선 측위에도 사용될 수 있는 일반적인 라디오맵 형태의 지도가 제공되기 위해서는 전자의 테이블 형태로 스토리지(30)에 저장됨이 바람직하다. 이하에서는 이러한 지도 작성을 위해 대상 지역의 곳곳을 돌아다니는 이동 노드(1)의 이동 경로 상에서 이동 노드(1)의 상대 위치가 측정되는 지점을 "측위점(positioning point)"로 간략하게 호칭하기로 한다. 핑거프린트의 라디오맵 분야에서는 이러한 측위점은 기준점으로 호칭될 수도 있고, 이동 로봇의 SLAM 분야에서는 노드로 호칭될 수도 있다. 버퍼(40)는 패턴 생성부(15)에 의해 생성된 패턴 데이터를 누적시키기 위한 용도로 사용된다.
상대 측위부(50)는 센서부(20)에 의한 이동 노드(1)의 움직임 감지에 기초하여 이동 노드(1)의 상대 위치를 추정한다. 상대 측위부(50)는 본 실시예가 속하는 기술분야에서 널리 알려진 PDR(Pedestrian Dead Reckoning) 알고리즘 또는 DR(Dead Reckoning) 알고리즘을 사용하여 이동 노드(1)의 상대 위치를 추정할 수 있다. 무선 측위부(60)는 현재 시점과 적어도 하나의 과거 시점인 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴에 기초하여 복수의 시점 중 현재 시점에서 수신된 신호에 대한 이동 노드(1)의 수신 위치를 추정한다. 여기에서, 이동 노드(1)의 상대 위치란 이동 노드(1)의 다른 위치를 기준으로 한 상대적인 위치를 의미하며, 이동 노드(1)의 수신 위치란 이동 노드(1) 주변의 적어도 하나의 고정 노드(2)로부터 송출된 적어도 하나의 신호를 수신하는 이동 노드(1)의 현재 위치를 의미한다. 도 2를 참조하면, 무선 측위부(60)는 스캔부(61), 신호 처리부(62), 도메인 변환부(63), 패턴 생성부(64), 비교부(65), 및 수신위치 추정부(66)로 구성된다.
도 3은 본 발명의 일 실시예에 따른 SLAM 방법의 흐름도이다. 도 3을 참조하면, 본 실시예에 따른 SLAM 방법은 도 2에 도시된 이동 노드(1)의 SLAM 장치에 의해 실행되는 다음과 같은 단계들로 구성된다. 이하에서는 도 3을 참조하면서, 도 2에 도시된 상대 측위부(50)와 무선 측위부(60)를 상세하게 설명하기로 한다. 110 단계에서 이동 노드(1)의 무선 측위부(60)의 스캔부(61)는 무선통신부(10)를 통하여 무선통신의 주파수 대역을 주기적으로 스캔함으로써 적어도 하나의 고정 노드(2)로부터 송출된 적어도 하나의 신호를 수신한다. 스캔부(61)의 스캔 주기의 길이에 따라 아래에서 설명될 시간도메인 데이터의 샘플링 레이트(sampling rate)가 결정된다. 무선통신부(10)의 스캔 주기가 짧을수록 아래에서 설명될 시간도메인 데이터의 샘플링 레이트가 높아지게 되고, 결과적으로 본 실시예에 따라 추정된 이동 노드(1)의 수신 위치의 정밀도가 향상될 수 있다.
어떤 고정 노드(2)로부터 송출된 신호에는 그 고정 노드(2)의 아이디가 실려 있기 때문에 고정 노드(2)로부터 송출된 신호로부터 그 고정 노드(2)의 아이디를 알 수 있다. 이동 노드(1)의 현재 위치에서 그 통신가능범위 내에 하나의 고정 노드(2)만이 존재하는 경우라면, 무선통신부(10)는 스캔 과정을 통하여 하나의 고정 노드(2)로부터 하나의 신호를 수신하게 된다. 이동 노드(1)의 현재 위치에서 그 통신가능범위 내에 복수의 고정 노드(2)가 존재하는 경우라면, 무선통신부(10)는 스캔 과정을 통하여 복수의 고정 노드(2)로부터 그 고정 노드(2)의 개수만큼의 복수의 신호를 수신하게 된다.
도 1에는 이동 노드(1)가 세 개의 고정 노드(21, 22, 23)로부터 3 개의 신호를 수신하는 예가 도시되어 있다. 다른 하나의 고정 노드(24)는 이동 노드(1)의 통신가능범위 밖에 위치해 있음을 알 수 있다. 본 실시예는 무선통신 인프라가 비교적 잘 갖춰진 지역에 적용될 수 있기 때문에 이동 노드(1)는 대부분 복수의 고정 노드(2)의 신호를 수신하게 되나, 무선통신 인프라가 취약한 일부 지역에서는 하나의 고정 노드(2)의 신호를 수신할 수도 있다. 한편, 스캔 과정에서 어떤 신호도 수신되지 않은 경우에는 본 실시예에 따른 SLAM에 요구되는 무선 측위 자체가 불가능한 경우에 해당하기 때문에 이동 노드(1)는 고정 노드(2)의 신호를 수신할 때까지 대기하게 된다.
120 단계에서 이동 노드(1)의 무선 측위부(60)의 신호 처리부(62)는 110 단계에서 수신된 각 신호의 세기를 측정한다. 130 단계에서 이동 노드(1)의 무선 측위부(60)는 복수의 시점에 걸쳐 이동 노드(1) 주변의 적어도 하나의 고정 노드(2)로부터 수신된 적어도 하나의 신호 세기의 변화 패턴에 기초하여 적어도 하나의 고정 노드(2)로부터 현재 시점에서 수신된 신호에 대한 이동 노드(1)의 수신 위치를 추정한다. 여기에서, 복수의 시점에 걸쳐 적어도 하나의 고정 노드(2)로부터 수신된 적어도 하나의 신호 세기의 변화 패턴은 복수의 시점에 걸친 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴이다.
210 단계에서 이동 노드(1)의 상대 측위부(50)는 센서부(20)의 출력 신호를 주기적으로 수신한다. 220 단계에서 이동 노드(1)의 상대 측위부(50)는 210 단계에서 수신된 센서부(20)의 출력 신호의 값으로부터 이동 노드(1)의 이동 거리와 이동 방향을 산출한다. 230 단계에서 이동 노드(1)의 상대 측위부(50)는 220 단계에서 산출된 이동 노드(1)의 이동 거리와 이동 방향에 기초하여 이동 노드(1)의 이전 위치에 대한 이동 노드(1)의 현재 위치의 상대적인 변화를 산출함으로써 이동 노드(1)의 이전 위치에 대한 이동 노드(1)의 현재 상대 위치를 추정한다. 상술한 바와 같이, 이동 노드(1)가 어떤 종류의 기기로 구현되는가에 따라 센서부(20)의 센서 종류가 달라질 수 있기 때문에 이동 노드(1)의 상대 위치의 추정에는 이동 노드(1)가 어떤 종류의 기기로 구현되는가에 따라 서로 다른 항법 알고리즘이 사용될 수 있다.
예를 들어, 이동 노드(1)가 스마트폰인 경우에 상대 측위부(50)는 PDR 알고리즘을 사용하여 이동 노드(1)의 상대 위치를 추정할 수 있다. 보다 상세하게 설명하면, 상대 측위부(50)는 센서부(20)의 가속도 센서의 출력 신호의 값을 적분함으로써 이동 노드(1)의 이동 거리를 산출하고, 센서부(20)의 자이로 센서의 출력 신호의 값을 적분함으로써 이동 노드(1)의 이동 방향을 산출할 수 있다. 이동 노드(1)가 네비게이션 시스템으로서 차량에 탑재되는 경우에 상대 측위부(50)는 DR 알고리즘을 사용하여 이동 노드(1)의 상대 위치를 추정할 수 있다. 예를 들어, 상대 측위부(50)는 차량의 휠(wheel)에 센서부(20)의 가속도 센서와 자이로 센서를 부착함으로써 이동 노드(1)의 이동 거리와 이동 방향을 산출할 수 있다. 이와 같이, 이동 노드(1)의 상대 위치를 추정하기 위한 PDR, DR 알고리즘은 센서의 출력 신호 값의 적분을 통해 이동 노드(1)의 상대 위치를 추정하기 때문에 이동 노드(1)의 상대 위치 추정이 반복될수록 이동 노드(1)의 상대 위치의 오차가 누적된다.
도 4는 도 3에 도시된 130 단계의 상세 흐름도이다. 도 4를 참조하면, 410 단계에서 이동 노드(1)의 무선 측위부(60)의 신호 처리부(62)는 120 단계에서 측정된 각 신호 세기를 어느 하나의 시점에 연관시켜 나타내는 시간도메인 데이터를 생성한다. 여기에서, 어느 하나의 시점은 110 단계에서 수신된 신호를 그 이전에 수신된 신호 또는 그 이후에 수신된 신호와 구별하기 위한 정보로서 사용된다. 이 시점은 각 신호의 수신 시점일 수 있다. 각 신호의 수신 시점은 신호 처리부(62)가 무선통신부(10)로부터 각 신호를 입력받은 순간에 이동 노드(1)의 내부 시계의 시간을 읽은 시점일 수 있다.
보다 상세하게 설명하면, 410 단계에서 신호 처리부(62)는 110 단계에서 수신된 각 신호 별로 각 신호를 송출한 고정 노드(2)의 아이디, 각 신호의 수신 시점, 및 120 단계에서 측정된 각 신호의 세기를 하나의 세트로 묶은 적어도 하나의 신호 세기 세트 {RSSmn, ...}TD를 포함하는 시간도메인 데이터를 생성한다. 여기에서, RSS는 "Received Signal Strength"의 약자이고, TD는 "Time Domain"의 약자이고, 아래첨자의 "m"은 고정 노드(2)의 아이디의 순번을 나타내고, "n"은 각 신호의 수신 시점의 순번을 나타낸다.
예를 들어, 도 3에 도시된 SLAM 방법이 세 번 반복하여 실행되면, 스캔부(61)는 세 번에 걸쳐 주변의 신호를 스캔하게 된다. 스캔부(61)가 세 번째 신호 스캔 시에 두 번째 아이디를 갖는 고정 노드(2)로부터 송출된 신호 하나만을 수신한다면, 시간도메인 데이터는 하나의 신호 세기 세트 RSS23만을 포함하게 된다. 만약, 스캔부(61)가 세 번째 신호 스캔 시에 두 번째 아이디를 갖는 고정 노드(2)로부터 송출된 신호와 세 번째 아이디를 갖는 고정 노드(2)로부터 송출된 신호를 수신한다면, 시간도메인 데이터는 신호 세기 세트 RSS23과 RSS33을 포함하게 된다.
이와 같이, 시간도메인 데이터는 120 단계에서 측정된 각 신호의 세기를 시간 도메인에서 각 신호를 송출한 고정 노드(2)의 아이디와 각 신호의 수신 시점으로 구분하는 데이터라고 할 수 있다. 본 실시예에 따른 SLAM 방법이 실행될 때마다 410 단계에서 생성되는 시간도메인 데이터에 포함된 복수의 신호 세기 세트 {RSSmn, ...}TD의 수신 시점은 모두 동일하게 된다. 이에 따라, 시간도메인 데이터의 길이를 줄이기 위하여 동일한 시점에 수집된 신호들에 대해서는 하나의 시점에 복수의 고정 노드 아이디와 복수의 신호 세기를 나열하여 붙일 수도 있다. 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 상술된 바와 같은 포맷 이외에 다양한 포맷으로 시간도메인 데이터를 표현할 수 있음을 이해할 수 있다.
420 단계에서 이동 노드(1)의 무선 측위부(60)의 도메인 변환부(63)는 130 단계에서 생성된 시간도메인 데이터를 120 단계에서 측정된 각 신호 세기를 220 단계에서 추정된 이동 노드(1)의 상대 위치에 연관시켜 나타내는 공간도메인 데이터로 변환한다. 보다 상세하게 설명하면, 도메인 변환부(63)는 130 단계에서 생성된 시간도메인 데이터에 포함된 적어도 하나의 신호 세기 세트 {RSSmn, ...}TD의 각 세트 별로 각 세트 RSSmn가 나타내는 고정 노드(2)의 아이디, 각 신호의 수신 시점, 및 각 신호의 세기 중에서 각 신호의 수신 시점을 각 신호의 수신 시점에 대응하는 이동 노드(1)의 상대 위치로 교체함으로써 시간도메인 데이터를 고정 노드(2)의 아이디, 이동 노드(1)의 상대 위치, 및 각 신호의 세기를 하나의 세트로 묶은 적어도 하나의 신호 세기 세트 {RSSmn, ...}SD로 변환한다.
여기에서, RSS는 "Received Signal Strength"의 약자이고, SD는 "Space Domain"의 약자이고, 아래첨자의 "m"은 고정 노드(2)의 아이디의 순번을 나타내고, "n"은 각 신호의 수신 시점의 순번에 대응하는 이동 노드(1)의 상대 위치의 순번을 나타낸다. 110 단계에서의 신호 수신과 210 단계에서의 신호 수신이 동기화되어 거의 동일한 시간대에 실행되는 경우라면 각 신호의 수신 시점에 대응하는 이동 노드(1)의 상대 위치는 각 신호의 수신 시점에서 추정된 이동 노드(1)의 상대 위치일 수 있다. 이 경우, 각 신호의 수신 시점의 순번은 그대로 이동 노드(1)의 상대 위치의 순번이 된다. 예를 들어, 공간도메인 데이터에 포함된 신호 세기 세트 RSS23은 상대 측위부(50)가 세 번째 상대 위치 추정 시에 두 번째 아이디를 갖는 고정 노드(2)로부터 수신된 신호의 세기를 나타내게 된다.
110 단계에서의 신호 수신과 210 단계에서의 신호 수신의 동기화가 이루어지지 않은 경우라면 각 신호의 수신 시점에 대응하는 이동 노드(1)의 상대 위치는 여러 시점에서 추정된 상대 위치들 중에서 각 신호의 수신 시점에 가장 가까운 시점에서 추정된 상대 위치일 수 있다. 이와 같이, 시간도메인 데이터는 고정 노드(2)의 아이디, 각 신호의 수신 시점, 및 각 신호의 세기를 하나의 세트로 묶음으로써 각 신호 세기를 각 신호의 수신 시점에 연관시켜 나타낸 시간 기반의 데이터인 반면, 공간도메인 데이터는 시간도메인 데이터에 포함된 고정 노드(2)의 아이디, 시간도메인 데이터에 포함된 시점에서 추정된 이동 노드(1)의 상대 위치, 시간도메인 데이터에 포함된 각 신호 세기를 하나의 세트로 묶음으로써 각 신호 세기를 이동 노드(1)의 상대 위치에 연관시켜 나타낸 공간 기반의 데이터이다.
본 실시예에 따른 SLAM 방법이 실행될 때마다 410 단계에서 생성되는 시간도메인 데이터에 포함된 복수의 신호 세기 세트 {RSSmn, ...}TD의 수신 시점은 모두 동일하기 때문에, 본 실시예에 따른 SLAM 방법이 실행될 때마다 420 단계에서 변환되는 공간도메인 데이터에 포함된 복수의 신호 세기 세트 {RSSmn, ...}SD의 상대 위치도 모두 동일하게 된다. 이에 따라, 공간도메인 데이터의 길이를 줄이기 위하여 동일한 상대 위치에서 수집된 신호들에 대해서는 하나의 상대 위치에 복수의 고정 노드 아이디와 복수의 신호 세기를 나열하여 붙일 수도 있다. 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 상술된 바와 같은 포맷 이외에 다양한 포맷으로 공간도메인 데이터를 표현할 수 있음을 이해할 수 있다.
430 단계에서 이동 노드(1)의 무선 측위부(60)의 패턴 생성부(64)는 120 단계에서 측정된 적어도 하나의 신호 세기와 230 단계에서 추정된 이동 노드(1)의 상대 위치로부터 복수의 시점에 걸친 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 생성한다. 보다 상세하게 설명하면, 패턴 생성부(64)는 120 단계에서 측정된 적어도 하나의 신호 세기와 230 단계에서 추정된 이동 노드(1)의 상대 위치로부터 110 단계에서 현재 수신된 적어도 하나의 신호 세기의 패턴을 생성하고, 현재 수신된 적어도 하나의 신호의 패턴을 110 단계에서의 신호 수신 시점 이전에 수신된 적어도 하나의 신호의 패턴에 연속적으로 나열함으로써 복수의 시점에 걸친 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 생성한다.
본 실시예에 따른 SLAM 방법은 이동 노드(1)가 어떤 경로로 이동할 때에 실시간으로 그것의 현재 위치를 반복적으로 추정함과 동시에 이동 노드(1)가 지나온 경로에 대한 지도를 작성하기 위한 방법으로서 도 2에 도시된 SLAM 장치가 구동되는 동안에 도 3, 4에 도시된 단계들은 계속적으로 반복된다. 이동 노드(1)가 스토리지(30)에 저장될 신호 세기를 수집하기 위해 대상 지역 내의 어떤 경로를 처음 지나갈 때에는 대상 지역에서의 신호 세기 분포를 알 수 없기 때문에 본 실시예의 무선 측위가 불가능함에 따라 130, 310 단계의 수행은 생략된다.
즉, 이동 노드(1)가 대상 지역 내의 어떤 경로를 처음 지나갈 때에는 그 경로 상의 여러 측위점에서 신호 세기를 수집하여 그 경로에 대한 신호 세기 분포 지도를 작성하기 위해 그 경로 상에서의 상대 측위의 회수만큼 210, 220, 230, 110, 120, 320 단계를 반복적으로 수행한다. 그 결과, 이동 노드(1)가 대상 지역 내의 어떤 경로를 처음으로 완주하였을 때에 그 경로를 표현하는 이동 노드(1)의 상대 위치 값들은 보정되지 않은 상태의 값들로 스토리지(30)에 저장된다. 이동 노드(1)가 대상 지역 내의 어떤 경로를 처음으로 완주하였을 때나 여러 번 완주하였을 때나 이동 노드(1)의 상대 위치의 보정 여부만 다를 뿐, 스토리지(30)에 저장되는 지도의 형식은 동일하며 그 경로에 대한 완주 회수만큼 스토리지(30)에 저장된 지도가 갱신된다.
보다 상세하게 설명하면, 이동 노드(1)가 대상 지역 내의 어떤 경로를 처음 지나갈 때에는 210, 220, 230 단계를 수행함으로써 이동 노드(1)의 현재 상대 위치를 추정함과 동시에 110 단계와 120 단계를 수행함으로써 이동 노드(1) 주변의 고정 노드(2)로부터 수신된 적어도 하나의 신호의 세기를 측정한다. 이동 노드(1)는 이와 같이 추정된 상대 위치와 측정된 신호 세기를 그 상대 위치에서의 신호 세기로서 스토리지(30)에 저장한다. 이동 노드(1)는 그 경로를 한 바퀴 돌면서 추정되거나 측정된 그 경로 상의 복수의 측위점 각각에서의 상대 위치의 좌표값과 신호 세기로 그 경로를 표현함으로써 그 경로에 대한 신호 세기 분포 지도를 작성한다. 즉, 이동 노드(1)가 그 경로 상의 복수의 측위점을 차례대로 지나가면서 스토리지(30)에 테이블의 수치 값 또는 3차원 공간의 그래프 형태로 각 측위점에서의 상대 위치의 좌표값과 신호 세기를 기록해 나가는 과정이 경로 전체에 대해 완료되면 스토리지(30)에는 그 경로에 대한 신호 세기 분포 지도가 저장되어 있게 된다.
예를 들어, 상대 측위부(50)가 PDR 알고리즘을 사용하여 이동 노드(1)의 상대 위치를 추정할 경우, 그 경로 상의 각 측위점은 사용자의 각각의 스텝이 될 수 있다. 이와 같이, 이동 노드(1)의 상대 위치는 사용자의 보폭 등 대략 1 미터의 매우 짧은 간격으로 측정되기 때문에 복수의 측위점의 연속적 나열은 특정 경로를 형성하게 된다. 이동 노드(1)는 대상 지역 내의 모든 경로에 대해 이와 같은 과정을 반복함으로써 스토리지(30)에는 대상 지역 전체에서의 신호 세기 분포 지도가 완성되어 저장된다. 본 실시예에 따르면, 이동 노드(1)는 그 경로를 여러 바퀴 돌면서 각 측위점의 좌표값을 그 경로를 돌 때마다 갱신하는 과정을 통해 각 측위점의 좌표값의 정확도를 향상시킴으로써 복수의 측위점으로 표현되는 그 경로의 그래프를 실제 경로에 근접하도록 최적화한다.
도 5는 도 4의 430 단계에서의 패턴 형성 원리를 설명하기 위한 도면이다. 도 5의 (a)를 참조하면, 고정 노드(2)로부터 송출되는 신호의 세기는 대략적으로 고정 노드(2)로부터의 거리의 제곱에 반비례하여 감쇄된다. 사용자가 고정 노드(2)에 접근했다가 멀어지는 경우에, 사용자가 휴대하는 이동 노드(1)는 도 5의 (a)에 도시된 바와 같은 세기의 신호를 수신하게 된다. 일반적으로, 사용자는 항상 일정한 속도로 보행하지는 않으며 보행 중에 일시적으로 정지할 수도 있다. 사용자가 일시적으로 정지하고 있는 동안에는 도 5의 (b)에 도시된 바와 같이, 도 3에 도시된 SLAM 방법이 여러 번 반복하여 실행되더라도 고정 노드(2)로부터 송출되는 신호의 세기는 거의 동일하게 측정된다. 도 5의 (b)의 x축은 신호가 측정된 시점을 나타내고, y축은 신호 세기를 나타낸다. 도 5의 (c)의 x축은 이동 노드(1)의 상대 위치(RL, Relative Location) 나타내고, y축은 신호 세기를 나타낸다.
도 3에 도시된 SLAM 방법이 실행될 때마다 고정 노드(2)로부터 송출되는 신호의 세기가 측정되므로 고정 노드(2)로부터 송출되는 신호의 세기는 도 5의 (b)에 도시된 바와 같은 연속적인 곡선의 형태로 표시되지 않으며, 실제로는 신호 세기에 대응하는 높이에 표시된 도트들이 연속적으로 나열된 형태로 표시된다. 도메인 변환부(63)에 의해 각 신호의 수신 시점이 이동 노드(1)의 상대 위치로 교체되면, 도 5의 (c)에 도시된 바와 같이 패턴 생성부(64)에 의해 생성되는 신호 세기의 변화 패턴은 복수의 시점에서 추정된 이동 노드(1)의 복수의 상대 위치에서 복수 회 수신된 신호의 세기의 연속적 나열로 표현된다. 따라서, 패턴 생성부(64)에 의해 생성되는 적어도 하나의 신호 세기의 변화 패턴은 복수의 시점에서 추정된 이동 노드(1)의 복수의 상대 위치에서 복수 회 수신된 적어도 하나의 신호의 세기의 연속적 나열로 표현되는 적어도 하나의 신호 세기의 변화 패턴이라고 말할 수 있다.
스토리지(30)에는 본 실시예에 따른 SLAM 방법에 따라 대상 지역에서 수집한 신호 세기의 분포를 나타내는 테이블 형태의 지도 또는 신호 세기의 분포 패턴을 나타내는 그래프 형태의 지도가 저장되어 있다. 사용자가 동일한 경로로 여러 번 반복하여 이동한다고 할 때에 그 경로의 완주에 소요되는 시간은 일반적으로 모두 다르다. 사용자의 이동 경로가 동일한 경우에 그 경로의 완주에 소요되는 시간이 서로 다르다 하더라도 그 경로 상에 있는 사용자의 여러 위치는 동일하게 된다. 따라서, 지도에 고정 노드(2)로부터 송출된 신호의 수신 시점을 반영하는 것은 불가능할 뿐만 아니라 불필요하다. 즉, 본 실시예의 지도는 대상 지역 전체에서 수집한 수많은 신호에 대해 어떤 신호를 송출한 고정 노드(2)의 아이디, 그 신호를 수신한 지점의 위치, 및 그 신호의 세기가 반영된 신호 세기 분포로 표현된다.
본 실시예에 따라 현재 시점에서 수신된 신호에 대한 이동 노드(1)의 수신 위치를 추정하기 위해서는 이러한 신호 세기 분포 지도에 매칭 가능한 패턴이 생성되어야 한다. 이동 노드(1)의 측위는 이동 노드(1)의 위치를 모르는 상태에서 수행되므로, 이동 노드(1)는 각 신호 세기를 각 신호의 수신 시점에 연관시켜 나타낸 시간도메인 데이터를 생성한 다음에 그 시간도메인 데이터를 각 신호 세기를 각 신호의 수신 시점에 대응하는 이동 노드(1)의 상대 위치에 연관시켜 나타낸 공간도메인 데이터로 변환한다. 지도의 좌표값을 매기기 위해서, 이동 노드(1)가 돌아다니는 현실 세계의 대상 지역은 눈금과 눈금간 거리가 일정한 격자 구조로 분할된다. 지도에서 어떤 지점의 위치의 값은 이러한 단위의 분해능을 갖는 2차원 좌표로 표현된다.
도 5의 (c)에 도시된 바와 같이, 사용자가 일시적으로 정지 상태에 있음에 따라 이동 노드(1)의 복수의 상대 위치에서 수신된 복수의 신호의 세기를 나타내는 복수의 도트가 밀집되어 있을 수 있다. 이 경우, 서로 밀집되어 있는 복수의 도트간 최대 거리가 지도의 좌표 분해능 단위, 즉 이동 노드(1)의 상대 위치를 나타내기 위한 좌표의 분해능 단위에 해당하는 거리 내이면 서로 밀집되어 있는 복수의 도트는 마치 하나의 도트로서 하나의 신호 세기를 나타내는 것과 같은 효과가 발생되면서 신호 세기의 변화 패턴이 생성되는 결과를 낳게 된다. 예를 들어, 라디오맵의 좌표 분해능 단위가 1 미터라고 한다면, 1 미터 내에 몰려 있는 여러 개의 도트들은 마치 하나의 도트로서 하나의 신호 세기를 나타내는 것과 같은 효과가 발생되면서 신호 세기의 변화 패턴이 생성되는 결과를 낳게 된다.
430 단계에서 패턴 생성부(64)는 420 단계에서 변환된 공간도메인 데이터로부터 230 단계에서 추정된 이동 노드(1)의 상대 위치에서 적어도 하나의 고정 노드(2)로부터 수신된 적어도 하나의 신호 세기의 패턴을 생성한다. 323 단계에서 패턴 생성부(64)에 의해 생성되는 적어도 하나의 신호 세기의 패턴은 이동 노드(1)의 이동 경로 중 그 공간도메인 데이터가 나타내는 상대 위치에서 그 공간도메인 데이터가 나타내는 적어도 하나의 고정 노드 별로 그 공간도메인 데이터가 나타내는 적어도 하나의 신호 세기를 표시함으로써 생성되는 적어도 하나의 신호 세기의 패턴이다. 323 단계에서 패턴 생성부(64)는 310 단계에서 수신된 공간도메인 데이터에 포함된 적어도 하나의 신호 세기 세트 {RSSmn, ...}SD의 각 신호 세기 세트 RSSmn 별로 각 신호 세기 세트 RSSmn의 신호 세기를 나타내는 신호 세기 그래프를 생성함으로써 적어도 하나의 신호 세기의 패턴을 생성한다.
도 6은 본 실시예의 SLAM 알고리즘에 사용되는 신호 세기의 변화 패턴을 생성하기 위한 3차원 공간 좌표계를 도시한 도면이다. 도 6을 참조하면, 3차원 공간의 x축은 복수의 고정 노드(2)의 아이디를 일정 간격으로 나열한 좌표축이고, y축은 이동 노드(1)의 이동 경로를 이동 노드(1)의 상대 위치를 나타내기 위한 좌표의 분해능 단위로 분할한 좌표축이고, z축은 복수의 고정 노드(2)로부터 수신된 신호의 세기의 측정 범위를 신호 세기의 측정 분해능 단위로 분할한 좌표축이다. 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 3차원 공간의 x축, y축, z축 각각이 나타내는 정보는 서로 교환될 수 있음을 이해할 수 있다. 예를 들어, x축이 이동 노드(1)의 상대 위치를 나타내고, y축이 고정 노드(2)의 아이디를 나타낼 수도 있다.
도 6에 도시된 3차원 공간 좌표계는 도심의 도로와 같이 사용자나 차량의 이동 경로가 정해져 있는 경우를 전제로 한 것으로서, 스토리지(30)에 저장된 신호 세기 분포 지도는 이와 같이 정해진 경로를 따라 이동하면서 수집된 신호를 기반으로 구축된 경우에 지도의 신호 세기 분포는 신호 수신 위치의 나열에 표현되는 이동 경로를 내포하고 있게 된다. 즉, 이동 노드(1)의 현재 신호 세기의 변화 패턴이 지도 내의 신호 세기 분포의 어떤 부분의 패턴과 일치하게 되는 경우, 그 지도 내의 신호 세기 분포와의 비교를 통해 이동 노드(1)가 어떤 이동 경로의 어떤 지점에 위치하고 있음을 알 수 있다. 이동 노드(1)의 이동 경로가 정해져 있지 않거나 지상에서의 이동 노드(1)의 위치 외에 이동 노드(1)의 높이도 추정하고자 하는 경우에는 4차원 이상의 다차원 공간 좌표계에 110 단계에서 수신된 적어도 하나의 신호의 세기의 변화 패턴이 생성될 필요가 있을 수도 있다.
본 실시예에 대한 이해를 돕기 위해, 도 6의 x축에는 와이파이 망의 고정 노드(2)에 해당하는 액세스 포인트 10 개가 나열되어 있고, y축에는 이동 노드(1)를 휴대하고 있는 사용자가 1 미터 간격으로 10 미터 길이로 나열되어 있다. 따라서, 이동 노드(1)의 상대 위치 좌표의 분해능 단위가 1 미터이다. 아래에 설명된 바와 같이, 440 단계에서 스토리지(30)에 저장된 신호 세기 분포 지도와 비교되는 신호 세기의 변화 패턴은 도 7에 도시된 사이즈의 3차원 공간에서 생성된 3차원 패턴이다. 즉, 도 6에 도시된 3차원 공간의 사이즈는 본 실시예에 따른 측위가 진행되는 동안에 이동 노드(1)가 이동한 경로에 대해 10 미터 간격으로 스토리지(30)에 저장된 신호 세기 분포 지도와 비교되는 신호 세기의 변화 패턴이 생성됨을 의미한다. 이 때, 이동 노드(1)의 이동 경로 상의 액세스 포인트의 개수는 10 개이다. 도 6에 도시된 3차원 공간 좌표계는 일례일 뿐이며, 액세스 포인트의 개수와 이동 노드(1)의 이동 경로의 길이는 다양하게 변형 설계될 수 있다.
430 단계에서 패턴 생성부(64)는 3차원 공간의 x축에 420 단계에서 변환된 공간도메인 데이터에 포함된 각 신호 세기 세트 RSSmn 별로 어느 하나의 신호 세기 세트 RSSmn가 나타내는 고정 노드의 아이디를 매핑하고, y축에 그 신호 세기 세트 RSSmn가 나타내는 이동 노드(1)의 상대 위치를 매핑하고, z축에 그 신호 세기 세트 RSSmn가 나타내는 신호의 세기를 매핑함으로써 결정되는 3차원 공간의 지점에 도트를 표시하는 방식으로 그 신호 세기 세트 RSSmn의 신호 세기를 나타내는 그래프를 생성한다. 이러한 신호 세기 그래프는 사용자에게 보여주기 위한 화면출력용 그래프가 아니라, SLAM의 무선 측위에 사용되는 3차원 그래프 형태의 신호 세기의 변화 패턴이 생성되는 과정을 보여주기 위한 중간 단계의 그래픽 요소이다. 다만, 본 실시예에 대한 이해를 돕기 위해 이하에서는 신호 세기 세트 RSSmn 별 신호 세기 그래프, 어느 한 상대 위치에서의 신호 세기의 패턴, 상대 위치 변화에 따른 신호 세기의 변화 패턴이 시각적으로 인지될 수 있는 형태인 것으로 가정하여 설명하기로 한다.
이와 같이, 패턴 생성부(64)에 의해 생성되는 적어도 하나의 신호 세기의 패턴은 그 공간도메인 데이터가 나타내는 적어도 하나의 고정 노드의 아이디와 그 공간도메인 데이터가 나타내는 상대 위치에 연관시켜 그 공간도메인 데이터가 나타내는 적어도 하나의 신호 세기를 표시한 적어도 하나의 신호 세기의 패턴을 의미한다. 따라서, 이동 노드(1)가 하나의 신호만을 수신한 경우라면, 230 단계에서 추정된 이동 노드(1)의 상대 위치에서의 신호 세기의 패턴은 하나의 도트 형태가 될 수 있다. 이동 노드(1)가 복수의 신호를 수신한 경우라면, 230 단계에서 추정된 이동 노드(1)의 상대 위치에서의 신호 세기의 패턴은 서로 인접해 있는 복수의 도트로 표현되는 직선 내지 곡선 형태일 수 있다.
430 단계에서 패턴 생성부(64)는 이와 같이 생성된 적어도 하나의 신호 세기의 패턴을 나타내는 패턴 데이터를 버퍼(40)에 저장되어 있는 패턴 데이터에 누적시켜 저장한다. 버퍼(40)에 저장되어 있는 패턴 데이터는 230 단계에서의 상대 위치 추정 이전에 추정된 상대 위치에 대한 패턴 데이터이다. 이와 같은 패턴 데이터의 누적에 의해 120 단계에서 측정된 적어도 하나의 신호 세기의 변화 패턴이 생성되게 된다. 버퍼(40)에는 스토리지()에 저장된 지도의 신호 세기 분포와 비교되는 신호 세기의 변화 패턴 생성에 필요한 만큼의 패턴 데이터가 누적될 수 있고, 더 많은 양의 패턴 데이터가 누적될 수 있다. 후자의 경우, 버퍼(40)에 누적된 패턴 데이터의 일부로부터 신호 세기의 변화 패턴을 생성하게 된다.
도 7은 본 실시예의 SLAM에 사용되는 패턴 데이터의 누적을 테이블 형태로 나타낸 도면이다. 도 7의 (a)에는 버퍼(40)에 누적된 패턴 데이터가 테이블 형태로 표현되어 있다. 430 단계에서 패턴 생성부(64)는 공간도메인 데이터를 도 7의 (a)의 테이블 형태로 버퍼(40)에 누적시킬 수 있다. 도 7의 (a)의 테이블에서 "APm"의 "m" 값은 고정 노드(2)의 아이디의 순번으로서 3차원 공간의 x축의 좌표값에 해당하고, "RLn"의 "n" 값은 이동 노드(1)의 상대 위치의 순번으로서 3차원 공간의 y축의 좌표값에 해당하고, "RSSmn"은 "APm"의 아이디를 갖는 고정 노드(2)로부터 송출되어 이동 노드(1)의 상대 위치 "RLn"에서 수신된 신호의 세기로서 3차원 공간의 z축의 좌표값에 해당한다.
상술한 바와 같은 패턴 생성부(64)의 패턴 생성 기법에 따르면, "APm"의 "m" 값과 "RLn"의 "n" 값에 의해 결정되는 2차원 평면의 어느 한 지점 위에 "RSSmn" 값에 해당하는 높이로 도트가 표시되기 때문에 도 7의 (a)에 도시된 "RSSmn"들의 집합은 3차원 공간에서 기하학적인 서피스(surface)를 형성하게 된다. 이와 같이, 430 단계에서 패턴 생성부(64)는 3차원 공간의 x축에 어느 하나의 고정 노드의 아이디를 매핑하고, y축에 이동 노드(1)의 상대 위치를 매핑하고, z축에 그 고정 노드로부터 송출되어 그 상대 위치에서 수신된 신호의 세기를 매핑함으로써 결정되는 3차원 공간의 지점에 도트를 표시하는 방식으로 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 생성한다. 버퍼(40)에 누적된 공간도메인 데이터에 포함된 복수의 신호 세기 세트는 도 7의 (a)의 테이블 형태로 버퍼(40)에 누적되지 않을 수 있으며, 메모리 공간의 효율적 사용을 위해 다양한 형태로 버퍼(40)에 누적될 수 있다.
도 8은 본 실시예의 SLAM에 따른 지도 작성의 대상 지역의 일례를 도시한 도면이다. 도 8의 예에서, 본 실시예의 SLAM에 따른 지도 작성의 대상 지역은 건물의 실내이고, 건물의 복도는 사각형의 둘레 형상을 갖는다. 사용자는 이동 노드(1)인 스마트폰을 들고 도 8에 도트로 표시된 시작점에서 출발하여 반시계방향으로 복도를 한 바퀴 돌아 다시 시작점에 도착하였다. 이 때, 이동 노드(1)는 시작점 (0, 0)에서 출발하여 도 8에 도시된 점선을 따라 이동하게 된다. 본 실시예에서 이동 노드(1)의 위치는 2차원 좌표계의 2차원 좌표값으로 표현된다.
이동 노드(1)는 그 내부의 나침반 정보를 기준으로 자신이 어느 방향으로 나아가고 있는지를 결정하기 때문에 건물의 측면이 나침반의 남북 방향에 대해 기울어진 경우에 이동 노드(1)에 의해 작성되는 지도의 2차원 좌표계 상에 도 8에 도시된 바와 같이, 건물의 평면이 기울어지게 표시될 수 있다. 도 6에 도시된 3차원 공간 좌표계는 3차원 서피스 형태의 신호 세기 변화 패턴을 생성하기 위한 공간의 좌표계로서 본 실시예의 SLAM 알고리즘에 따라 작성되는 지도의 2차원 좌표계와 구별되어야 한다. 즉, 도 6에 도시된 3차원 공간의 y축에 매핑되는 이동 노드(1)의 상대 위치의 값이 도 8에 도시된 2차원 좌표계의 좌표값으로 표시된다.
종래의 SLAM은 여러 개의 물리적인 랜드마크를 기준으로 이동 노드의 위치를 추정하였다. 이러한 랜드마크의 예로는 그 위치가 변하지 않으면서 특징적 형상을 갖는 건물의 출입문, 계단 등을 들 수 있다. 이러한 랜드마크의 식별을 위해서는 라이다(LiDAR), 카메라, 초음파 센서 등과 같은 센서가 필요하다. 라이다는 해상도가 매우 높으나 고가이고 소형화에 한계가 있어 스마트폰 등과 같은 소형 이동 노드(1)에는 적용되기가 어렵다. 카메라는 그 출력이 영상 데이터임에 따라 영상 데이터의 처리 능력이 낮은 스마트폰 등에는 마찬가지로 적용되기가 어렵다. 초음파 센서는 소형화가 가능하나 해상도가 매우 낮아 고정확도의 지도를 작성하는 데에는 한계가 있다. 본 실시예의 SLAM은 종래의 SLAM과 달리 상기된 바와 같은 랜드마크를 필요로 하지 않으며, 그 대신에 패턴 생성부(64)에 의해 생성된 신호 세기 변화 패턴과 스토리지(30)에 저장된 지도의 신호 세기 분포 내의 대응 패턴간의 유사도가 일종의 랜드마크의 역할을 한다.
이와 같이, 본 실시예는 종래의 SLAM의 영상 처리에 비해 복잡도가 매우 낮은 패턴 유사도를 기반으로 이동 노드(1)의 위치를 추정함과 동시에 지도를 작성할 수 있기 때문에 스마트폰 등과 같이 경박단소한 이동 노드(1)에서도 물리적인 랜드마크 식별을 위한 별도의 센서 없이 본 실시예에 따른 SLAM 방법은 원활하게 실행될 수 있다. 특히, 본 실시예에 따른 SLAM 방법에 의해 작성된 지도는 대상 지역의 경로와 같은 물리적 지형 외에도 일종의 라디오맵에 해당하는 신호 세기 분포를 함께 포함하기 때문에 무선 측위에 범용적으로 사용될 수 있다는 장점을 갖고 있다.
상술한 바와 같이, 이동 노드(1)가 도 8에 도시된 건물의 복도를 처음 한 바퀴 돌 때에는 건물 실내에서의 신호 세기 분포를 알 수 없기 때문에 본 실시예의 무선 측위가 불가능함에 따라 도 3의 130, 310 단계의 수행은 생략된다. 도 8에 도시된 예에서 이동 노드(1)는 사용자의 보행에 따라 이동하게 되므로, 상대 측위부(50)는 PDR 알고리즘을 사용하여 이동 노드(1)의 상대 위치를 추정하며, 그 경로 상의 각 측위점은 사용자의 각각의 스텝이 된다. 즉, 이동 노드(1)는 사용자의 각 스텝마다 210, 220, 230 단계를 수행함으로써 사용자의 각 스텝에서의 이동 노드(1)의 상대 위치를 추정함과 동시에 110 단계와 120 단계를 수행함으로써 사용자의 각 스텝 위치에서 수신된 적어도 하나의 신호의 세기를 측정한다. 이동 노드(1)는 건물의 복도를 한 바퀴 돌면서 그 복도 경로 상의 복수의 스텝 각각에서의 상대 위치의 좌표값과 신호 세기로 그 복도 경로를 표현함으로써 그 경로에 대한 신호 세기 분포 지도를 작성한다.
결과적으로, 스토리지(30)에는 그 경로에 대한 신호 세기 분포 지도가 저장되어 있게 된다. 도 8에 도시된 예와는 달리, 대상 지역에 여러 경로가 존재하는 경우에도 각 경로에 대해 동일한 방식으로 신호 세기 분포 지도가 작성되어 스토리지(30)에 저장될 수 있다. 이러한 신호 세기 분포 지도는 어떤 경로만을 놓고 볼 때에 그 경로에서의 신호 세기의 변화 패턴을 나타낸다고 볼 수 있으므로 스토리지(30)에 저장된 지도 데이터는 버퍼(40)에 누적된 패턴 데이터와 동일한 포맷으로 작성될 수 있다. 이와 같이, 버퍼(40)에 누적된 패턴 데이터의 포맷과 스토리지(30)에 저장된 지도 데이터의 포맷이 동일하면 버퍼(40)에 누적된 패턴 데이터와 스토리지(30)에 저장된 지도의 데이터는 서로 매칭 가능하게 된다.
도 7의 (b)에는 스토리지(30)에 저장된 지도 데이터가 도 7의 (a)에 도시된 포맷과 동일한 포맷의 테이블 형태로 표현되어 있다. 도 7의 (b)의 테이블에서 "APm"의 "m" 값은 대상 지역에 설치된 고정 노드(2)의 아이디의 순번이고, "ALn"의 "n" 값은 이동 노드(1)의 수신 위치의 순번이고, "RSSmn"은 "APm"의 아이디를 갖는 고정 노드(2)로부터 송출되어 이동 노드(1)의 수신 위치 "ALn"에서 수신된 신호의 세기이다. 이동 노드(1)의 수신 위치는 이동 노드(1)의 다른 위치를 기준으로 한 상대적인 위치가 아니라 패턴 생성부(64)에 의해 생성된 신호 세기의 변화 패턴을 가장 일치하는 대응 패턴이 스토리지(30)에 저장된 신호 세기 분포 지도 내에서 어디에 위치하고 있는가에 의해 추정되기 때문에 이동 노드(1)의 상대 위치와 대비되는 관점에서 일종의 절대 위치(AL, Absolute Location)라고 할 수 있다. 이에 따라, 이동 노드(1)의 수신 위치는 도 7의 (b)의 테이블에서 절대 위치로 표기된다.
상술한 바와 같이, 스토리지(30)에 저장된 지도 데이터의 포맷은 버퍼(40)에 누적된 패턴 데이터의 포맷과 동일하다. 따라서, 스토리지(30)에 저장된 지도 데이터에 대한 설명은 앞서 설명된 버퍼(40)의 패턴 데이터에 대한 설명으로 갈음하기로 한다. 본 실시예의 SLAM 알고리즘에 따라 작성되는 신호 세기 분포 지도는 대상 지역에서 수집된 수많은 신호의 세기를 데이터베이스화하여 구축된 일종의 라디오맵을 포함하기 때문에 도 7의 (b)의 "RSSmn" 값은 특정 값으로 표시된다.
도 9는 본 실시예의 SLAM에 사용되는 신호 세기의 변화 패턴이 생성되는 일례를 도시한 도면이다. 도 9에 도시된 3차원 공간 좌표계의 스케일은 도 6에 도시된 3차원 공간 좌표계의 스케일의 10 배라는 가정 하에 도 8에 도시된 건물 복도를 따라 사용자가 20 미터 이동하였을 때에 상술한 바와 같은 패턴 생성부(64)의 패턴 생성 기법에 따르면, 이동 노드(1)의 상대 위치는 20 번 추정되고 20 개의 상대 위치 각각에서의 패턴에 의해 그 이동 거리만큼의 서피스 형태의 3차원 패턴이 생성된다. 도 9에 도시된 서피스는 서로 다른 높이의 도트들이 밀집되어 형성된 것이다. 사용자가 40 미터, 60 미터, 80 미터 이동하였을 때에 그 이동 거리의 추가분만큼 서피스 형태의 3차원 패턴이 확장됨을 알 수 있다. 서피스의 굴곡은 서로 인접해 있는 고정 노드들(2)로부터 송출되는 신호들간 세기 차이, 즉 서로 인접해 있는 "RSSmn"들간의 차이로 인해 나타나게 된다.
440 단계에서 이동 노드(1)의 무선 측위부(60)의 비교부(65)는 430 단계에서 생성된 적어도 하나의 신호 세기의 변화 패턴과 스토리지(30)에 저장된 지도의 신호 세기 분포를 비교함으로써 스토리지(30)에 저장된 지도의 신호 세기 분포 내에서 430 단계에서 생성된 적어도 하나의 신호 세기의 변화 패턴과 가장 유사한 패턴을 갖는 부분을 색출한다. 상술한 바와 같이, 스토리지(30)에 저장된 지도의 신호 세기 분포는 이동 노드(1)가 위치하는 지역, 즉 지도 작성의 대상이 되는 지역에서의 신호 세기 분포를 말한다. 보다 상세하게 설명하면, 비교부(65)는 430 단계에서 생성된 적어도 하나의 신호 세기의 변화를 그래프화한 기하학적인 서피스 형태의 3차원 패턴과 스토리지(30)에 저장된 지도의 신호 세기 분포를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 비교함으로써 스토리지(30)에 저장된 지도의 신호 세기 분포 내에서 430 단계에서 생성된 적어도 하나의 신호 세기의 변화를 그래프화한 3차원 패턴의 서피스 형태와 가장 유사한 형태를 갖는 서피스 부분을 색출한다.
스토리지(30)에 저장된 지도 데이터가 도 7의 (b)에 도시된 포맷의 테이블 형태로 표현된 경우, 스토리지(30)에 저장된 지도 데이터로부터 지도의 신호 세기 분포를 그래프화한 기하학적인 서피스 형태의 3차원 패턴이 생성될 필요가 있다. 이 경우, 패턴 생성부(64)는 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 생성함과 동시에 스토리지(30)에 저장된 지도의 신호 세기 분포를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 생성한다. 즉, 패턴 생성부(64)는 도 7의 (b)에 도시된 테이블을 참조하여 3차원 공간의 x축에 어느 하나의 고정 노드의 아이디를 매핑하고, y축에 그 지도 내에서 신호 세기 정보를 갖고 있는 절대 위치를 매핑하고, z축에 그 고정 노드로부터 송출되어 그 절대 위치에서 수신된 신호의 세기를 매핑함으로써 결정되는 3차원 공간의 지점에 도트를 표시하는 방식으로 스토리지(30)에 저장된 지도의 신호 세기 분포를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 생성할 수 있다.
패턴 생성부(64)는 스토리지(30)에 저장된 지도의 신호 세기 분포의 전부 또는 일부를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 생성할 수 있다. 대상 지역의 규모가 작은 경우, 스토리지(30)에 저장된 지도의 신호 세기 분포의 전부를 그래프화하더라도 이동 노드(1)의 데이터 처리에 거의 문제가 없다. 대상 지역의 규모가 큰 경우, 스토리지(30)에 저장된 지도의 신호 세기 분포의 전부를 그래프화하면 이동 노드(1)에 많은 부하가 걸릴 수 있다. 패턴 생성부(64)는 스캔부(61)에 의해 스캔된 신호를 송출한 적어도 하나의 고정 노드(2)의 아이디를 기준으로 이동 노드(1)의 현재 위치를 포함하고 있는 패턴 영역을 스토리지(30)에 저장된 지도 내에서 설정하고, 이와 같이 설정된 패턴 영역의 신호 세기 분포를 그래프화한 기하학적인 서피스 형태의 3차원 패턴을 생성할 수 있다. 패턴 영역의 크기는 이동 노드(1)의 부하에 큰 영향을 주지 않으면서도 그 크기로 인해 이동 노드(1)의 수신 위치의 추정값에 오차가 발생하지 않도록 적절하게 설정되어야 한다.
이와 같이, 본 실시예는 430 단계에서 생성된 적어도 하나의 신호 세기의 변화 패턴과 스토리지(30)에 저장된 지도의 신호 세기의 분포 패턴간의 서피스 상관도(surface correlation)를 기반으로 430 단계에서 생성된 적어도 하나의 신호 세기의 변화 패턴이 스토리지(30)에 저장된 지도의 신호 세기 분포 내의 어디에 위치하는가를 결정하게 된다. 예를 들어, 이러한 서피스 상관도는 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 주지되어 있는 3차원 셰이프(shape) 매칭 알고리즘을 이용하여 산출될 수 있다.
450 단계에서 이동 노드(1)의 무선 측위부(60)의 수신위치 추정부(66)는 430 단계에서 생성된 신호 세기의 변화 패턴과 이동 노드(1)가 위치하는 지역에서의 신호 세기 분포와의 비교에 기초하여 110 단계에서 수신된 적어도 하나의 신호에 대한 이동 노드(1)의 수신 위치를 추정한다. 여기에서, 이동 노드(1)가 위치하는 지역에서의 신호 세기 분포는 스토리지(30)에 저장된 지도의 신호 세기 분포이다. 보다 상세하게 설명하면, 450 단계에서 수신위치 추정부(66)는 440 단계에서의 비교에 의해 색출된 부분, 즉 색출된 서피스 부분이 지시하는, 이동 노드(1)가 위치하는 지역에서의 절대 위치를 110 단계에서 수신된 적어도 하나의 신호에 대한 이동 노드(1)의 수신 위치로 추정한다. 여기에서, 이동 노드(1)가 위치하는 지역에서의 절대 위치란 스토리지(30)에 저장된 신호 세기 분포 지도의 좌표계에서의 위치를 말한다.
이와 같이, 본 실시예는 종래와 달리 현재 수신된 신호 세기만을 고려하지 않고 지금까지의 복수의 시점에 걸친 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 이용하여 이동 노드(1)의 수신 위치를 추정하기 때문에 이러한 신호 세기의 변화 패턴의 길이를 매우 길게 설정하면 이동 노드(1)의 측위의 실시간성이 떨어질 수도 있다. 그러나, 이동 노드(1)의 현재 위치에 이르기까지의 신호의 세기 변화 패턴을 나타내는 서피스와 스토리지(30)에 저장된 지도의 신호 세기 분포의 패턴을 나타내는 서피스간에 그 셰이프 유사도를 3차원 셰이프 매칭 알고리즘을 이용하여 고속으로 판단할 수 있기 때문에 복수 시점에 걸친 신호 세기의 변화 패턴의 길이가 매우 긴 경우에도 이동 노드(1)의 측위의 실시간성을 보장할 수 있다.
도 10-11은 본 실시예의 SLAM 알고리즘에 따라 이동 노드(1)의 수신 위치가 추정되는 예들을 도시한 도면이다. 도 10-11에 도시된 3차원 공간 좌표계의 스케일은 도 6에 도시된 3차원 공간 좌표계의 스케일과 동일하며, 도 10-11의 좌측에 도시된 이동 노드(1)의 상대 위치 기반의 패턴 예는 도 9에 도시된 예와 동일하다. 도 10-11의 우측에 도시된 지도의 절대 위치 기반의 패턴 예는 100 미터에 이르는 이동 경로에 대한 신호 세기의 분포 패턴의 지도를 나타낸다. 스토리지(30)에 저장된 지도는 도 10-11의 우측에 도시된 지도보다 훨씬 더 크나, 한 지면 크기의 한계로 인해 도 10-11의 우측에는 스토리지(30)에 저장된 지도 중 도 10-11의 좌측에 도시된 패턴과의 매칭과 관련된 부분만 도시되어 있다. 사용자가 20 미터 이동하였을 때에 도 10의 (a)의 좌측에 도시된 서피스 형태의 3차원 패턴이 생성된다.
상술한 바와 같은 서피스 상관도 기반의 매칭 기법에 따르면, 비교부(65)는 도 10의 (a)의 우측에 도시된 패턴 지도 내에서 진하게 표시된 부분을 색출하게 된다. 마찬가지로, 사용자가 40 미터, 60 미터, 80 미터 이동하였을 때에 도 10-11의 (b), (c), (d)의 좌측에 도시된 서피스 형태의 3차원 패턴이 차례로 생성된다. 비교부(65)는 도 10-11의 (b), (c), (d)의 우측에 도시된 패턴 지도 내에서 진하게 표시된 부분을 차례로 색출하게 된다. 수신위치 추정부(66)는 440 단계에서 색출된 부분, 즉 서피스 부분의 복수의 절대 위치 중에서 230 단계에서 추정된 상대 위치, 즉 가장 나중에 추정된 상대 위치에 대응하는 절대 위치를 이동 노드(1)의 수신 위치로 추정한다. 이러한 상대 위치와 절대 위치의 대응 관계는 두 서피스간의 셰이프 매칭 관계로부터 결정된다. 즉, 수신위치 추정부(66)는 440 단계에서 색출된 서피스 부분의 복수의 절대 위치 중에서 230 단계에서 추정된 상대 위치의 셰이프와 가장 유사한 셰이프를 갖는 부분의 절대 위치를 이동 노드(1)의 수신 위치로 추정한다.
종래의 무선 측위 기술로 널리 알려진 KNN(K-Nearest Neighbor) 알고리즘, 파티클 필터(Particle Filter) 알고리즘, 파티클 필터와 PDR의 융합 알고리즘을 비롯한 여러 무선 측위 알고리즘은 공통적으로 현재 수신된 신호 세기만을 이용하여 이동 노드(1)의 위치를 추정한다. 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화로 인해 지도 작성 당시에 수집된 신호 세기와는 다른 신호 세기가 측정된 경우, 지도 내에서 서로 인접하는 지점들은 유사한 신호 세기 분포를 갖기 때문에 종래 무선 측위 알고리즘은 이동 노드(1)의 현재 위치가 그 실제 위치가 아닌 인접한 다른 위치로 추정될 확률이 매우 높다. 지도 작성 당시에 수집된 신호 세기와 현재 수신된 신호의 세기의 차이가 클수록 측위 오차는 더 커지게 된다.
상술한 바와 같이, 본 실시예의 SLAM 알고리즘은 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 이용하여 이동 노드(1)의 수신 위치를 추정하기 때문에 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하더라도 이동 노드(1)의 수신 위치의 추정값의 오차가 거의 발생하지 않게 된다. 즉, 본 실시예의 SLAM 알고리즘은 현재 수신된 신호의 세기뿐만 아니라 이동 노드(1)가 지금까지 거쳐 온 경로에서 수신된 과거의 신호 세기 모두를 고려하여 그 신호 세기의 변화 패턴을 기반으로 어떤 신호를 수신하고 있는 이동 노드(1)의 현재 위치를 추정하기 때문에 이동 노드(1)의 현재 위치에서의 무선 환경 변화는 이동 노드(1)의 현재 위치의 추정에 거의 영향을 주지 않게 된다.
종래의 무선 측위 알고리즘에 따라 무선 환경 변화로 인해 현재 수신된 신호의 세기만을 고려할 때에 추정되는 이동 노드(1)의 실제 위치의 인접 지점은 지금까지의 신호 세기의 변화 패턴이 나타내는 경로에서 벗어나는 지점이 된다. 본 실시예에 따르면, 이동 노드(1)가 현재 위치하고 있는 지점에서의 무선 환경 변화는 이동 노드(1)가 지금까지 거쳐 온 경로에서 수신된 신호 세기의 변화 패턴 전체를 변화시킬 수 없으며 이러한 패턴의 현재 시점 부분만을 변화시키게 되므로, 지금까지의 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 이용하여 이동 노드(1)의 위치를 추정하면 종래의 무선 측위 알고리즘에 따라 추정되는 이동 노드(1)의 실제 위치의 인접 지점이 아닌, 현재 신호를 수신하고 있는 이동 노드(1)의 실제 위치를 이동 노드(1)의 수신 위치로 추정할 가능성이 매우 높다. 물론, 이동 노드(1)의 이동 경로 상의 여러 지점에서 연속적으로 무선 환경 변화가 발생한다면 측위 오차가 발생할 수 있으나 이러한 경우는 거의 발생하지 않는다.
특히, 어떤 고정 노드(2)로부터 수신된 신호의 세기는 그 주변을 지날 때에 피크를 형성하는 데, 이러한 피크는 무선 환경 변화에 크게 영향을 받지 않는 경향을 갖고 있다. 따라서, 본 실시예에 따른 SLAM에 사용되는 신호 세기의 변화 패턴의 길이를 그 측위의 실시간성이 보장되는 한도에서 현재 수신된 신호가 피크 또는 피크의 인접 부분이 아니더라도 이동 노드(1)가 이미 거쳐온 경로 상의 여러 신호의 피크 부분을 포함하도록 충분히 길게 해주면 무선 환경 변화에 매우 강인하게 된다.
상술한 바와 같이, 본 실시예의 SLAM에 사용되는 신호 세기의 변화 패턴은 이동 노드(1)의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화를 그래프화한 기하학적인 서피스 형태의 3차원 패턴으로서 이동 노드(1)의 서피스 형태의 3차원 패턴과 지도 데이터의 서피스 형태의 3차원 패턴간의 비교 관점에서 보면, 이동 노드(1)의 현재 위치에서의 무선 환경 변화는 현재 수신된 신호의 세기에 해당하는 서피스 부분의 높이 오차로만 이어지며 무선 환경 변화의 지점이 아닌 다른 지점들에 해당하는 서피스 대부분에는 영향을 주지 않게 된다. 즉, 이동 노드(1)의 현재 위치에서의 무선 환경 변화는 서피스 형태의 일부 변형을 가져올 지라도 서피스의 전체적인 형태에 거의 영향을 주지 않는다.
종래의 무선 측위 알고리즘은 현재 수신된 신호 세기의 수치 값과 라디오맵 내에 분포된 신호 세기의 수치 값을 비교하기 때문에 현재 수신된 신호 세기의 수치 값과 가장 유사한 수치 값을 갖는 이동 노드(1)의 실제 위치의 인접 지점을 이동 노드(1)의 위치로 잘못 추정하게 되는 결과에 이르게 된다. 본 실시예의 SLAM 알고리즘에 따르면, 이동 노드(1)의 현재 위치에서의 무선 환경 변화는 서피스의 전체적인 형태에 거의 영향을 주지 않기 때문에 맵 데이터가 나타내는 지도 내에서 3차원 패턴의 서피스 형태와 가장 유사한 형태를 갖는 서피스 부분을 색출할 때에 현재 수신된 신호의 세기의 오차로 인해 원래 색출하고자 하는 서피스 부분과 다른 서피스 부분을 색출할 가능성은 매우 낮다. 이와 같이, 현재 수신된 신호 세기의 수치 값과 라디오맵 내에 분포된 신호 세기의 수치 값의 비교에 따른 종래 알고리즘의 측위 오차는 원천적으로 차단될 수 있어 이동 노드(1)의 측위 정확도가 대폭 향상될 수 있다.
LTE 망의 기지국은 그 설치에 와이파이 망의 액세스 포인트와 비해 매우 많은 비용이 소비되기 때문에 주변 기지국과 중계 서비스 지역이 가급적 겹치지 않게 주변 기지국으로부터 멀리 떨어져 설치되고 있다. 그 결과, LTE 신호는 실내 및 실외 전역에 고르게 분포되어 있으나, 신호 세기의 변화가 크지 않은 지역이 넓다는 특성을 갖고 있다. 상술한 바와 같이, 종래의 무선 측위 알고리즘은 공통적으로 현재 수신된 신호 세기만을 이용하여 이동 노드(1)의 위치를 추정하기 때문에 이동 노드(1)의 이동 경로 상에서 측위 지점들간에 신호 세기의 변화가 거의 없는 경우에 그 신호 세기만으로 그 측위 지점들을 구별할 수 없을 뿐만 아니라 주변의 노이즈에 매우 민감하게 반응하여 측위 오차가 매우 크게 된다.
이동 노드(1)의 이동 경로 상에서 서로 인접해 있는 측위 지점들간에는 LTE 신호의 세기 변화가 거의 없는 경우라도 본 실시예의 무선 측위에 사용되는 신호 세기의 변화 패턴의 길이를 이동 노드(1) 측위의 실시간성이 보장되는 한도에서 충분히 길게 해주면 그 신호 세기의 변화 패턴의 길이에 해당하는 이동 거리 내에서는 이동 노드(1)의 정확한 위치 추정이 가능한 정도로 LTE 신호의 세기는 충분히 변화하게 된다. 이에 따라, 본 실시예의 SLAM 알고리즘은 이동 노드(1)의 이동 경로 상에서 서로 인접해 있는 측위 지점들간에는 LTE 신호의 세기 변화가 거의 없는 경우라도 이동 노드(1)의 위치를 정확하게 추정할 수 있다.
이와 같이, 본 실시예의 SLAM 알고리즘은 이동 경로 상의 측정 지점들간에 신호 세기의 변화가 거의 없는 LTE 신호를 이용하여 이동 노드(1)의 위치를 정확하게 추정할 수 있기 때문에 실내를 넘어서 실외를 모두 커버할 수 있는 지도의 작성을 가능하게 할 수 있다. 결과적으로, 본 실시예의 SLAM 알고리즘은 건물 실내와 도심 곳곳에 광범위하게 분포하는 LTE 신호를 이용하여 고층빌딩의 영향 없이 도심에서도 높은 정확도의 실내 측위 및 실외 측위가 모두 가능한 지도를 제공할 수 있음에 따라 현재 차량 네비게이션 시스템에서 가장 널리 사용되고 있으나 실내 측위가 불가능하며 도심에서 측위 정확도가 심하게 저하되는 GPS 기반의 지도를 대체할 수 있고 실외 및 실내를 아우르는 완전 자율 주행의 실현을 앞당길 수 있다.
이상에서는 와이파이 신호와 LTE 신호를 이용하는 경우에 대해 본 실시예의 SLAM 알고리즘의 측위 정확도의 우월성을 설명하였으나 본 실시예의 SLAM에 이용될 수 있는 신호에는 제한이 없으며, 블루투스, 지그비, 로라 등과 같은 무선 신호의 세기를 이용하여 본 실시예의 SLAM에 따른 측위가 수행될 수 있다.
310 단계에서 이동 노드(1)의 위치 보정부(70)는 430 단계에서 생성된 신호 세기의 변화 패턴과 이동 노드(1)가 위치하는 지역에서의 신호 세기의 분포와의 비교에 기초하여 230 단계에서 추정된 이동 노드(1)의 상대 위치를 보정한다. 여기에서, 이동 노드(1)가 위치하는 지역에서의 신호 세기 분포는 스토리지(30)에 저장된 지도의 신호 세기 분포이다. 보다 상세하게 설명하면, 310 단계에서 위치 보정부(70)는 450 단계에서 추정된 이동 노드(1)의 수신 위치의 좌표값을 이용하여 230 단계에서 추정된 이동 노드(1)의 상대 위치의 좌표값을 교정함으로써 230 단계에서 추정된 상대 위치를 보정한다. 본 실시예에서, 위치의 보정이나 좌표값 교정은 실제 위치나 실제 좌표값에 근사하도록 그 위치나 좌표값을 최적화시킨다는 의미로서 그 위치나 좌표값이 반드시 변경됨을 의미하는 것은 아니다.
일반적으로, 측위 분야에서 위치는 확률 모델을 기반으로 추정되기 때문에 그 위치 추정값에는 항상 오차가 존재한다. 예를 들어, 본 실시예의 SLAM에 사용되는 상대 측위와 무선 측위도 이동 노드(1)에 어떤 지점에 실제 위치하고 있는지는 모르지만 그 지점에 위치할 확률이 높다는 가정을 통해 그 지점을 이동 노드(1)의 위치로 추정하게 된다. 상술한 바와 같이, 230 단계에서 추정된 이동 노드(1)의 상대 위치는 오차 누적 등으로 인해 그 추정값의 정확도가 매우 낮다. 본 실시예는 430 단계에서 생성된 신호 세기의 변화 패턴과 이동 노드(1)가 위치하는 지역에서의 신호 세기의 분포와의 비교에 기초하여 230 단계에서 추정된 상대 위치를 보정함으로써 이동 노드(1)의 상대 위치의 오차를 감소시킬 수 있다.
도 12는 도 8에 도시된 대상 지역에서 PDR 알고리즘에 의해 추정된 이동 노드(1)의 이동 궤적도이다. 도 12의 (a)에는 사용자가 스마트폰을 들고 시작점 (0,0)으로부터 출발하여 건물 복도를 두 바퀴 돌면서 PDR 알고리즘에 의해 추정된 이동 노드(1)의 이동 궤적이 도시되어 있다. 이것으로부터 첫 번째 돌 때에 추정된 이동 궤적과 두 번째 돌 때에 추정된 이동 궤적이 매우 다름을 알 수 있다. 특히, PDR 오차 누적으로 인해 두 번째 돌 때에 추정된 이동 궤적이 이동 노드(1)의 실제 이동 궤적과 더 차이가 남을 알 수 있다. 도 12의 (b)에는 첫 번째 이동 궤적과 두 번째 이동 궤적 사이에 각 측위점에서 수신된 신호의 세기가 서로 유사한 측위점들끼리 연결된 모습이 도시되어 있고, 도 12의 (c)에는 첫 번째 이동 궤적과 두 번째 이동 궤적 사이에 각 측위점에서 생성된 신호 세기의 변화 패턴이 서로 유사한 측위점들끼리 연결된 모습이 도시되어 있다.
도 12의 (b)의 경우, 어떤 측위점에서 수신된 신호가 매우 미약하거나 변형된 경우 등 비정상적인 상태에 있는 경우에 그 측위점에서 수신된 신호의 세기 오차가 매우 큼에 따라 첫 번째 이동 궤적과 두 번째 이동 궤적 사이에 실제 동일 위치에 해당하는 측위점끼리 연결되지 못하고 엉뚱한 측위점끼리 연결되었음을 볼 수 있다. 도 12의 (c)의 경우, 어떤 측위점에서 수신된 신호가 매우 미약하거나 변형된 경우 등 비정상적인 상태에 있는 경우에도 각 측위점에서 생성된 신호 세기의 변화 패턴의 전체적인 형태에 거의 영향을 주지 않기 때문에 첫 번째 이동 궤적과 두 번째 이동 궤적 사이에 실제 동일 위치에 해당하는 측위점끼리 비교적 정확하게 연결되었음을 볼 수 있다.
따라서, 종래의 무선 측위 알고리즘에 의해 추정된 이동 노드(1)의 수신 위치의 좌표값을 이용하여 이동 노드(1)의 상대 위치의 좌표값을 교정하는 것에 비해 본 실시예에 따른 서피스 상관도 기반의 무선 측위 알고리즘에 의해 추정된 이동 노드(1)의 수신 위치의 좌표값을 이용하여 이동 노드(1)의 상대 위치의 좌표값을 교정할 때에 대상 지역 전체에 걸쳐 이동 노드(1)의 상대 위치의 오차를 정확하게 보정할 수 있음을 알 수 있다. 결과적으로, 이동 노드(1)에 대한 측위 정확도가 향상됨에 따라 정확한 경로 정보가 기록된 지도를 작성할 수 있다.
특히, 무선 측위부(60)는 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴을 이용하는 서피스 상관도 기반의 무선 측위에 의해 이동 노드(1)의 수신 위치를 추정하기 때문에 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하더라도 이동 노드(1)의 수신 위치의 추정값의 오차가 거의 발생하지 않는다. 본 실시예는 450 단계에서 추정된 이동 노드(1)의 수신 위치의 좌표값을 이용하여 230 단계에서 추정된 이동 노드(1)의 상대 위치의 좌표값을 교정함으로써 무선 환경 변화가 발생하는 경우에도 이동 노드(1)의 상대 위치 보정을 통해 이동 노드(1)의 현재 위치를 매우 정확하게 추정할 수 있다.
이러한 서피스 상관도 기반의 무선 측위의 정확도가 매우 높은 이유는 그것이 복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴을 이용하기 때문에 현재 시점에서 수신된 신호가 매우 미약하거나 변형된 경우 등 비정상적인 상태에 있는 경우에도 과거의 여러 시점에 걸쳐 수신된 신호의 변화 패턴에 의해 현재 시점에서 수신된 신호의 결함이 보완될 수 있다는 데에 있다. 한편, 이동 노드(1)가 하나의 길이 여러 갈래로 갈라지는 분기점이나 좁은 골목길로부터 넓은 광장으로 진입하는 지점에 위치하고 있을 때, 과거의 여러 시점에 걸쳐 수신된 신호의 변화 패턴은 여러 갈래의 길이나 광장에서의 임의 경로에 대해 모두 동일하기 때문에 현재 시점에서 수신된 신호가 매우 미약하거나 변형된 경우 등 비정상적인 상태에 있는 경우에 이동 노드(1)가 여러 갈래의 길 중 어느 길로 진입하거나 광장에서 어느 방향으로 진행할 지에 대한 추정은 매우 어렵게 된다.
이에 따라, 하나의 길이 여러 갈래로 갈라지거나 좁은 골목길로부터 넓은 광장으로 진입하는 경우 등 경로 변화가 발생하는 경우에 본 실시예에서의 서피스 상관도 기반의 무선 측위의 정확도는 저하될 수 있다. 상대 측위부(40)는 센서부(20)에 의한 이동 노드(1)의 움직임 감지에 기초하여 이동 노드(1)의 상대 위치를 추정하기 때문에 하나의 길이 여러 갈래로 갈라지거나 좁은 골목길로부터 넓은 광장으로 진입하는 경우 등 경로 변화는 이동 노드(1)의 상대 위치의 추정값의 정확도에 영향을 주지 않는다.
본 실시예는 서피스 상관도 기반의 무선 측위에 의해 추정된 이동 노드(1)의 수신 위치의 좌표값을 이용하여 이동 노드(1)의 움직임 감지 기반의 상대 측위에 의해 추정된 이동 노드(1)의 상대 위치의 좌표값을 교정함으로써 상대 측위의 결함과 무선 측위의 결함간의 상호 보완을 통해 이동 노드(1)의 상대 위치의 오차를 감소시킬 수 있을 뿐만 아니라 경로 변화 등에 의한 이동 노드(1)의 수신 위치의 추정값의 정확도 저하를 방지할 수 있다. 즉, 본 실시예는 상대 측위의 결함과 무선 측위의 결함간의 상호 보완을 통해 무선 환경 변화, 경로 변화 등 다양한 환경 변화에도 항상 이동 노드(1)의 현재 위치를 정확하게 추정할 수 있고, 이와 같이 정확하게 추정된 이동 노드(1)의 현재 위치와 그 현재 위치에서 수신된 신호의 세기를 기록함으로써 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다.
310 단계에서 위치 보정부(70)는 다음 수학식 1에 따라 450 단계에서 추정된 이동 노드(1)의 수신 위치의 좌표값을 이용하여 230 단계에서 추정된 이동 노드(1)의 상대 위치의 좌표값을 교정함으로써 230 단계에서 추정된 상대 위치를 보정한다. 수학식 1은 X에 해당하는 n 개의 위치 좌표값에 대한 좌측 제곱항의 합과 우측 제곱항의 합을 최소로 하는 X*, 즉 새로운 n 개 좌표값을 산출하기 위한 식이다. 수학식 1의 해는 가우스-뉴턴법(Gauss-Newton Method) 등을 이용하여 구해질 수 있다.
Figure PCTKR2017015651-appb-M000001
이동 노드(1)가 사용자에 의해 휴대되는 스마트폰인 경우에 사용자가 첫 번째 스텝의 위치 x1로부터 n-1 번의 스텝을 걸었다고 가정하면, 수학식 1에서 X = {x1, x2, x3, ..., xi, xi+ 1, ..., xn}T이다. 여기에서, 위 첨자 T는 X가 n 개의 위치 좌표값이 일렬로 나열된 열벡터(column vector)임을 의미한다. 사용자의 이동 속도와 이동 방향은 매우 변화가 심하기 때문에 사용자의 각 스텝이 이동 노드(1)의 이동 경로 상의 각 측위점으로 설정된다. 사용자의 스텝은 스마트폰에 내장된 센서에 의해 검출될 수 있다. 즉, 이동 노드(1)는 사용자의 스텝마다 그것의 상대 위치를 추정함과 동시에 수신 위치를 추정한다. 이동 노드(1)가 차량에 탑재되는 네비게이션 시스템인 경우라면, 사용자의 스텝 대신에 이동 노드(1)의 이동 경로 상의 일정 거리마다 측위점이 설정될 수도 있다.
좌측 제곱항의 "xi"는 사용자의 i-1 번째 스텝에 대한 i 번째 스텝의 상대 위치의 좌표값을 의미하고, "xi+1"은 사용자의 i 번째 스텝에 대한 i+1 번째 스텝의 상대 위치의 좌표값을 의미하고, "ui+1"은 i 번째 스텝의 상대 위치로부터 i+1 번째 스텝의 상대 위치로의 이동 거리와 이동 방향을 의미한다. "f(xi, ui+1)"은 사용자의 i 번째 스텝의 상대 위치 좌표값에 ui+1을 적용함으로써 사용자의 i+1 번째 스텝의 상대 위치의 좌표값을 산출하기 위한 함수를 의미한다. 본 실시예에 따라 작성되는 지도의 좌표계가 2차원 좌표계라면, "f(xi, ui+1)"은 다음 수학식 2와 같이 표현될 수 있다.
Figure PCTKR2017015651-appb-M000002
수학식 2에서 "xi"의 좌표값은 (xi,1, xi,2)이고, "xi+1"의 좌표값은 (xi+1,1, xi+1,2)이다. "hi+1"은 i 번째 스텝의 상대 위치로부터 i+1 번째 스텝의 상대 위치로의 이동 방향을 나타내고, "li+1"은 이동 거리를 나타낸다. "ui+1"은 센서부(20)의 출력 신호의 값으로부터 산출된 이동 거리와 이동 방향이다. 센서 자체의 하드웨어적인 오차, 센서로 유입되는 노이즈 등으로 인해 센서부(20)의 출력 신호의 값으로부터 산출된 이동 거리와 이동 방향, 즉 ui+1에는 항상 오차가 존재한다. 따라서, f(xi, ui+ 1)의 계산값, 즉 이동 노드(1)의 상대 위치 추정값에는 항상 오차가 존재하며, 상대 측위의 정확도를 높이기 위해서는 이 오차를 최소로 하여야 하는 제약(constraint)이 발생하게 된다. 이러한 상대 측위의 오차 제약은 수학식 1의 좌측 제곱항으로 표현된다.
예를 들어, 상대 측위의 오차를 감소시키기 위해 "xi+1"은 사용자의 i 번째 스텝의 상대 위치 좌표값에 사용자의 현재 진행 방향과 사용자의 평균 보폭을 적용함으로써 산출될 수 있다. X = {x1, x2, x3, ..., xi, xi+ 1, ..., xn}T에 대해 좌측 제곱항을 산출하고, 그것을 최소로 하는 새로운 값으로 X = {x1, x2, x3, ..., xi, xi+1, ..., xn}T를 갱신하게 되면 센서 오차로 인해 이동 노드(1)의 상대 위치 추정값이 이동 노드(1)의 실제 위치로부터 과도하게 벗어나는 현상이 방지될 수 있다. 상술한 바와 같이, PDR, DR 등과 같은 상대 측위 알고리즘의 오차는 이동 노드(1)의 상대 위치 추정이 반복될수록 이동 노드(1)의 상대 위치의 오차가 누적되는 특성을 갖고 있다. 이러한 특성과 기타 다른 원인들로 인해 f(xi, ui+1)의 오차를 최소로 하는 제약만으로는 상대 측위의 정확도를 높이는 데에는 한계가 있다. 본 실시예는 좌측 제곱항을 최소로 하는 제약에 우측 제곱항을 최소로 하는 제약을 더함으로써 이동 노드(1)의 상대 위치 추정값의 정확도를 향상시킨다.
우측 제곱항의 "xj"는 고정 노드(2)로부터 송출된 신호를 수신한 이동 노드(1)의 현재 위치를 의미하고, "vj"는 이동 노드(1)의 현재 위치 xj에서 생성된 신호 세기의 변화 패턴을 의미하고, "xk"는 스토리지(30)에 저장된 지도의 측위점들 중 대상 지역에서의 신호 세기 분포 내에서 이동 노드(1)의 현재 위치 xj에서 생성된 신호 세기의 변화 패턴과 가장 유사한 패턴을 갖는 측위점의 절대 위치를 의미한다. "g(xj, vj)"는 대상 지역에서의 신호 세기 분포 내에서 이동 노드(1)의 현재 위치 xj에서 생성된 신호 세기의 변화 패턴 vj과 가장 유사한 패턴을 갖는 부분의 절대 위치를 산출하기 위한 함수를 의미한다.
상술한 바와 같이, 비교부(65)는 이동 노드(1)의 현재 위치 xj에서 생성된 신호 세기의 변화 패턴 vj과 대상 지역에서의 신호 세기 분포간의 서피스 상관도를 기반으로 이동 노드(1)의 위치 xj에서 생성된 신호 세기의 변화 패턴 vj과 가장 유사한 패턴을 찾기 때문에 "g(xj, vj)"는 상술한 바와 같은 서피스 상관도 기반의 무선 측위 알고리즘의 함수라고 할 수 있다. 즉, 수신위치 추정부(66)는 g(xj, vj)에 따라 이동 노드(1)의 현재 위치 xj에서 수신된 신호에 대한 이동 노드(1)의 수신 위치를 추정한다. 이와 같이, "g(xj, vj)"의 계산값은 이동 노드(1)의 수신 위치의 추정 좌표값이다. "xk"는 이와 같이 현재 추정된 이동 노드(1)의 수신 위치의 좌표값에 가장 가까운 좌표값을 갖는 이전의 수신 위치에 해당하는 측위점, 즉 스토리지(30)에 저장된 지도의 측위점이라고 할 수 있다.
수학식 1의 우측 제곱항이 최소로 되어야 하는 제약을 만족하기 위해서는 "g(xj, vj)"의 좌표값과 "xk"의 좌표값은 동일하여야 한다. "xk"의 좌표값은 스토리지(30)에 저장되어 있는 측위점들의 좌표값, 즉 X = {x1, x2, x3, ..., xi, xi+ 1, ..., xn}T 중에서 "g(xj, vj)"의 계산값과 가장 가까운 좌표값을 갖는 어느 하나로서 상대 측위에 의한 이동 노드(1)의 상대 위치 추정값이거나 그 추정값에 대한 보정값이다. 이동 노드(1)가 대상 지역 내의 어떤 경로를 처음 돌 때에는 신호 세기 분포를 알 수 없으므로 이동 노드(1)의 상대 위치는 보정될 수 없어 "xk"의 좌표값은 상대 측위만에 의한 이동 노드(1)의 상대 위치 추정값이 된다.
본 실시예에 따른 서피스 상관도 기반의 무선 측위에 의한 이동 노드(1)의 위치 추정값의 정확도는 매우 높기 때문에 상대 측위의 오차가 존재하지 않는다면 상대 측위에 의한 이동 노드(1)의 위치 추정값과 서피스 상관도 기반의 무선 측위에 의한 이동 노드(1)의 위치 추정값은 거의 동일하게 된다. 그러나, 상대 측위의 오차, 대표적으로 PDR 오차로 인해 "g(xj, vj)"의 좌표값과 "xk"의 좌표값은 동일할 수가 없다. 따라서, 본 실시예는 스토리지(30)에 저장된 지도의 측위점의 좌표값을 "g(xj, vj)"의 좌표값에 근접시키는 방향으로 스토리지(30)에 저장된 지도의 측위점의 좌표값을 갱신시킴으로써 스토리지(30)에 저장된 지도의 측위점의 좌표값 정확도가 향상되도록 한다.
이와 같이, 310 단계에서 위치 보정부(70)는 수학식 1에 따라 450 단계에서 추정된 이동 노드(1)의 수신 위치의 좌표값과 스토리지(30)에 저장된 지도의 신호 세기 분포 내 측위점들 중 그 수신 위치의 좌표값에 가장 가까운 측위점의 좌표값의 차이를 최소로 하는 방향으로 230 단계에서 추정된 이동 노드(1)의 상대 위치의 좌표값과 스토리지(30)에 저장된 지도의 신호 세기 분포 내 각 측위점의 좌표값을 교정한다. 스토리지(30)에 저장된 지도의 신호 세기 분포 내 측위점들은 이동 노드(1)의 이동 경로 상에서 이동 노드(1)의 상대 위치가 이미 측정된 지점들이다. 이동 노드(1)는 대상 지역 내의 어떤 경로를 여러 바퀴 돌면서 수학식 1을 통해 각 측위점의 좌표값을 반복적으로 갱신함으로써 복수의 측위점으로 표현되는 그 경로의 그래프를 실제 경로에 근접하도록 최적화한다.
상술한 바와 같이, 본 실시예는 좌측 제곱항을 최소로 하는 제약에 우측 제곱항을 최소로 하는 제약을 더함으로써 이동 노드(1)의 상대 위치 추정값의 정확도를 향상시킨다. 즉, 310 단계에서 위치 보정부(70)는 수학식 1에 따라 450 단계에서 추정된 상대 위치의 좌표값과 이 상대 위치를 기준으로 하는 이동 노드(1)의 다른 상대 위치의 좌표값 사이의 오차를 최소로 함과 동시에 450 단계에서 추정된 이동 노드(1)의 수신 위치의 좌표값과 스토리지(30)에 저장된 지도의 신호 세기 분포 내 측위점들 중 그 수신 위치의 좌표값에 가장 가까운 측위점의 좌표값의 차이를 최소로 하는 방향으로 230 단계에서 추정된 이동 노드(1)의 상대 위치의 좌표값과 스토리지(30)에 저장된 지도의 신호 세기 분포 내 각 측위점의 좌표값을 교정한다.
이와 같이, 본 실시예는 서피스 상관도 기반의 무선 측위에 의한 이동 노드(1)의 위치 추정값 그대로 이동 노드(1)의 상대 위치 추정값을 보정하지 않고 450 단계에서 추정된 상대 위치의 좌표값과 이 상대 위치를 기준으로 하는 이동 노드(1)의 다른 상대 위치의 좌표값 사이의 오차를 최소로 하여야 한다는 제약을 부가함으로써 상대 측위의 결함과 무선 측위의 결함간의 상호 보완을 통해 무선 환경 변화, 경로 변화 등 다양한 환경 변화에도 항상 이동 노드(1)의 현재 위치를 정확하게 추정할 수 있고, 이와 같이 정확하게 추정된 이동 노드(1)의 위치의 좌표값과 그 위치에서 수신된 신호의 세기를 기록함으로써 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다.
도 13은 본 실시예에 따른 SLAM에 의한 상대 위치 보정의 일례를 도시한 도면이다. 도 13의 (a), (b), (c) 각각에는 사용자가 스마트폰을 들고 1번 측위점으로부터 출발하여 11 번의 스텝을 걸어서 다시 1번 측위점으로 돌아왔을 때에 상대 측위부(50)에 의해 PDR 알고리즘을 사용하여 각 스텝별로 추정된 이동 노드(1)의 상대 위치에 이동 노드(1)의 스텝 번호가 표시되어 있다. 이동 노드(1)는 1번 측위점으로부터 출발하여 한 스텝 이동하면서 센서부(20)의 출력 신호의 값으로부터 산출된 이동 거리와 이동 방향으로부터 1번 측위점에 대한 2번 측위점을 나타내는 상대 위치를 추정한다. 마찬가지로, 이동 노드(1)는 2번 측위점으로부터 한 스텝씩 이동하면서 3 ~ 12번 측위점에서의 이동 노드(1)의 상대 위치를 추정한다.
사용자가 1번 측위점으로부터 출발하여 1번 측위점으로 돌아왔으므로 1번 측위점과 12번 측위점은 실제 물리적 지형에서 동일 위치이다. 도 13의 (a)에 도시된 바와 같이, 12번 측위점은 1번 측위점에 중복되어 표시되어야 함에도 불구하고 PDR 오차 누적으로 인해 12번 측위점은 1번 측위점이 아닌 주변의 다른 위치에 표시되어 있다. 종래의 SLAM 알고리즘에서 루프 클로져(loop closure)란 어떤 랜드마크로부터 출발하여 루프 형태의 경로를 따라 이동하여 다시 동일한 랜드마크로 돌아왔을 때에 도착 당시에 추정된 랜드마크의 좌표값이 출발 당시의 랜드마크의 좌표값과 다른 경우에 도착 당시에 추정된 랜드마크의 좌표값을 출발 당시의 랜드마크의 좌표값으로 조정함으로써 지도의 정확도를 향상시키는 과정을 말한다.
도 13의 (b)에 도시된 바와 같이, 12번 측위점만을 1번 측위점으로 옮기면 다른 측위점에서의 상대 측위 오차가 무시되는 결과를 낳게 된다. 이동 노드(1)가 루트 형태로 돌았으나 출발점과 도착점이 PDR 오차 누적, 즉 모든 측위점에서의 상대 측위 오차의 누적이 주요 원인이기 때문에 도 13의 (c)에 도시된 바와 같이 각 측위점에서의 상대 측위 오차가 교정되어야 한다. 상술한 바와 같이, 종래의 SLAM 알고리즘은 랜드마크 식별을 통해 루프 클로져의 문제를 발견하는데, 이러한 랜드마크의 식별을 위해서는 라이다, 카메라, 초음파 센서 등과 같은 센서가 필요하다.
이동 노드(1)가 1번 측위점에 해당하는 시작점으로부터 출발하여 루트 형태의 경로를 돌아 그 시작점과 지리적으로 동일 위치에 해당하는 도착점에 도착한 경우, 310 단계에서 위치 보정부(70)는 수학식 1에 따라 450 단계에서 추정된 이동 노드(1)의 수신 위치인 도착점의 좌표값과 스토리지(30)에 저장된 지도의 신호 세기 분포 내 측위점들 중 그 도착점의 좌표값에 가장 가까운 측위점인 시작점의 좌표값의 차이를 최소로 하는 방향으로 230 단계에서 추정된 이동 노드(1)의 상대 위치의 좌표값과 스토리지(30)에 저장된 지도의 신호 세기 분포 내 각 측위점의 좌표값을 교정한다. 여기에서, 450 단계에서 추정된 이동 노드(1)의 수신 위치인 도착점의 좌표값은 서피스 상관도 기반의 무선 측위에 의해 추정된 이동 노드(1)의 위치 좌표값이기 때문에 그 위치 좌표값의 정확도가 매우 높다.
따라서, 라이다, 카메라, 초음파 센서 등과 같은 센서를 이용한 랜드마크의 식별 없이도 450 단계에서 추정된 이동 노드(1)의 수신 위치인 시작점의 좌표값에 일치 또는 근접되도록 도착점의 좌표값을 조정하는 과정을 통해 도착점의 상대 위치 추정값의 오차가 대폭 감소될 수 있다. 본 실시예에서는 물리적인 랜드마크 대신에 패턴 생성부(64)에 의해 생성된 신호 세기 변화 패턴과 스토리지(30)에 저장된 지도의 신호 세기 분포 내의 대응 패턴간의 유사도가 일종의 랜드마크의 역할을 한다. 본 실시예에 따르면, 물리적인 랜드마크 식별을 위한 별도의 센서 없이도 루프 클로져의 문제를 해결함으로써 지도의 정확도를 향상시킬 수 있다.
도 14-15는 종래의 무선 측위 알고리즘과 본 실시예의 무선 측위 알고리즘에 대한 SLAM 성능 시험을 비교한 도면이다. 도 8에 도시된 대상 지역에서 사용자가 스마트폰을 들고 시작점 (0,0)으로부터 출발하여 건물 복도를 두 바퀴 돌면서 종래의 무선 측위 알고리즘을 이용하여 이동 노드(1)의 이동 경로 상의 각 측위점 별로 이동 노드(1)의 수신 위치를 추정하고, 이동 노드(1)의 수신 위치 추정값을 이용하여 이동 노드(1)의 상대 위치의 좌표값을 교정하면서 스토리지(30)에 저장된 지도의 좌표계에 그 교정 좌표값에 해당하는 위치마다 도트를 표시하고 도트와 도트 사이를 연결하였다. 도 14의 (a)에는 이러한 과정을 통해 표시된 수많은 측위점 도트들의 나열에 해당하는 이동 노드(1)의 이동 궤적이 도시되어 있다.
도 14의 (b)에는 종래의 무선 측위 알고리즘 대신에 본 실시예의 서피스 상관도 기반의 무선 측위 알고리즘을 이용하여 각 측위점 별로 이동 노드(1)의 수신 위치를 추정하는 외에는 도 14의 (a)의 SLAM 성능 시험과 동일하게 진행된 경우의 이동 노드(1)의 이동 궤적이 도시되어 있다. 특히, 도 14의 (a), (b)의 시험은 도 8에 도시된 대상 지역에 설치된 수십 개의 액세스 포인트를 모두 동작시킨 상태에서 실행되었다. 종래의 무선 측위 알고리즘을 채용한 SLAM 알고리즘에 의해 추정된 이동 노드(1)의 이동 궤적에 비해 본 실시예의 서피스 상관도 기반의 무선 측위 알고리즘을 채용한 SLAM 알고리즘에 의해 추정된 이동 노드(1)의 이동 궤적이 건물 복도의 실제 형상에 훨씬 가까움을 알 수 있다.
도 15의 (a), (b), (c)에는 도 8에 도시된 대상 지역에 설치된 액세스 포인트들을 각각 50%, 20%, 10%를 동작시킨 상태에서 도 14의 (a)의 시험과 동일하게 진행된 경우의 이동 노드(1)의 이동 궤적이 도시되어 있다. 도 15의 (d), (e), (f)에는 도 8에 도시된 대상 지역에 설치된 액세스 포인트들을 각각 50%, 20%, 10%를 동작시킨 상태에서 도 14의 (b)의 시험과 동일하게 진행된 경우의 이동 노드(1)의 이동 궤적이 도시되어 있다. 도 15의 (a), (b), (c)로부터 종래의 무선 측위 알고리즘을 채용한 SLAM 알고리즘에 의해 추정되는 이동 노드(1)의 이동 궤적은 액세스 포인트 개수에 매우 민감하게 반응하여 많이 일그러짐을 알 수 있다.
도 15의 (d), (e), (f)로부터 본 실시예의 서피스 상관도 기반의 무선 측위 알고리즘을 채용한 SLAM 알고리즘에 의해 추정된 이동 노드(1)의 이동 궤적은 도 8에 도시된 대상 지역에 설치된 액세스 포인트의 개수 변화에 크게 영향을 받지 않고 건물 복도의 실제 형상과 유사한 형상을 유지하고 있음을 알 수 있다. 이와 같이, 본 실시예는 어떤 지역에서 양호한 무선 환경의 구축을 위해 요구되는 액세스 포인트 개수보다 적은 개수의 액세스 포인트가 설치됨에 따라 무선 환경이 열악한 경우에도 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다.
상술한 바와 같이, 종래의 무선 측위 알고리즘은 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악한 경우, 이동 노드(1)의 수신 위치의 추정값의 오차가 매우 크다. 반면, 본 실시예의 SLAM 알고리즘은 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 이용하여 이동 노드(1)의 수신 위치를 추정하기 때문에 통신 채널간의 신호 간섭, 액세스 포인트의 증설, 고장이나 장애물 발생 등과 같은 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악하더라도 이동 노드(1)의 수신 위치의 추정값의 오차가 거의 발생하지 않게 된다. 그 결과, 본 실시예의 서피스 상관도 기반의 무선 측위 알고리즘을 채용한 SLAM 알고리즘은 액세스 포인트의 개수 변화 등 무선 환경 변화가 발생하거나 액세스 포인트의 개수 부족 등 무선 환경이 열악한 경우에도 매우 정확한 경로 정보가 기록된 지도를 작성할 수 있다.
320 단계에서 이동 노드(1)의 무선 측위부(60)의 지도 작성부(80)는 310 단계에서 보정된 이동 노드(1)의 상대 위치를 이용하여 상기 지역의 경로를 표현함으로써 대상 지역에 대한 지도를 작성한다. 110 단계, 120 단계, 130 단계, 및 310 단계가 복수의 시점 별로 반복적으로 수행될 때마다, 320 단계에서 지도 작성부(80)는 스토리지(30)에 복수의 시점에서 보정된 복수의 상대 위치의 좌표값을 나열하여 기록함으로써 대상 지역의 경로를 표현하고, 스토리지(30)에 각 시점에서 보정된 이동 노드(1)의 상대 위치의 좌표값에 매핑시켜 각 시점과 동일 시점에서 수신된 적어도 하나의 신호를 송출한 적어도 하나의 고정 노드의 아이디와 그 적어도 하나의 신호의 세기를 기록함으로써 대상 지역의 신호 세기 분포 지도를 작성한다. 이와 같이, SLAM의 특성상 이동 노드(1)의 위치 추정과 지도 작성이 동시에 가능하기 때문에 사람이 직접 지형 정보나 신호 정보를 수집하는 방식에 비해 지도 작성에 소비되는 시간과 비용이 대폭 절감될 수 있다.
이동 노드(1)가 대상 지역 내의 모든 경로를 본 실시예에서 목표로 하는 지도 정확도에 해당하는 회수만큼 반복해서 완주하면, 스토리지(30)에는 매우 높은 정확도의 경로 정보, 신호 세기 정보, 및 고정 노드 정보가 기록된 지도가 완성되어 저장되어 있게 된다. 본 실시예의 SLAM 알고리즘에 의해 작성된 지도가 와이파이 신호 기반의 라디오맵을 포함하는 경우, 도 7에 도시된 바와 같이 그 지도에는 경로 정보, 와이파이 신호 세기 정보, 및 액세스 포인트 정보가 기록되어 있고, LTE 신호 기반의 라디오맵을 포함하는 경우에는 경로 정보, LTE 신호 세기 정보, 및 기지국 정보가 기록되어 있다. 스토리지(30)에 목표로 하는 정확도의 지도가 저장되어 있으면, 지도 작성부(80)는 이와 같이 작성된 지도를 무선 통신부(10)를 통하여 측위 서버(3)에 전송한다.
도 16은 본 실시예의 SLAM 알고리즘에 의해 작성된 지도의 예들을 도시한 도면이다. 도 16의 (a)에는 도 8에 도시된 대상 지역에 대해 본 실시예의 SLAM 알고리즘에 의해 작성된 지도가 도시되어 있다. 도 16의 (a)로부터 본 실시예의 SLAM 알고리즘에 의해 보정된 이동 노드(1)의 상대 위치 좌표값들을 갖는 측위점들의 나열에 의해 본 실시예의 SLAM 알고리즘에 의해 작성된 지도 내의 복도 형상이 도 8에 도시된 실제 복도 형상에 거의 근사하게 표현되어 있음을 알 수 있다. 이러한 지도 내의 경로 그래프는 도 7에 도시된 바와 같은 테이블의 수치 값들로부터 생성될 수 있다. 도 16의 (b)에는 여러 경로를 갖는 대상 지역에 대해 본 실시예의 SLAM 알고리즘에 의해 작성된 지도의 일례가 도시되어 있다. 도 16의 (b)에 도시된 지도도 위에서 설명된 SLAM 알고리즘에 의해 도 16의 (a)의 예와 마찬가지로 동일하게 작성될 수 있다.
도 16의 (a), (b)에 도시된 바와 같이, 본 실시예의 SLAM 알고리즘에 의해 작성된 지도에서 현실 세계의 물리적 지형은 복수의 맵링크(map link)와 복수의 맵노드(map node)로 단순화되어 표현된다. 각 맵링크는 사람이나 차량이 지나갈 수 있는 선형의 길을 나타내고, 각 맵노드는 복수의 맵링크가 만나는 지점을 나타내거나 하나의 맵링크가 꺾어지는 지점을 나타내는 맵노드의 형태로 표현된다. 즉, 각 맵노드는 길과 길이 교차하는 지점, 하나의 길이 여러 갈래로 갈라지기 시작하는 지점, 또는 길이 꺾어지는 지점을 나타낸다. 본 실시예에서 각 맵링크는 하나의 클러스터가 된다. 각 맵링크에는 각 클러스터의 순번이 표시되어 있다. 임의의 이동 노드는 측위 서버(3)에 저장된 지도의 클러스터들 중 그것 주변의 적어도 하나의 클러스터의 데이터를 측위 서버(3)로부터 수신함으로써 상술한 바와 같은 서피스 상관도 기반의 무선 측위를 실행하거나 종래의 무선 측위를 실행할 수 있다. 특히, 본 실시예에 따른 SLAM 알고리즘에 의해 작성된 지도에 서피스 상관도 기반의 무선 측위를 실행할 경우, 매우 높은 정확도의 측위 결과를 얻을 수 있다.
한편, 상술한 바와 같은 본 발명의 일 실시예에 따른 복합 측위 방법은 컴퓨터의 프로세서에서 실행 가능한 프로그램으로 작성 가능하고, 이 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 실행시키는 컴퓨터에서 구현될 수 있다. 컴퓨터는 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 임베디드 타입의 컴퓨터 등 프로그램을 실행시킬 수 있는 모든 타입의 컴퓨터를 포함한다. 또한, 상술한 본 발명의 일 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 램(RAM), 롬(ROM), 마그네틱 저장매체(예를 들면, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형상으로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (18)

  1. 이동 노드의 SLAM(Simultaneous Localization And Mapping) 방법에 있어서,
    이동 노드의 움직임 감지에 기초하여 상기 이동 노드의 상대 위치를 추정하는 단계;
    복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계;
    상기 생성된 신호 세기의 변화 패턴과 상기 이동 노드가 위치하는 지역에서의 신호 세기 분포와의 비교에 기초하여 상기 추정된 상대 위치를 보정하는 단계; 및
    상기 보정된 상대 위치를 이용하여 상기 지역의 경로를 표현함으로써 상기 지역에 대한 지도를 작성하는 단계를 포함하는 것을 특징으로 하는 SLAM 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 신호 세기의 변화 패턴은 상기 복수의 시점에서 추정된 이동 노드의 복수의 상대 위치에서 복수 회 수신된 적어도 하나의 신호의 세기의 연속적 나열로 표현되는 적어도 하나의 신호 세기의 변화 패턴인 것을 특징으로 하는 SLAM 방법.
  3. 제 1 항에 있어서,
    상기 생성된 신호 세기의 변화 패턴과 상기 신호 세기 분포와의 비교에 기초하여 상기 복수의 시점 중 현재 시점에서 수신된 적어도 하나의 신호에 대한 이동 노드의 수신 위치를 추정하는 단계를 더 포함하고,
    상기 상대 위치를 보정하는 단계는 상기 추정된 수신 위치의 좌표값을 이용하여 상기 추정된 상대 위치의 좌표값을 교정함으로써 상기 추정된 상대 위치를 보정하는 것을 특징으로 하는 SLAM 방법.
  4. 제 3 항에 있어서,
    상기 생성된 신호 세기의 변화 패턴과 상기 신호 세기 분포를 비교함으로써 상기 신호 세기 분포 내에서 상기 생성된 신호 세기의 변화 패턴과 가장 유사한 패턴을 갖는 부분을 색출하는 단계를 더 포함하고,
    상기 수신 위치를 추정하는 단계는 상기 색출된 부분이 지시하는 상기 지역에서의 절대 위치를 상기 이동 노드의 수신 위치로 추정하는 것을 특징으로 하는 SLAM 방법.
  5. 제 3 항에 있어서,
    상기 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화를 그래프화한 기하학적인 서피스(surface) 형태의 패턴과 상기 신호 세기 분포 내에서 상기 서피스 형태와 가장 유사한 형태를 갖는 서피스 부분을 색출하는 단계를 더 포함하고,
    상기 수신 위치를 추정하는 단계는 상기 색출된 서피스 부분이 지시하는 상기 지역에서의 절대 위치를 상기 이동 노드의 수신 위치로 추정하는 것을 특징으로 하는 SLAM 방법.
  6. 제 5 항에 있어서,
    상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계는 다차원 공간의 제 1 좌표축에 어느 하나의 고정 노드의 아이디를 매핑하고, 제 2 좌표축에 상기 이동 노드의 상대 위치를 매핑하고, 제 3 좌표축에 상기 어느 하나의 고정 노드로부터 송출된 신호의 세기를 매핑함으로써 결정되는 다차원 공간의 지점에 도트를 표시하는 방식으로 상기 기하학적인 서피스 형태의 패턴을 생성하는 것을 특징으로 하는 SLAM 방법.
  7. 제 3 항에 있어서,
    상기 상대 위치를 보정하는 단계는 상기 추정된 수신 위치의 좌표값과 상기 신호 세기 분포 내 측위점들 중 상기 수신 위치의 좌표값에 가장 가까운 측위점의 좌표값의 차이를 최소로 하는 방향으로 상기 추정된 상대 위치의 좌표값을 교정하고,
    상기 측위점들은 상기 이동 노드의 이동 경로 상에서 상기 이동 노드의 상대 위치가 측정된 지점들인 것을 특징으로 하는 SLAM 방법.
  8. 제 7 항에 있어서,
    상기 상대 위치를 보정하는 단계는 상기 추정된 상대 위치의 좌표값과 상기 추정된 상대 위치를 기준으로 하는 이동 노드의 다른 상대 위치의 좌표값 사이의 오차를 최소로 함과 동시에 상기 추정된 수신 위치의 좌표값과 상기 신호 세기 분포 내 측위점들 중 상기 수신 위치의 좌표값에 가장 가까운 측위점의 좌표값의 차이를 최소로 하는 방향으로 상기 추정된 상대 위치의 좌표값을 교정하는 것을 특징으로 하는 SLAM 방법.
  9. 제 7 항에 있어서,
    상기 상대 위치를 보정하는 단계는 상기 추정된 수신 위치인 도착점의 좌표값과 상기 신호 세기 분포 내 측위점들 중 상기 도착점의 좌표값에 가장 가까운 측위점인 시작점의 좌표값의 차이를 최소로 하는 방향으로 상기 추정된 상대 위치의 좌표값을 교정하고,
    상기 이동 노드는 상기 시작점으로부터 출발하여 루트 형태의 경로를 돌아 상기 시작점과 지리적으로 동일 위치에 해당하는 상기 도착점에 도착한 것을 특징으로 하는 SLAM 방법.
  10. 제 3 항에 있어서,
    상기 수신 위치를 추정하는 단계는
    상기 적어도 하나의 고정 노드로부터 송출된 적어도 하나의 신호의 세기를 측정하는 단계;
    상기 측정된 적어도 하나의 신호 세기와 상기 추정된 이동 노드의 상대 위치로부터 상기 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계; 및
    상기 생성된 적어도 하나의 신호 세기의 변화 패턴과 상기 지역에서의 신호 세기의 분포와의 비교에 기초하여 상기 수신 위치를 추정하는 단계를 포함하는 것을 특징으로 하는 SLAM 방법.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계는 상기 추정된 상대 위치에서 상기 적어도 하나의 고정 노드로부터 수신된 적어도 하나의 신호 세기의 패턴을 나타내는 패턴 데이터를 상기 상대 위치 추정 이전에 추정된 상대 위치에 대한 패턴 데이터에 누적시킴으로써 상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 것을 특징으로 하는 SLAM 방법.
  12. 제 11 항에 있어서,
    상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 단계는 상기 측정된 각 신호 세기를 상기 추정된 상대 위치에 연관시켜 나타내는 공간도메인 데이터로부터 상기 패턴 데이터를 생성하는 것을 특징으로 하는 SLAM 방법.
  13. 제 1 항에 있어서,
    상기 신호 세기를 측정하는 단계, 상기 상대 위치를 추정하는 단계, 상기 패턴을 생성하는 단계, 및 상기 상대 위치를 보정하는 단계는 상기 복수의 시점 별로 반복적으로 수행되고,
    상기 지도를 작성하는 단계는 상기 복수의 시점에서 보정된 복수의 상대 위치의 좌표값을 나열하여 기록함으로써 상기 지역의 경로를 표현하고, 상기 각 시점에서 보정된 상대 위치의 좌표값에 매핑시켜 상기 각 시점의 동일 시점에서 수신된 적어도 하나의 신호의 세기를 기록함으로써 상기 지도를 작성하는 것을 특징으로 하는 SLAM 방법.
  14. 제 1 항 내지 제 13 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  15. 이동 노드의 SLAM(Simultaneous Localization And Mapping) 장치에 있어서,
    이동 노드의 움직임 감지에 기초하여 상기 이동 노드의 상대 위치를 추정하는 상대 측위부;
    복수의 시점에 걸쳐 수신된 적어도 하나의 신호 세기의 변화 패턴에 기초하여 상기 복수의 시점 중 현재 시점에서 수신된 신호에 대한 이동 노드의 수신 위치를 추정하는 무선 측위부;
    상기 추정된 수신 위치의 좌표값을 이용하여 상기 추정된 상대 위치의 좌표값을 교정함으로써 상기 추정된 상대 위치를 보정하는 위치 보정부; 및
    상기 보정된 상대 위치를 이용하여 상기 이동 노드가 위치하는 지역의 경로를 표현함으로써 상기 지역에 대한 지도를 작성하는 지도 작성부를 포함하는 것을 특징으로 하는 SLAM 장치.
  16. 제 15 항에 있어서,
    상기 무선 측위부는
    적어도 하나의 고정 노드로부터 송출된 적어도 하나의 신호의 세기를 측정하는 신호 처리부;
    상기 측정된 적어도 하나의 신호 세기와 상기 추정된 이동 노드의 상대 위치로부터 상기 복수의 시점에 걸친 이동 노드의 위치의 상대적인 변화에 따른 적어도 하나의 신호 세기의 변화 패턴을 생성하는 패턴 생성부; 및
    상기 생성된 적어도 하나의 신호 세기의 변화 패턴과 상기 지역에서의 신호 세기 분포와의 비교에 기초하여 상기 이동 노드의 수신 위치를 추정하는 수신위치 추정부를 포함하는 것을 특징으로 하는 SLAM 장치.
  17. 제 16 항에 있어서,
    상기 패턴 생성부에 의해 생성된 패턴 데이터를 누적시키기 위한 버퍼를 더 포함하고,
    상기 패턴 생성부는 상기 추정된 상대 위치에서 상기 적어도 하나의 고정 노드로부터 수신된 적어도 하나의 신호 세기의 패턴을 나타내는 패턴 데이터를 상기 버퍼에 저장되어 있는 패턴 데이터에 누적시켜 저장함으로써 상기 적어도 하나의 신호 세기의 변화 패턴을 생성하는 것을 특징으로 하는 SLAM 장치.
  18. 제 15 항에 있어서,
    상기 지역에서의 신호 세기의 분포를 나타내는 지도가 저장되는 스토리지를 더 포함하고,
    상기 무선 측위부는 상기 신호 세기의 변화 패턴과 상기 스토리지에 저장된 지도의 신호 세기 분포와의 비교에 기초하여 상기 수신 위치를 추정하는 것을 특징으로 하는 SLAM 장치.
PCT/KR2017/015651 2017-01-25 2017-12-28 무선 환경 변화에 강인한 slam 방법 및 장치 WO2018139773A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/477,311 US11275163B2 (en) 2017-01-25 2017-12-28 Slam method and apparatus robust to wireless environment change

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20170011988 2017-01-25
KR10-2017-0011988 2017-01-25
KR10-2017-0124468 2017-09-26
KR20170124468 2017-09-26
KR10-2017-0155888 2017-11-21
KR1020170155888A KR20180087827A (ko) 2017-01-25 2017-11-21 무선 환경 변화에 강인한 slam 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2018139773A1 true WO2018139773A1 (ko) 2018-08-02

Family

ID=62979378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/015651 WO2018139773A1 (ko) 2017-01-25 2017-12-28 무선 환경 변화에 강인한 slam 방법 및 장치

Country Status (2)

Country Link
US (1) US11275163B2 (ko)
WO (1) WO2018139773A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110927666A (zh) * 2019-11-08 2020-03-27 西北大学 一种基于LoRa信号的非接触式检测定位方法及系统
CN113573232A (zh) * 2021-07-13 2021-10-29 深圳优地科技有限公司 机器人巷道定位方法、装置、设备及存储介质
US20220236364A1 (en) * 2020-01-02 2022-07-28 Boe Technology Group Co., Ltd. Vehicle positioning method and apparatus, and vehicle

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112805750A (zh) 2018-08-13 2021-05-14 奇跃公司 跨现实系统
CN113196209A (zh) 2018-10-05 2021-07-30 奇跃公司 在任何位置渲染位置特定的虚拟内容
WO2020179459A1 (ja) * 2019-03-06 2020-09-10 ソニー株式会社 地図作成装置、地図作成方法、及びプログラム
WO2020210990A1 (en) * 2019-04-16 2020-10-22 Huawei Technologies Co., Ltd. System and method for authenticating a connection between a user device and a vehicle using bluetooth low energy technology
CN112013844B (zh) * 2019-05-31 2022-02-11 北京小米智能科技有限公司 建立室内环境地图的方法及装置
JP2022551734A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 複数のデバイスタイプをサポートするクロスリアリティシステム
JP2022551733A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 位置特定サービスを伴うクロスリアリティシステム
JP2022551735A (ja) * 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 無線フィンガプリントを用いたクロスリアリティシステム
CN114730546A (zh) 2019-11-12 2022-07-08 奇跃公司 具有定位服务和基于位置的共享内容的交叉现实系统
US11562542B2 (en) 2019-12-09 2023-01-24 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
JP2023514208A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム
WO2021163306A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with accurate shared maps
US11830149B2 (en) 2020-02-13 2023-11-28 Magic Leap, Inc. Cross reality system with prioritization of geolocation information for localization
CN115461787A (zh) 2020-02-26 2022-12-09 奇跃公司 具有快速定位的交叉现实系统
US10976406B1 (en) * 2020-02-28 2021-04-13 Juniper Networks, Inc. Multi-layer statistical wireless terminal location determination
US11900547B2 (en) 2020-04-29 2024-02-13 Magic Leap, Inc. Cross reality system for large scale environments
US11754587B2 (en) * 2020-04-30 2023-09-12 Abl Ip Holding Llc Activity tracking using motion sensors in a wireless luminaire network
JP2022040535A (ja) * 2020-08-31 2022-03-11 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 解錠システムおよび該解錠システムの制御方法、制御装置および該制御装置の制御方法、判定装置および判定方法
DE102020216317A1 (de) 2020-12-18 2022-06-23 Zf Friedrichshafen Ag Innenraumlokalisierung beweglicher Objekte
JP2022138037A (ja) * 2021-03-09 2022-09-22 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN117308925B (zh) * 2023-11-29 2024-02-09 中国人民解放军国防科技大学 一种频谱地图惯导组合的导航方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4868169B2 (ja) * 2005-11-21 2012-02-01 日本電気株式会社 位置推定システム、位置推定方法および位置推定用プログラム
KR20150024617A (ko) * 2013-08-27 2015-03-09 숭실대학교산학협력단 클라이언트, 서버 및 이를 포함하는 무선 신호 지도 작성 시스템
US20160216359A1 (en) * 2011-11-11 2016-07-28 The Board Of Trustees Of The Leland Stanford Junior University Method and System for Signal-based Localization
KR101673172B1 (ko) * 2015-09-23 2016-11-07 영남대학교 산학협력단 실내 위치 측정 시스템
KR101675759B1 (ko) * 2015-08-12 2016-11-15 한양대학교 산학협력단 위치 추정 방법, 장치 및 그 기록매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013188579A1 (en) * 2012-06-12 2013-12-19 Trx Systems, Inc. Wi-fi enhanced tracking algorithms
WO2014189495A1 (en) * 2013-05-21 2014-11-27 Intel Corporation Systems and methods for simultaneously and automatically creating databases of wifi signal information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4868169B2 (ja) * 2005-11-21 2012-02-01 日本電気株式会社 位置推定システム、位置推定方法および位置推定用プログラム
US20160216359A1 (en) * 2011-11-11 2016-07-28 The Board Of Trustees Of The Leland Stanford Junior University Method and System for Signal-based Localization
KR20150024617A (ko) * 2013-08-27 2015-03-09 숭실대학교산학협력단 클라이언트, 서버 및 이를 포함하는 무선 신호 지도 작성 시스템
KR101675759B1 (ko) * 2015-08-12 2016-11-15 한양대학교 산학협력단 위치 추정 방법, 장치 및 그 기록매체
KR101673172B1 (ko) * 2015-09-23 2016-11-07 영남대학교 산학협력단 실내 위치 측정 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110927666A (zh) * 2019-11-08 2020-03-27 西北大学 一种基于LoRa信号的非接触式检测定位方法及系统
CN110927666B (zh) * 2019-11-08 2023-03-28 西北大学 一种基于LoRa信号的非接触式检测定位方法及系统
US20220236364A1 (en) * 2020-01-02 2022-07-28 Boe Technology Group Co., Ltd. Vehicle positioning method and apparatus, and vehicle
US11747431B2 (en) * 2020-01-02 2023-09-05 Boe Technology Group Co., Ltd. Vehicle positioning method and apparatus, and vehicle
CN113573232A (zh) * 2021-07-13 2021-10-29 深圳优地科技有限公司 机器人巷道定位方法、装置、设备及存储介质
CN113573232B (zh) * 2021-07-13 2024-04-19 深圳优地科技有限公司 机器人巷道定位方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20200033463A1 (en) 2020-01-30
US11275163B2 (en) 2022-03-15

Similar Documents

Publication Publication Date Title
WO2018139773A1 (ko) 무선 환경 변화에 강인한 slam 방법 및 장치
KR102110813B1 (ko) 무선 환경 변화에 강인한 slam 방법 및 장치
CN109951830B (zh) 一种多信息融合的室内外无缝定位方法
WO2019212200A1 (ko) 다양한 환경에서 위치 정확도가 향상된 무선 측위 방법 및 장치
WO2017086561A1 (en) Landmark location determination
JP6906617B2 (ja) 高正確度の無線測位方法及び装置
WO2016032172A1 (ko) 관심 지역 및 입구의 위치를 결정하는 시스템
US11968591B2 (en) Maintenance of a location fingerprint database for an area
KR101314588B1 (ko) 인공 표식물의 지도 작성 방법 및 장치와 이를 이용한 이동체 위치 측정 방법 및 장치
WO2014065540A1 (ko) 하향링크 액세스 포인트를 이용한 위치추정장치 및 위치추정방법
CN111491367B (zh) 一种基于群智感知和多融合技术的室内定位方法
WO2021137483A1 (ko) 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템
CN105072580A (zh) 基于扫地机器人的wifi指纹地图自动采集系统及方法
CN102116625A (zh) 巡线机器人gis-gps导航方法
WO2019194424A1 (ko) 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
WO2020075954A1 (ko) 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법
WO2020071619A1 (ko) 정밀 지도 업데이트 장치 및 방법
CN113556680B (zh) 指纹数据的处理方法、介质和移动机器人
WO2018139771A2 (ko) 고정확도의 무선 측위 방법 및 장치
CN110967013A (zh) 一种基于室内地磁场信息和智能手机的室内区域定位系统
CN115808170B (zh) 一种融合蓝牙与视频分析的室内实时定位方法
WO2021054601A1 (ko) 이미지 기반의 무선 측위 방법 및 장치
WO2020013433A1 (ko) 고정확도의 고속 무선 측위 방법 및 장치
WO2022240013A1 (ko) 관성 데이터 및 무선신호 데이터 기반 실내 측위 방법 및 장치
WO2023022305A1 (ko) 보행자 실내 위치 측위 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17893851

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17893851

Country of ref document: EP

Kind code of ref document: A1