KR101468545B1 - 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법 - Google Patents

이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법 Download PDF

Info

Publication number
KR101468545B1
KR101468545B1 KR1020130080688A KR20130080688A KR101468545B1 KR 101468545 B1 KR101468545 B1 KR 101468545B1 KR 1020130080688 A KR1020130080688 A KR 1020130080688A KR 20130080688 A KR20130080688 A KR 20130080688A KR 101468545 B1 KR101468545 B1 KR 101468545B1
Authority
KR
South Korea
Prior art keywords
hypothesis
map
hypotheses
landmarks
mobile robot
Prior art date
Application number
KR1020130080688A
Other languages
English (en)
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 KR1020130080688A priority Critical patent/KR101468545B1/ko
Application granted granted Critical
Publication of KR101468545B1 publication Critical patent/KR101468545B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Mathematical Physics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 장치는, 이동 로봇에서 발견되는 랜드마크들을 주어진 지도의 랜드마크들과 매칭하여 상기 이동 로봇의 위치 및 방향에 대한 가설들을 생성하는 가설 생성부; 상기 가설들 각각의 상태 정보-여기서 상기 상태 정보는 가설의 위치 및 방향 정보와 가설에 대응하는 지도 정보를 포함함-를 업데이트하는 가설 추적부; 상기 가설들 각각에 대하여 가설의 신뢰성을 평가하기 위한 점수를 부여하는 가설 스코어링부; 및 상기 부여된 점수를 바탕으로 상기 가설들 중 어느 하나의 가설을 선택하고, 상기 선택된 가설의 상태 정보가 가지는 위치 및 방향 정보와 지도 정보를 상기 이동 로봇의 위치 및 방향과 업데이트된 지도로 결정하는 가설 선택부를 포함하는 것을 특징으로 한다.

Description

이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법{Apparatus and method for global localization and map update for mobile robot}
본 발명은 이동 로봇의 전역위치인식 기술에 관한 것으로, 보다 상세하게는 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법에 관한 것이다.
실내공간에서 로봇이 위치인식을 하기 위해서는 실내공간에 대한 지도가 있어야 한다. 지도를 수작업으로 만들기는 어렵기 때문에 보통 건물의 도면을 사용하게 되는데 실제 주행환경에서는 도면에 없는 책상이나 선반 등이 많아 로봇이 인지하는 환경과는 크게 차이가 난다. 따라서 도면은 불완전한 지도라 할 수 있다. 로봇이 지도를 활용하기 위해서는 지도 좌표계 상에서의 로봇의 위치를 추정해야 한다. 지도가 주어지고 로봇의 초기 위치를 모르는 상황을 납치상황이라 하고 이때 로봇의 위치를 추정하는 것을 전역위치인식(global localization)이라 한다. 전역위치인식 기술은 자율주행 로봇이 납치상황에 빠졌을 때 이를 스스로 극복하기 위한 기술이다. 이 기술이 없으면 로봇이 위치를 잘못 추정하여 오작동할 때 임무를 수행하지 못 할 뿐만 아니라 사고를 일으킬 수도 있다. 로봇이 오작동을 일으킬 때 사람이 와서 이를 해결해야 한다면 로봇을 사용한 자동화 시스템의 이점이 줄어드는 것이므로 로봇의 효용성이 낮아지게 된다.
도면과 같은 불완전한 지도를 가지고 전역위치인식을 하는 것은 MCL(Monte Carlo Localization)이나 특징유도방법(feature driven method) 등의 기존 기술로는 실패 확률이 높다. 예컨대, 종래의 특징유도방법에서는 현재 측정치와 주어진 지도를 매칭하여 로봇의 실제 위치 및 방향의 가능한 후보로서 소위 가설(hypothesis)들을 검출하고, 가설들을 추적하면서 부적절한 가설들을 하나씩 제거해 나간다. 그런데 이러한 방법은 완전한 지도에서는 효과적일 수 있으나, 지도의 오류나 센서 오류에 의해 참 가설까지 제거될 위험이 있어서 작은 오류로도 그 성능이 심하게 악화될 수 있다. 따라서 기존의 실내 위치인식 방법은 인공 랜드마크를 사용하거나 SLAM(Simultaneous Localization and Mapping) 기술을 이용하여 완전한 지도를 만들어 사용하였다. 하지만 이러한 방법은 위치인식을 수행하기 전에 인공 랜드마크를 설치하거나 지도구축을 하는 등의 많은 사전작업이 필요하다는 단점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 도면과 같은 불완전한 지도가 주어졌을 때 이동 로봇이 자신의 위치를 초기화하거나 납치상황을 극복할 수 있도록 하기 위한, 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법을 제공하는 데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 장치는, 이동 로봇에서 발견되는 랜드마크들을 주어진 지도의 랜드마크들과 매칭하여 상기 이동 로봇의 위치 및 방향에 대한 가설들을 생성하는 가설 생성부; 상기 가설들 각각의 상태 정보-여기서 상기 상태 정보는 가설의 위치 및 방향 정보와 가설에 대응하는 지도 정보를 포함함-를 업데이트하는 가설 추적부; 상기 가설들 각각에 대하여 가설의 신뢰성을 평가하기 위한 점수를 부여하는 가설 스코어링부; 및 상기 부여된 점수를 바탕으로 상기 가설들 중 어느 하나의 가설을 선택하고, 상기 선택된 가설의 상태 정보가 가지는 위치 및 방향 정보와 지도 정보를 상기 이동 로봇의 위치 및 방향과 업데이트된 지도로 결정하는 가설 선택부를 포함하는 것을 특징으로 한다.
상기 이동 로봇의 전역위치인식 및 지도 업데이트 장치는 상기 이동 로봇에서 발견되는 측정치들의 발견 횟수를 바탕으로 상기 발견되는 랜드마크들을 선정하여 상기 가설 생성부에 제공하는 로컬 매핑부를 더 포함할 수 있다.
상기 가설 추적부는 상기 이동 로봇의 오도메트리와 상기 이동 로봇에서 발견되는 측정치들을 바탕으로 SLAM(Simultaneous Localization and Mapping) 기법을 이용하여 상기 상태 정보를 업데이트할 수 있다.
상기 가설 스코어링부는 가설이 발견한 랜드마크들 중 상기 주어진 지도에 있는 랜드마크들의 수와 상기 주어진 지도에 없는 랜드마크들의 수를 이용하여 상기 점수를 계산할 수 있다.
상기 가설 스코어링부는 상기 주어진 지도에 있는 랜드마크들의 수와 상기 주어진 지도에 없는 랜드마크들의 수의 차이를 상기 점수로서 계산할 수 있다.
상기 이동 로봇의 전역위치인식 및 지도 업데이트 장치는 상기 가설들 중 소정의 조건을 만족하는 가설을 틀린 가설로 판단하여 제거하는 가설 제거부를 더 포함하고, 상기 가설 추적부는 상기 가설들 중 상기 제거된 가설을 제외하고 상기 상태 정보를 업데이트할 수 있다. 상기 소정의 조건은, 가설에 부여된 점수, 가설이 벽을 통과하는지 여부, 가설이 상기 주어진 지도를 벗어났는지 여부 중 적어도 하나에 따를 수 있다.
상기 가설에 대응하는 지도 정보는 상기 가설이 발견한, 상기 주어진 지도에 없는 랜드마크들의 정보를 포함할 수 있다.
상기 가설 선택부는 가장 점수가 높은 가설과 두 번째로 점수가 높은 가설의 점수 차이가 소정 값 이상일 때 상기 가장 점수가 높은 가설을 선택할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 방법은, 이동 로봇에서 발견되는 랜드마크들을 주어진 지도의 랜드마크들과 매칭하여 상기 이동 로봇의 위치 및 방향에 대한 가설들을 생성하는 단계; 상기 가설들 각각의 상태 정보-여기서 상기 상태 정보는 가설의 위치 및 방향 정보와 가설에 대응하는 지도 정보를 포함함-를 업데이트하는 단계; 상기 가설들 각각에 대하여 가설의 신뢰성을 평가하기 위한 점수를 부여하는 단계; 및 상기 부여된 점수를 바탕으로 상기 가설들 중 어느 하나의 가설을 선택하고, 상기 선택된 가설의 상태 정보가 가지는 위치 및 방향 정보와 지도 정보를 상기 이동 로봇의 위치 및 방향과 업데이트된 지도로 결정하는 단계를 포함하는 것을 특징으로 한다.
상기된 본 발명에 따르면, 도면과 같은 불완전한 지도가 주어졌을 때 이동 로봇이 효과적으로 자신의 위치를 초기화하거나 납치상황을 극복할 수 있으며, 나아가 불완전한 지도를 업데이트할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 장치의 구성을 나타낸다.
도 2는 본 발명의 실시예에 따라 생성되는 가설들의 예를 보여준다.
도 3은 본 발명의 실시예에 따라 SLAM을 이용하여 가설을 추적한 결과의 예를 보여준다.
도 4는 본 발명의 일 실시예에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 방법의 흐름도를 나타낸다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
본 발명의 실시예에서는 불완전한 지도에서 전역위치인식을 수행함과 동시에 불완전한 지도를 완성할 수 있는 이동 로봇의 전역위치인식 및 지도 업데이트 장치를 제안한다. 주어진 지도를 바로 활용하여 위치인식을 수행함으로써 사전작업 단계를 생략할 수 있고, 점차 지도가 완성됨으로써 위치인식이 점점 더 정확하지게 된다. 본 발명의 실시예에서는 이동 로봇이 센서를 통하여 인지한 주변 환경과 매칭되는 위치들을 지도에서 찾아서 그 위치들을 가설(hypothesis)로 놓고 각 가설의 위치를 로봇의 위치로 가정하여 추적하고 검증한다. 그리고 가설들을 추적하면서 각 가설에 대하여 센싱 데이터가 지도와 얼마나 일치하는지 점수를 매겨 그중 가장 높은 점수를 가진 가설을 실제 로봇의 위치로 결정한다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 장치의 구성을 나타낸다. 본 실시예에 따른 전역위치인식 및 지도 업데이터 장치는, 도시된 바와 같이 로컬 매핑부(110), 가설 생성부(120), 가설 추적부(130), 가설 스코어링부(140), 가설 제거부(150), 가설 선택부(160)를 포함하여 이루어진다.
우선, 본 실시예에 따른 전역위치인식 및 지도 업데이트 장치는, 매 시간 t 마다 이동 로봇의 오도메트리(odometry) u t와 측정치(measurements) z t를 입력받는다. 오도메트리 u t는 통상 선속도(linear velocity) vt와 각속도(angular velocity) wt를 포함하며, 따라서 u t=[vt, wt]로 나타낼 수 있다. 측정치 z t는 통상 이동 로봇에 구비된 센서를 통하여 발견되는 점(point)과 선(line)을 포함하고, 따라서
Figure 112013061905256-pat00001
로 나타낼 수 있다. 여기서
Figure 112013061905256-pat00002
Figure 112013061905256-pat00003
는 각각 시간 t까지 발견된 nP개의 점 측정치(point measurements)와 nL개의 선 측정치(line measurements)를 나타낸다.
로컬 매핑부(110)는 이동 로봇에서 발견되는 측정치들, 즉 점 측정치들과 선 측정치들의 발견 횟수를 바탕으로 가설 생성을 위한 랜드마크를 선정한다. 이러한 로컬 매핑부(110)의 동작은 일시적인 센서 에러나 영상 처리 에러로 인한 쓸데없는 랜드마크를 바탕으로 가설이 생성되는 것을 방지하기 위함이다. 로컬 매핑부(110)는 발견되는 측정치들 중 연속적으로 소정 횟수(예컨대 3회) 이상 발견되는 측정치들을 가설 생성을 위한 랜드마크로 선정할 수 있다. 즉, 3회 이상 발견되는 점 측정치와 선 측정치를 실제로 존재하는 랜드마크로 보는 것이다. 로컬 매핑부(110)는 입력되는 측정치
Figure 112013061905256-pat00004
로부터, 연속적으로 소정 횟수 이상 발견되는 측정치들을 랜드마크로서 선정하여 후술할 가설 생성부(120)로 전달한다. 전달되는 정보는
Figure 112013061905256-pat00005
로 표현할 수 있으며, 여기서
Figure 112013061905256-pat00006
Figure 112013061905256-pat00007
는 각각 시간 t까지 3회 이상 발견된 ηP개의 점 랜드마크(point landmarks)와 ηL개의 선 랜드마크(line landmarks)이다.
가설 생성부(120)는 상기 로컬 매핑부(110)로부터 전달되는 랜드마크들을 주어진 지도의 랜드마크와 매칭하여 가설(hypothesis)들을 생성한다. 여기서 가설이란, 이동 로봇의 실제 위치 및 방향의 가능한 후보를 의미한다. 가설의 생성은 발견된 랜드마크가 지도 안의 랜드마크들 중 어떤 것과 연관이 있는지 결정하는 데이터 연관(data association) 기법을 통하여 생성될 수 있다. 예컨대, 가설 생성부(120)는 발견된 점 랜드마크와 선 랜드마크의 쌍에 대하여 지도 상의 매칭되는 점 랜드마크와 선 랜드마크의 쌍을 찾고, 매칭되는 쌍이 찾아지면 그에 대응하는 가설의 위치 및 방향을 계산한다. 물론, 찾아진 가설이 이미 존재하는 가설과 겹친다면 추가되지 않고, 기존의 가설과 겹치지 않는 새로운 가설이 찾아지는 경우에 추가된다.
도 2는 본 발명의 실시예에 따라 생성되는 가설들의 예를 보여준다. 도 2를 참조하면, 선 및 점 랜드마크들은 각각 청색의 선들과 점들로 표시된다. 좌측 하단의 굵은 적색 원은 이동 로봇의 실제 위치 및 방향을 나타낸다. 굵은 두 흑색 선들과 그 근처의 굵은 흑색 원은 각각 상기 로컬 매핑부(110)를 통하여 확인된 선 및 점 랜드마크를 나타낸다. 최초에 생성된 가설들은 방향을 표시한 청색 원들로 표시되며, 이들은 유사한 랜드마크 패턴에 놓여 있음을 확인할 수 있다.
가설 추적부(130)는 가설 생성부(120)에서 생성되는 각 가설에 대하여, 이동 로봇의 오도메트리와 측정치들을 바탕으로 가설을 추적한다. 본 발명의 실시예에서 가설의 추적에는 SLAM(Simultaneous Localization and Mapping) 기법이 이용되는데, 주지되다시피 SLAM 기법은 추적 대상의 위치 파악과 지도 구축을 동시에 할 수 있도록 한다. 본 발명의 실시예에서, 각 가설에는 해당 가설의 위치 및 방향 정보뿐만 아니라 해당 가설에 대응하는 지도 정보가 유지되도록 한다. 따라서 본 발명의 실시예에서 유지되는 지도 정보에는, 주어진 불완전한 지도와, 확장 칼만 필터(Extended Kalman Filter)를 이용한 SLAM을 통하여 각 가설마다 업데이트되는 지도가 있다. 본 명세서에서 편의상 후자를 '주어진 지도'와 구별하기 위하여 'SLAM 지도'라 칭하기로 한다. 따라서 각 가설에는 상태 정보가 정의되며, 상태 정보는 위치 및 방향 정보와 SLAM 지도 정보를 포함한다. 이러한 상태 정보는 다음과 같이 정의될 수 있다.
우선, 시간 t에 생성된 가설들은
Figure 112013061905256-pat00008
로 표현할 수 있고, 여기서 Dt는 가설들의 개수이다. i 번째 가설
Figure 112013061905256-pat00009
는 상태 정보
Figure 112013061905256-pat00010
를 가지며,
Figure 112013061905256-pat00011
가 시간 t까지 주어진 지도에 없는 새로운 N개의 점 랜드마크와 새로운 M개의 선 랜드마크를 발견했다면 상태 정보는 다음과 같이 표현된다.
Figure 112013061905256-pat00012
여기서,
Figure 112013061905256-pat00013
는 가설의 위치 및 방향으로서, xt, yt는 x, y 좌표를, bt는 각도를 나타낸다. 그리고 s t는 SLAM 지도 정보로서, S1 P,t, ..., SN P,t는 N개의 점 랜드마크들의 좌표를, S1 L,t, ..., SM L,t는 M 개의 선 랜드마크들의 원점으로부터의 거리와 각도를 나타낸다. 가설 추적부(130)는 각 가설의 위치 및 방향을 추적하면서, 기존의 상태 정보에 있는 랜드마크가 발견되면 해당 랜드마크를 업데이트하고, 주어진 지도와 기존의 상태 정보에 없는 새로운 랜드마크가 발견되면 상태 정보에 새로 발견된 랜드마크를 추가한다.
도 3은 본 발명의 실시예에 따라 SLAM을 이용하여 가설을 추적한 결과의 예를 보여준다. (a)는 주어진 지도를 나타내고, (b)는 주어진 지도에 SLAM 지도가 중첩된 지도를 나타낸다. 주어진 지도의 선 및 점 랜드마크들은 실선으로 표시되며, 주어진 지도에 없는 선 및 점 랜드마크들은 점선 및 x 마크로 표시된다. (b)에서 굵은 적색 선들과 원들은 가설들에 의해 발견된 선 및 점 랜드마크들을 나타낸다. (b)를 참조하면, 주어진 랜드마크들 외에 가설이 새로 발견한 21개의 선 랜드마크들과 7개의 점 랜드마크들이 표시되어 있다.
다시 도 1을 참조하면, 가설 스코어링부(140)는 각 가설에 대하여 해당 가설의 신뢰성을 평가하기 위한 점수를 부여한다. 본 발명의 실시예에서, 가설에 부여되는 점수는 각 가설이 발견한 랜드마크들 중 주어진 지도에 있는 랜드마크들의 수와 주어진 지도에 없는, 즉 새로 발견한 랜드마크들의 수에 따라 계산된다. 본 발명의 실시예에서는 가설이 발견한 랜드마크들 중 주어진 지도에 있는 랜드마크가 많을수록, 그리고 주어진 지도에 없는 랜드마크가 적을수록 해당 가설의 신뢰성이 높다고 보고 높은 점수가 부여되도록 한다. 이를 위하여 가설 스코어링부(140)는 예컨대, 발견된 랜드마크들 중 주어진 지도에 있는 랜드마크들의 수와 주어진 지도에 없는 랜드마크들의 수의 차이를 해당 가설의 점수로 부여한다. 시간 t에서 i 번째 가설의 점수 σi t는 다음 수학식에 따라 계산될 수 있다.
Figure 112013061905256-pat00014
여기서,
Figure 112013061905256-pat00015
Figure 112013061905256-pat00016
는 각각 시간 t까지 발견된 랜드마크들 중 주어진 지도에 있는 점 및 선 랜드마크들의 수를 나타내고,
Figure 112013061905256-pat00017
Figure 112013061905256-pat00018
는 각각 시간 t까지 발견된 랜드마크들 중 주어진 지도에 없는 점 및 선 랜드마크들의 수를 나타낸다.
이와 같은 점수 부여 방식은 이동 로봇의 주행 궤적과 환경 구조에 의존적이고, 센서 오류에는 영향을 받지 않는다. 이동 로봇이 충분히 큰 영역을 휩쓸고 지나가게 되면, 어떤 하나의 가설은 다른 가설들보다 높은 점수를 가지게 될 것이고 이것을 참 가설로 볼 수 있게 된다.
본 발명의 실시예에서, 상기 가설 생성부(120)는 상기 로컬 매핑부(110)로부터 전달되는 랜드마크들을 주어진 지도의 랜드마크와 매칭하여 가설(hypothesis)들을 계속적으로 생성한다. 이론적으로는 가설들이 많아지더라도 하나의 참 가설을 찾는데 문제는 없지만, 가설들의 수가 계속 증가한다면 계산량이 늘어나고 가설들 중에는 실제 로봇의 위치가 될 가능성이 전혀 없는 것들이 있을 수 있다. 따라서 가설 제거부(150)는 소정의 조건을 만족하는 가설을 틀린 가설로 판단하여 추적 및 선택 대상에서 제외될 수 있도록 한다.
가설 제거부(150)가 제거할 가설의 조건은 다음과 같다. 첫째로, 가설 스코어링부(140)에서 계산된 점수가 0 보다 작은, 즉 음수인 가설을 제거한다. 이러한 가설은 발견한 랜드마크들 중 주어진 지도의 랜드마크들보다 새로 발견된 랜드마크의 수가 많은 것으로서, 기본적으로 주어진 지도에 있는 랜드마크가 미등록된 랜드마크보다 더 많다는 가정에 기반한다. 혹시 국지적으로 미등록된 랜드마크가 더 많아서 올바른 가설이 지워진다 하더라도, 전술한 가설 생성부(120)가 가설을 계속적으로 생성하므로, 다른 지역에서 주어진 랜드마크가 더 많이 발견되면 실제 가설을 되찾을 수 있다. 둘째로, 벽을 통과하는 가설을 제거한다. 두 번째 조건은 이동 로봇이 벽을 통과하는 것은 물리적으로 불가능함을 고려한 것이다. 만일 가설이 선 랜드마크를 통과한 다음 일정 기간 동안 데이터 연관에 실패한다면 그 가설은 벽을 통과한 것으로 볼 수 있다. 셋째로, 주어진 지도를 벗어난 가설은 제외한다. 세 번째 조건은 본 발명의 실시예가 이동 로봇이 주어진 지도의 환경 내에서 움직이는 것을 가정하였음을 고려한 것이다. 물론 가설 제거부(150)는 위와 같은 세 가지 조건들 중 어느 하나만을 적용하거나 둘 이상을 조합하여 가설을 제거할 수도 있다.
가설 제거부(150)에서 제거된 가설들의 정보는 상기 가설 생성부(120)와 가설 추적부(130)로 제공된다. 따라서 가설 생성부(120)는 생성된 가설이 제거된 가설과 중첩되면 그 가설을 추가하지 않는다. 또한, 가설 추적부(130)는 제거된 가설을 추적 대상에서 제외하고 가설들을 추적, 즉 상태 정보를 업데이트한다. 또한 가설 제거부(150)는 가설 스코어링부(140)에서 제공된 가설들 중 제거되고 남은 가설들을 해당 점수와 함께 가설 선택부(160)로 제공한다.
가설 선택부(160)는 각 가설의 점수를 바탕으로 가설들 중 어느 하나를 선택하고, 선택된 가설의 상태 정보에 따라 실제 로봇의 위치 및 방향을 결정하고 업데이트된 지도를 결정한다. 전술한 바와 같이 각 가설에는 SLAM 지도가 유지되는 바, 주어진 지도에 선택된 가설의 SLAM 지도가 중첩된 지도가 최종 업데이트된 지도로 결정된다. 예컨대 가설 선택부(160)는 가설들을 점수에 따라 정렬하고, 가장 점수가 높은 가설을 확인한다. 그리고 가장 점수가 높은 가설의 점수와 두 번째로 점수가 높은 가설의 점수의 차이가 소정 점수(예컨대, 2점) 차이 이상이 되면 가장 점수가 높은 가설을 참 가설(
Figure 112013061905256-pat00019
)로 보고, 그것의 상태 정보가 가지는 위치와 방향을 실제 이동 로봇의 위치와 방향으로 결정한다. 그리고 주어진 지도에 참 가설의 상태 정보가 가지고 있는 SLAM 지도가 중첩된 지도를 최종 업데이트된 지도로 결정한다.
도 4는 본 발명의 일 실시예에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 방법의 흐름도를 나타낸다. 본 실시예에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 방법은 전술한 이동 로봇의 전역위치인식 및 지도 업데이트 장치에서 처리되는 단계들로 이루어진다. 따라서 이하 생략된 내용이라 하더라도 이동 로봇의 전역위치인식 및 지도 업데이트 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 이동 로봇의 전역위치인식 및 지도 업데이트 방법에도 적용된다.
410단계에서, 로컬 매핑부(110)는 이동 로봇에서 발견되는 측정치들의 발견 횟수를 바탕으로 가설 생성에 이용할 랜드마크들을 선정한다.
420단계에서, 가설 생성부(120)는 상기 410단계에서 선정된 랜드마크들을 주어진 지도의 랜드마크들과 매칭하여 이동 로봇의 위치 및 방향에 대한 가설들을 생성한다.
430단계에서, 가설 추적부(130)는 이동 로봇의 오도메트리와 이동 로봇에서 발견되는 측정치들을 바탕으로 SLAM 기법을 이용하여 가설들 각각의 상태 정보를 업데이트한다. 가설의 상태 정보는 가설의 위치 및 방향 정보와 가설에 대응하는 지도 정보를 포함하며, 가설에 대응하는 지도 정보는 가설이 발견한, 주어진 지도에 없는 점 및 선 랜드마크들의 정보를 포함함은 전술한 바와 같다.
440단계에서, 가설 스코어링부(140)는 가설들 각각에 가설의 신뢰성을 평가하기 위한 점수를 부여한다. 가설에 부여되는 점수는 해당 가설이 발견한 랜드마크들 중 주어진 지도에 있는 랜드마크의 수와 주어진 지도에 없는 랜드마크의 수를 이용하여 계산됨은 전술한 바와 같다.
450단계에서, 가설 제거부(150)는 가설들 중 소정의 조건을 만족하는 가설을 틀린 가설로 판단하여 제거한다. 여기서 소정의 조건은 가설에 부여된 점수, 가설이 벽을 통과하는지 여부, 가설이 주어진 지도를 벗어났는지 여부 중 적어도 하나에 따를 수 있음은 전술한 바와 같다.
상기된 410단계 내지 450단계는 후술할 460단계의 판단 결과에 따라 470단계로 진행되기 전까지 계속적으로 수행된다.
460단계에서 가설 선택부(160)는 가장 점수가 높은 가설과 두 번째로 점수가 높은 가설의 점수 차이가 소정 값 이상인지 판단하고, 그렇지 않은 경우 다시 410단계로 돌아간다.
460단계에서 가장 점수가 높은 가설과 두 번째로 점수가 높은 가설의 점수 차이가 소정 값 이상이면, 470단계로 진행하여 가설 선택부(160)는 가장 점수가 높은 가설을 참 가설로 선택한다.
470단계에서 가설 선택부(160)는 선택된 가설의 상태 정보가 가지는 위치 및 방향 정보와 지도 정보를 이동 로봇의 실제 위치 및 방향과 업데이트된 지도로 결정한다.
전술한 바와 같이 종래의 특징유도방법에서는 가설들을 하나씩 제거하여 참 가설을 찾았으나, 이러한 방법은 지도의 오류나 센서 오류에 의하여 참 가설까지 제거될 위험이 있다. 본 발명의 실시예에 의하면 가설들을 가급적 제거하지 않고 유지하되 각 가설에 대해 점수를 부여하여 가장 높은 점수를 가진 가설을 참 가설로 인정한다. 따라서 참 가설이 제거될 위험이 낮으므로 전역위치인식에 대한 성공률이 높으며, 각 가설에 대하여 SLAM을 수행하기 때문에 불완전한 지도의 부족한 부분을 채울 수 있는 장점이 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (10)

  1. 이동 로봇의 전역위치인식 및 지도 업데이트 장치로서,
    이동 로봇에서 발견되는 랜드마크들을 주어진 지도의 랜드마크들과 매칭하여 상기 이동 로봇의 위치 및 방향에 대한 가설들을 생성하는 가설 생성부;
    상기 가설들 각각의 상태 정보-여기서 상기 상태 정보는 가설의 위치 및 방향 정보와 가설에 대응하는 지도 정보를 포함함-를 업데이트하는 가설 추적부;
    상기 가설들 각각에 대하여 가설의 신뢰성을 평가하기 위해 상기 이동 로봇이 발견한 상기 랜드마크들 중 상기 주어진 지도에 있는 랜드마크들의 수와 상기 주어진 지도에 없는 랜드마크들의 수를 이용하여 점수를 계산하여 상기 가설들 각각에 부여하는 가설 스코어링부; 및
    상기 부여된 점수를 바탕으로 상기 가설들 중 어느 하나의 가설을 선택하고, 상기 선택된 가설의 상태 정보가 가지는 위치 및 방향 정보와 지도 정보를 상기 이동 로봇의 위치 및 방향과 업데이트된 지도로 결정하는 가설 선택부를 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 이동 로봇에 구비된 센서를 통해 발견되는 점들 및 선들을 측정한 측정치들 중 연속적으로 기설정된 소정 횟수 이상 발견되는 측정치들을 상기 발견되는 랜드마크들로 선정하여 상기 가설 생성부에 제공하는 로컬 매핑부를 더 포함하는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    상기 가설 추적부는 상기 이동 로봇의 오도메트리와 상기 이동 로봇에서 발견되는 측정치들을 바탕으로 SLAM(Simultaneous Localization and Mapping) 기법을 이용하여 상기 상태 정보를 업데이트하는 것을 특징으로 하는 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 가설 스코어링부는 상기 주어진 지도에 있는 랜드마크들의 수와 상기 주어진 지도에 없는 랜드마크들의 수의 차이를 상기 점수로서 계산하는 것을 특징으로 하는 장치.
  6. 제1항에 있어서,
    상기 가설들 중 소정의 조건을 만족하는 가설을 틀린 가설로 판단하여 제거하는 가설 제거부를 더 포함하고,
    상기 가설 추적부는 상기 가설들 중 상기 제거된 가설을 제외하고 상기 상태 정보를 업데이트하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서,
    상기 소정의 조건은, 가설에 부여된 점수, 가설이 벽을 통과하는지 여부, 가설이 상기 주어진 지도를 벗어났는지 여부 중 적어도 하나에 따르는 것을 특징으로 하는 장치.
  8. 제1항에 있어서,
    상기 가설에 대응하는 지도 정보는 상기 가설이 발견한, 상기 주어진 지도에 없는 랜드마크들의 정보를 포함하는 것을 특징으로 하는 장치.
  9. 제1항에 있어서,
    상기 가설 선택부는 가장 점수가 높은 가설과 두 번째로 점수가 높은 가설의 점수 차이가 소정 값 이상일 때 상기 가장 점수가 높은 가설을 선택하는 것을 특징으로 하는 장치.
  10. 이동 로봇의 전역위치인식 및 지도 업데이트 방법으로서,
    이동 로봇에서 발견되는 랜드마크들을 주어진 지도의 랜드마크들과 매칭하여 상기 이동 로봇의 위치 및 방향에 대한 가설들을 생성하는 단계;
    상기 가설들 각각의 상태 정보-여기서 상기 상태 정보는 가설의 위치 및 방향 정보와 가설에 대응하는 지도 정보를 포함함-를 업데이트하는 단계;
    상기 가설들 각각에 대하여 가설의 신뢰성을 평가하기 위해 상기 이동 로봇이 발견한 상기 랜드마크들 중 상기 주어진 지도에 있는 랜드마크들의 수와 상기 주어진 지도에 없는 랜드마크들의 수를 이용하여 점수를 계산하여 상기 가설들 각각에 부여하는 단계; 및
    상기 부여된 점수를 바탕으로 상기 가설들 중 어느 하나의 가설을 선택하고, 상기 선택된 가설의 상태 정보가 가지는 위치 및 방향 정보와 지도 정보를 상기 이동 로봇의 위치 및 방향과 업데이트된 지도로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020130080688A 2013-07-10 2013-07-10 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법 KR101468545B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130080688A KR101468545B1 (ko) 2013-07-10 2013-07-10 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130080688A KR101468545B1 (ko) 2013-07-10 2013-07-10 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101468545B1 true KR101468545B1 (ko) 2014-12-03

Family

ID=52677434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130080688A KR101468545B1 (ko) 2013-07-10 2013-07-10 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101468545B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106052693A (zh) * 2016-05-23 2016-10-26 上海钛米机器人科技有限公司 服务机器人室内全局定位方法
KR20170088228A (ko) 2016-01-22 2017-08-01 경희대학교 산학협력단 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
WO2017213373A1 (ko) * 2016-06-08 2017-12-14 삼성전자 주식회사 전자 장치, 외부 서버 및 그 제어 방법
CN108387241A (zh) * 2017-02-02 2018-08-10 百度(美国)有限责任公司 更新自动驾驶车辆的定位地图的方法和系统
KR20200017182A (ko) 2018-08-08 2020-02-18 한국로봇융합연구원 핫스팟 영역의 집중 대응이 가능한 재난 대응 로봇 및 관제 장치
KR20200017178A (ko) 2018-08-08 2020-02-18 한국로봇융합연구원 재난 현장 맵의 업데이트 수행이 가능한 재난 대응 로봇 및 관제 장치
CN111474535A (zh) * 2020-03-18 2020-07-31 广东省智能机器人研究院 一种基于特征热力图的移动机器人全局定位方法
WO2023008720A1 (ko) * 2021-07-27 2023-02-02 삼성전자주식회사 로봇 및 그 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020091389A (ko) * 2001-05-30 2002-12-06 주식회사 네비콤 위성항법장치/추측항법장치 통합시스템과 다중가설기법을이용한 지도매칭방법
KR20130046741A (ko) * 2011-10-28 2013-05-08 포항공과대학교 산학협력단 상향식 단일 카메라를 이용한 중대형 공간에서의 자율적 위상지도 생성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020091389A (ko) * 2001-05-30 2002-12-06 주식회사 네비콤 위성항법장치/추측항법장치 통합시스템과 다중가설기법을이용한 지도매칭방법
KR20130046741A (ko) * 2011-10-28 2013-05-08 포항공과대학교 산학협력단 상향식 단일 카메라를 이용한 중대형 공간에서의 자율적 위상지도 생성 방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170088228A (ko) 2016-01-22 2017-08-01 경희대학교 산학협력단 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
CN106052693A (zh) * 2016-05-23 2016-10-26 上海钛米机器人科技有限公司 服务机器人室内全局定位方法
CN106052693B (zh) * 2016-05-23 2019-05-24 上海钛米机器人科技有限公司 服务机器人室内全局定位方法
WO2017213373A1 (ko) * 2016-06-08 2017-12-14 삼성전자 주식회사 전자 장치, 외부 서버 및 그 제어 방법
US10948925B2 (en) 2016-06-08 2021-03-16 Samsung Electronics Co., Ltd. Electronic device, external server, and method for controlling same
CN108387241A (zh) * 2017-02-02 2018-08-10 百度(美国)有限责任公司 更新自动驾驶车辆的定位地图的方法和系统
CN108387241B (zh) * 2017-02-02 2022-04-05 百度(美国)有限责任公司 更新自动驾驶车辆的定位地图的方法和系统
KR20200017182A (ko) 2018-08-08 2020-02-18 한국로봇융합연구원 핫스팟 영역의 집중 대응이 가능한 재난 대응 로봇 및 관제 장치
KR20200017178A (ko) 2018-08-08 2020-02-18 한국로봇융합연구원 재난 현장 맵의 업데이트 수행이 가능한 재난 대응 로봇 및 관제 장치
CN111474535A (zh) * 2020-03-18 2020-07-31 广东省智能机器人研究院 一种基于特征热力图的移动机器人全局定位方法
WO2023008720A1 (ko) * 2021-07-27 2023-02-02 삼성전자주식회사 로봇 및 그 제어 방법

Similar Documents

Publication Publication Date Title
KR101468545B1 (ko) 이동 로봇의 전역위치인식 및 지도 업데이트 장치 및 방법
JP6405778B2 (ja) 対象追跡方法及び対象追跡装置
JP6760114B2 (ja) 情報処理装置、データ管理装置、データ管理システム、方法、及びプログラム
WO2021017212A1 (zh) 一种多场景高精度车辆定位方法、装置及车载终端
CN114236552B (zh) 基于激光雷达的重定位方法及系统
US8483512B2 (en) Position determination method for a geodetic measuring device
US9142063B2 (en) Positioning system utilizing enhanced perception-based localization
KR20170088228A (ko) 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
CN105652871A (zh) 移动机器人的重定位方法
CN110608746B (zh) 用于确定机动车的位置的方法和装置
CN113330279A (zh) 用于确定车辆的位置的方法和系统
KR20120046974A (ko) 이동 로봇 및 이동 로봇의 위치인식 및 지도작성 방법
JP3770909B2 (ja) 目標と自走ユニットとの間隔が自走ユニットによって動的に検出される、自走ユニットの環境マップ内の目標の位置特定方法
JP2001331787A (ja) 道路形状推定装置
KR20140009737A (ko) 하이브리드 맵 기반 로봇의 위치인식방법
JP2016057750A (ja) 自車走行レーン推定装置及びプログラム
CN113454487B (zh) 信息处理装置以及移动机器人
JP6838285B2 (ja) レーンマーカ認識装置、自車両位置推定装置
CN111487960A (zh) 一种基于定位能力估计的移动机器人路径规划方法
KR20170074542A (ko) 기하학적 특징과 확률론적 기법을 이용한 실내 지도 생성 장치 및 방법
JP2011134234A (ja) 移動可能領域抽出装置、移動可能領域抽出システム、移動可能領域抽出方法、およびプログラム
JP2008122093A (ja) 多目標追尾装置
EP3088983B1 (en) Moving object controller and program
CN111380533A (zh) 定位导航方法、设备及存储装置
KR20230095951A (ko) 지도 타당성 검사 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee