KR102097722B1 - 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 - Google Patents

빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 Download PDF

Info

Publication number
KR102097722B1
KR102097722B1 KR1020190033317A KR20190033317A KR102097722B1 KR 102097722 B1 KR102097722 B1 KR 102097722B1 KR 1020190033317 A KR1020190033317 A KR 1020190033317A KR 20190033317 A KR20190033317 A KR 20190033317A KR 102097722 B1 KR102097722 B1 KR 102097722B1
Authority
KR
South Korea
Prior art keywords
map
feature point
posture
moving object
information
Prior art date
Application number
KR1020190033317A
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 KR1020190033317A priority Critical patent/KR102097722B1/ko
Priority to US17/442,562 priority patent/US20220187845A1/en
Priority to PCT/KR2020/003296 priority patent/WO2020197126A1/ko
Application granted granted Critical
Publication of KR102097722B1 publication Critical patent/KR102097722B1/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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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
    • 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/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 맵을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 맵(빅셀그리드맵)에서 이동로봇의 자세를 추정 및 보정하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공한다.

Description

빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 {APPARATUS AND METHOD FOR POSTURE ESTIMATION OF ROBOT USING BIG CELL GRID MAP AND RECORDING MEDIUM STORING PROGRAM FOR EXECUTING THE SAME AND COMPUTER PROGRAM STORED IN RECORDING MEDIUM FOR EXECUTING THE SAME}
본 발명은 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 맵을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 맵(빅셀그리드맵)에서 이동로봇의 자세를 추정 및 보정하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.
GPS를 이용하는 종래의 자기위치 추정기술은 오차 범위가 넓고 실내에서 사용하기 어렵기 때문에 실내 이동체의 자율주행에 이용되기 어려운 문제가 있다.
격자 형태로 나누어진 셀(cell) 기반의 지도인 오큐펀시그리드맵(Occupancy grid map)(줄여서 grid map, 그리드맵)과 특징점 기반의 지도인 피처맵(feature map)은 자율주행 이동체가 환경을 인식하는 방법론에 있어서 대표적인 두 가지 형태이다.
이 중에서, Grid map은 영역을 작은 cell로 나누고, 각 cell이 장애물에 의하여 점유되어 있는 정도를 수치로 표시하여 환경을 인식하는 방식이다.
Grid map의 경우 센서 데이터를 직접 가공할 필요가 없고, 각 cell을 위치를 기반으로 임의 접근(random access)이 가능하게 때문에, SLAM(simultaneous localization and mapping)이나 자기 위치 추정에 활용할 때, 연산에 필요한 연산량을 일정 수준 이하로 제한시킬 수 있기 때문에 실시간으로 수행이 가능하다는 장점이 있다.
그러나 환경을 충분히 자세하게 표현하기 위하여 셀의 크기를 작게 유지해야하므로 정보를 저장하는데 필요한 메모리의 양이 많이 필요할 뿐만 아니라 응용 연산에 필요한 데이터의 양이 기본적으로 많다는 문제가 있다.
이 때문에 때로는 이동체의 활동 영역이 메모리의 한계에 의하여 제한되기도 한다.
Feature map의 경우에는 인식된 센서 데이터를 적절한 형태로 가공하고 필요한 정보만을 압축적으로 저장하여 환경을 인식하는 방식이다.
환경 정보를 효율적으로 저장하기 때문에 많은 메모리가 필요하지 않을 뿐만 아니라 적은 연산만으로도 이동체의 자세를 정확하게 추정 할 수 있고, 궤적 계획 시 이동체의 여러 제약조건을 직접 고려할 수 있다는 장점이 있다.
그러나 feature map은 지도 작성 시 각 요소를 위치 정보를 기반으로 접근할 수 없다는 문제점이 있다.
이러한 문제점은 지도 작성(SLAM)이나 자기 위치 추정을 수행함에 있어 필요한 연산량이 지도의 크기에 비례하여 증가되기 때문에 실시간 연산 수행을 불가능 하게 만든다(지도의 크기가 커지면 그에 따라 필요한 feature(맵특징점)의 수도 증가하기 때문). 이 때문에 feature map이 해당 분야에서 널리 사용되지 못하는 문제점이 있다.
한국등록특허 [10-1372482]에서는 이동 이동체의 경로 계획 방법 및 장치가 개시되어 있다.
한국등록특허 [10-1372482](등록일자: 2014년03월04일)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 맵을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 맵(빅셀그리드맵)에서 이동로봇의 자세를 추정 및 보정하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램를 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법에 있어서, 연산처리수단이 맵을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 빅셀그리드맵을 생성하는 빅셀그리드맵생성 단계(S10); 연산처리수단이 상기 이동체가 환경센서로 탐지한 센싱정보를 근거로 맵특징점정보를 추출하는 로컬맵특징점구성 단계(S30); 연산처리수단이 상기 로컬맵특징점구성 단계(S30)의 센싱정보를 기반으로 상기 이동체의 탐지영역에 포함된 셀에 속한 맵특징점정보를 추출하는 글로벌맵특징점구성 단계(S40); 및 연산처리수단이 상기 글로벌맵특징점구성 단계(S40)에서 선택된 셀의 맵특징점정보와 상기 로컬맵특징점구성 단계(S30)에서 탐지된 센싱정보를 근거로 상기 이동체의 위치 및 자세를 결정하는 자세결정 단계(S50);를 포함하는 것을 특징으로 한다.
또한, 상기 빅셀그리드맵생성 단계(S10)의 맵특징점정보는 상기 이동체가 환경센서로 탐지한 물체 형상을 기하함수 형태로 표현한 정보, 상기 맵에 사전에 임의로 등록된 이동포인트 및 위치인식을 위한 식별자의 위치정보 중 선택되는 어느 하나 또는 복수인 것을 특징으로 한다.
또, 상기 빅셀그리드맵생성 단계(S10)는 맵 전체 영역을 유한한 개수의 셀로 나누고, 각 셀 마다 고유식별정보를 부여하는 셀분할 단계(S11); 및 상기 셀분할 단계(S11)에서 나누어진 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보를 저장하는 셀저장 단계(S12);를 포함하는 것을 특징으로 한다.
또한, 상기 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 상기 빅셀그리드맵생성 단계(S10)와 로컬맵특징점구성 단계(S30) 사이에, 연산처리수단이 이동체의 주행정보를 기반으로 상기 이동체의 위치 및 자세를 추정하는 자세추정 단계(S20);를 포함하는 것을 특징으로 한다.
또, 상기 자세추정 단계(S20)의 자세는 선수각 정보를 포함하는 것을 특징으로 한다.
또한, 상기 자세추정 단계(S20)는 (추측항법, dead reckoning navigation)를 통해 측정된 이동 거리를 토대로 이동체의 자세를 추정하는 것을 특징으로 한다.
또, 상기 로컬맵특징점구성 단계(S30)는 추출된 맵특징점정보들로 구성된 로컬맵특징점집합(
Figure 112019030125476-pat00001
)을 생성하는 것을 특징으로 한다.
또한, 상기 글로벌맵특징점구성 단계(S40)는 상기 이동체의 탐지영역에 포함된 셀 집합에 속한 맵특징점정보들로 구성된 글로벌맵특징점집합(
Figure 112019030125476-pat00002
)을 생성하는 것을 특징으로 하고, 상기 자세결정 단계(S50)는 로컬맵특징점집합(
Figure 112019030125476-pat00003
)에 속한 맵특징점들과 글로벌맵특징점집합(
Figure 112019030125476-pat00004
)에 속한 맵특징점들을 비교하여 상기 자세추정 단계(S20)에서 추정된 이동체의 자세를 보정하는 것을 특징으로 한다.
또, 본 발명의 일 실시예에 따르면, 상기 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 맵을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 빅셀그리드맵을 이용함으로써, 이동체가 현재 자신의 위치 및 자세를 추정함에 있어서, 위치 정보를 기반으로 맵특징점 정보에 임의 접근(random access)할 수 있게 해줌으로써, 기존의 피처맵(feature map) 기반의 자기 위치 추정 방법보다 연산량을 크게 줄일 수 있는 효과가 있다.
또한, 이동체가 현재 자신의 위치를 모르는 상태, 즉, 이동체의 위치가 초기화 된 상태에서도, 빅셀그리드맵을 이용함으로써, 이동체가 현재 자신의 위치를 그리드맵(grid map)이나 피처맵(feature map) 보다 빠르고 정확하게 추정할 수 있는 효과가 있다.
또, 주어진 환경 지도에서 실내 이동로봇의 자세를 추정 및 보정하는 기술에도 적용 가능하고, 주어진 환경 지도를 통해 실내 이동로봇의 경로를 계획하는 기술에도 적용 가능하며, 이동로봇의 동시적 위치 추정 및 지도 작성(simultaneous localization and mapping, SLAM) 기술에도 적용 가능하고, 실내 이동로봇의 경로를 계획하는 기술에도 적용 하는 등 다양한 분야에 적용 가능한 효과가 있다.
또한, 이동체의 위치와 선수각을 포함하는 자세 추정을 위한 맵특징점들의 전범위 검색 방법과 비교하여 정확도의 차이가 없지만, 연산량이 지도의 크기와 관계없이 현재 위치를 기준으로 환경센서의 범위내의 맵특징점의 개수에만 국한되기 때문에, 연산량이 항상 제한되어야하는 실시간성 실내 이동체의 자율 주행 분야의 발전에 크게 기여할 수 있다.
아울러, 높은 연산량 때문에 feature 기반의 지도를 실시간으로 이용하기 어려웠던 부분을 해소하고, 높은 메모리를 요구하는 grid map기반의 지도 기법의 단점을 해소할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 흐름도.
도 2는 맵 전체 영역을 유한한 복수 개의 셀로 나눈 예시도.
도 3은 각각의 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보가 매칭된 빅셀그리드맵을 보여주는 예시도.
도 4는 도 3의 임의의 위치에 이동체가 위치하며, 환경센서의 감지영역을 점선으로 표시한 예시도.
도 5는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 글로벌맵특징점구성 단계에서 선택된 셀로 구성된 영역을 보여주는 예시도.
도 6은 도 1의 빅셀그리드맵생성 단계의 세부 흐름도.
도 7은 도 2에 자세추정 단계가 추가된 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
도 1은 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 흐름도이고, 도 2는 맵 전체 영역을 유한한 복수 개의 셀로 나눈 예시도이며, 도 3은 각각의 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보가 매칭된 빅셀그리드맵을 보여주는 예시도이고, 도 4는 도 3의 임의의 위치에 이동체가 위치하며, 환경센서의 감지영역을 점선으로 표시한 예시도이며, 도 5는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 글로벌맵특징점구성 단계에서 선택된 셀로 구성된 영역을 보여주는 예시도이고, 도 6은 도 1의 빅셀그리드맵생성 단계의 세부 흐름도이며, 도 7은 도 2에 자세추정 단계가 추가된 흐름도이다.
설명에 앞서, 본 명세서( 및 특허청구범위)에서 사용되는 용어에 대해 간단히 설명하도록 한다.
'이동체'는 이동 가능한 물체를 의미하며, 사람이 휴대할 수 있는 단말기, 수동 또는 자동(자율) 주행이 가능한 이동수단, 이동 가능한 로봇 등이 될 수 있다.
여기서, '로봇'이란 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 말한다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 그리드맵(grid map)과 피처맵(feature map)의 한계를 극복하기 위해, 그리드맵(grid map)과 피처맵(feature map)의 각 장점을 취하면서 단점을 상호 보완하기 위한 방편으로, 빅셀그리드맵(big cell grid map)이라는 새로운 지도 융합 기법을 개발했다.
빅셀그리드맵(big cell grid map)은 피처맵(feature map)에 저장되던 맵특징점(feature) 들을 그리드맵(grid map)과 같이 위치 정보를 기반으로 접근 할 수 있도록 하는 것이 핵심이다. 영역을 비교적 넓게 나눌 수 있기 때문에 메모리가 많이 사용될 필요가 없어 메모리에 의해 활동 영역이 제한되지 않는다.
즉, 이동체가 환경을 인식하는 수준이 일반 그리드맵(grid map)에서처럼 메모리의 크기에 의해 달라지지 않는다.
이러한 경우에는 이동체의 활동 영역이 메모리보다는 이동체의 주행 가능 거리가 활용 영역의 제한에 더 큰 제약 요건으로 작용한다.
또한, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 적용하게 되면 아무리 넓은 영역(공간)에 대하여 지도를 작성하거나 활용할 지라도, 각 맵특징점(feature)을 영역(공간) 정보를 기반으로 빠르게 접근 할 수 있기 때문에 연산의 실시간성을 보장할 수 있게 된다.
아울러, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 실내 이동로봇의 동시적 자기 위치 추정 및 지도 작성 기법(SLAM) 또는, 경로를 계획, 또는 자기 위치를 추정하는 방법에 이용될 수 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법에 있어서, 빅셀그리드맵생성 단계(S10), 로컬맵특징점구성 단계(S30), 글로벌맵특징점구성 단계(S40) 및 자세결정 단계(S50)를 포함한다.
상기 연산처리수단은 상기 이동체에 구비되어 자율주행이 가능하도록 할 수 있으며, 상기 이동체와 별도로 구비되어 자율주행, 원격조정 또는 수동조정이 가능하도록 할 수 있다.
빅셀그리드맵생성 단계(S10)는 연산처리수단이 맵 전체 영역을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 빅셀그리드맵을 생성한다.
도 2 및 도 3을 예로 설명하면, 맵 전체 영역이 도 2의 가장 바깥 테두리 안쪽의 영역이라면 도 2의 맵 전체 영역을 유한한 복수 개의 셀로 나누고, 도 3과 같이 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보가 매칭되도록 정보를 저장하여 빅셀그리드맵을 생성할 수 있다.
상기 복수 개의 셀은 그리드 맵과 같이 위치정보를 기반으로 임의 접근이 가능하다.
상기 맵특징점(map feature)에 관한 정보인 맵특징점정보는 상기 이동체가 환경센서로 탐지한 정보 중 특정 조건을 만족하는 정보와 관련된 정보를 선별한 것을 특징으로 할 수 있다.
여기서 환경센서는 주변 환경(정적 장애물, 동적 장애물 등)을 탐지하는 센서를 의미하며, 후술하는 주행정보를 획득하기 위한 센서와는 다른 기능을 한다.
이때, 상기 맵특징점정보는 이동체가 환경센서를 통해 특정 물체 또는 벽 등을 관측하여 얻은 데이터 또는 이를 가공한 정보이다.
여기서, 상기 맵특징점정보는 맵특징점에 대한 정보를 가공하여 필요한 정보만을 압축적으로 저장한 것을 특징으로 할 수 있다.
즉, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보가 매칭되어, 셀을 선택하면 해당 셀의 위치에 해당되는 맵특징점정보를 확인할 수 있다.
또한, 반대로 맵특징점정보를 가지고 상기 맵특징점정보를 포함하는 해당 셀을 찾아낼 수도 있다.
상기 유한한 복수 개의 셀의 크기는 맵 전체 영역의 크기와 이동체의 연산 성능(computation power)을 고려하여 조절이 가능하다.
즉, 상기 빅셀그리드맵에 속한 각 셀은 맵특징점정보들이 저장된다.
이때, 각각의 셀은 각각의 저장공간을 할당받을 수 있으며, 해당 저장공간에 해당 셀의 위치에 해당되는 맵특징점정보가 저장될 수 있다.
상기 빅셀그리드맵생성 단계(S10)는 이동체의 자세를 추정하는 데 있어서 한번 빅셀그리드맵을 생성한 이후에는 생략될 수 있다.
로컬맵특징점구성 단계(S30)는 연산처리수단이 상기 이동체가 환경센서로 탐지한 센싱정보를 근거로 맵특징점정보를 추출한다.(도 4 참조)
이때, 상기 로컬맵특징점구성 단계(S30)의 맵특징점정보 뿐 아니라 이동체와 맵특징점과의 거리정보를 포함할 수 있다.
상기 연산처리수단이 맵특징점정보를 추출하는 것은, 후술하는 글로벌맵특징점구성 단계(S40)에서 필요로 하는 셀을 선택하고, 후술하는 자세결정 단계(S50)에서 글로벌맵특징점구성 단계(S40)에서 선택된 셀과 비교하여 상기 이동체의 위치 및 자세를 결정(보정 포함)하기 위함이다.
여기서 중요한 것은, 환경센서로 계측된 값들을 그리드 맵(Grid map)으로 변환하지 않고 추상적인 특징점(feature) 그대로를 이용한다는 것이다.
상기 로컬맵특징점구성 단계(S30)는 환경센서로 탐지한 센싱정보를 글로벌 좌표계로 변환한 뒤 맵특징점정보를 추출할 수 있다.
글로벌맵특징점구성 단계(S40)는 연산처리수단이 상기 로컬맵특징점구성 단계(S30)의 센싱정보를 기반으로 상기 이동체의 탐지영역에 포함된 셀을 선택한다.(도 5 참조)
이때, 상기 이동체의 탐지영역에 포함된 셀을 선택한다는 것은, 이동체의 위치를 중심으로 이동체의 최대 탐지 반경 안쪽의 일부 셀을 선택하는 것도 가능하고, 이동체의 위치를 중심으로 이동체의 탐지영역에 일부라도 포함된 모든 셀을 선택하는 것도 가능하며, 이동체의 위치를 중심으로 이동체의 탐지영역과 탐지영역 외부의 영역 일부를 포함하는 것도 가능하다.
즉, 글로벌맵특징점구성 단계(S40)는 이동체의 연산 성능을 고려하여 허용 가능한 범위 안에서 선택하는 셀의 개수를 설정하여 실시가 가능하다.
여기서, 이동체의 위치는 세 개 이상의 맵특징점과 이동체와의 거리를 근거로 추정하거나, 거리정보와 방향정보를 근거로 추정하는 등 다양한 방법을 사용 할 수 있으며, 이동체와의 거리 및 이동체로부터의 방향은 상기 로컬맵특징점구성 단계(S30)의 센싱정보에서 획득할 수 있다.
즉, 상기 글로벌맵특징점구성 단계(S40)는 상기 빅셀그리드맵생성 단계(S10)에서 생성된 빅셀그리드맵으로부터 상기 이동체 위치를 기준으로 이동체의 환경센서의 감지 영역을 포함하는 셀을 선택하는 것이다.
자세결정 단계(S50)는 연산처리수단이 상기 글로벌맵특징점구성 단계(S40)에서 선택된 셀의 맵특징점정보와 상기 로컬맵특징점구성 단계(S30)에서 탐지된 센싱정보를 근거(비교)로 상기 이동체의 위치 및 자세를 결정한다.
즉, 상기 글로벌맵특징점구성 단계(S40)에서 선택된 셀의 맵특징점정보와 상기 로컬맵특징점구성 단계(S30)에서 탐지된 센싱정보로부터 추출된 맵특징점정보를 비교하여, 상기 이동체의 위치 및 자세를 결정한다.
상기 빅셀그리드맵생성 단계(S10), 로컬맵특징점구성 단계(S30), 글로벌맵특징점구성 단계(S40) 및 자세결정 단계(S50)를 포함하는 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 이동체가 현재 자신의 위치를 모르는 상태, 즉, 이동체의 위치가 초기화 된 상태에서도, 빅셀그리드맵을 이용함으로써, 이동체가 현재 자신의 위치를 그리드맵(grid map)이나 피처맵(feature map) 보다 빠르고 정확하게 추정할 수 있다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 주어진 환경 지도에서 실내 이동로봇의 자세를 추정 및 보정하는 기술에도 적용 가능하고, 주어진 환경 지도를 통해 실내 이동로봇의 경로를 계획하는 기술에도 적용 가능하며, 이동로봇의 동시적 위치 추정 및 지도 작성(simultaneous localization and mapping, SLAM) 기술에도 적용 가능하고, 실내 이동로봇의 경로를 계획하는 기술에도 적용 하는 등 다양한 분야에 적용 가능하다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 상기 빅셀그리드맵생성 단계(S10)의 맵특징점정보는 상기 이동체가 환경센서로 탐지한 물체 형상을 기하함수 형태로 표현한 정보, 상기 맵에 사전에 임의로 등록된 이동포인트 및 위치인식을 위한 식별자의 위치정보 중 선택되는 어느 하나 또는 복수인 것을 특징으로 할 수 있다.
상기 맵특징점의 예시는 환경센서 정보로부터 추출된 환경의 다양한 도형(모서리, 선분, 원, 호등)이 해당될 수 있고, 더욱 추상적으로는 전체 지도에 사전에 임의로 등록된 이동 포인트가 될 수도 있다.
이때, 상기 위치인식을 위한 식별자는 물리적 식별자인 것을 특징으로 할 수 있다.
여기서, 물리적 식별자라고 하는 것은 큐알코드 등의 바코드(1 차원 바코드, 2 차원 바코드, 3 차원 바코드 등) 형태일 수도 있고, 특정 도형일 수도 있으며, RFID 칩이 될 수도 있다.
상기 맵특징점정보는 상기 이동체가 환경센서로 탐지한 물체 형상을 기하함수 형태로 표현한 정보를 가공한 정보를 포함할 수 있다.
이때, 상기 맵특징점정보는 가공한 정보 뿐 아니라 가공하지 않은 정보도 포함할 수 있다.
또는, 상기 맵특징점정보는 전체 지도에 사전에 임의로 등록된 이동포인트를 포함할 수 있다.
또는, 상기 맵특징점정보는 위치인식을 위한 식별자의 정보 및 식별자의 위치정보를 포함할 수 있다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 빅셀그리드맵생성 단계(S10)는 셀분할 단계(S11) 및 셀저장 단계(S12)를 포함할 수 있다.
셀분할 단계(S11)는 맵 전체 영역을 유한한 개수의 셀로 나누고, 각 셀 마다 고유식별정보를 부여한다.
상기 셀분할 단계(S11)는 맵 전체 영역을 다수의 셀로 나눈다.
예를 들어, 상기 셀분할 단계(S11)는 맵 전체 영역을 격자 형태로 나눌 수 있다.
격자는 대칭성의 규칙에 따라 반복적으로 배열된 구조를 나타낸다. 예를 들어, 사각형, 삼각형, 육각형 등의 형태가 반복적으로 배열된 구조가 될 수 있다.
상기에서 상기 셀분할 단계(S11)가 격자 형태로 맵 전체 영역을 나눈 예를 들었으나, 본 발명이 이에 한정된 것은 아니며, 여러 형태의 도형이 모인 형태도 사용 가능함은 물론이다. 즉, 각각의 셀 모양과 크기가 모두 동일하지 않아도 서로 인접할 수만 있다면 수행 가능하다.
상기 셀분할 단계(S11)는 상기에서 분할된 셀 마다 각각의 고유식별정보를 부여한다.
상기 셀분할 단계(S11)에서 고유식별정보를 각각의 셀 마다 부여하는 것은, 각각의 셀 마다 저장되는 정보가 다를 수 있기 때문에, 어떠한 셀에 어떠한 정보가 저장되는지를 관리하기 위함이다.
셀저장 단계(S12)는 상기 셀분할 단계(S11)에서 나누어진 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보를 저장한다.
즉, 상기 셀저장 단계(S12)는 상기 셀분할 단계(S11)에서 나누어진 각 셀의 고유식별정보를 참조하여 해당 셀의 위치에 해당되는 맵특징점정보를 저장한다.
맵특징점정보를 셀에 저장한다는 것은, 셀을 선택하면 해당 셀에 저장된 특징점정보를 불러올 수 있도록 맵특징점정보를 저장한다는 의미이다.
예를 들어, 맵특징점정보를 해당 셀의 고유식별정보와 하나의 세트로 저장할 수 있다. 즉, 별도의 저장공간(메모리)을 할당받지 않고도 맵특징점정보를 셀에 저장하는 것이 가능하다.
도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 상기 빅셀그리드맵생성 단계(S10)와 로컬맵특징점구성 단계(S30) 사이에, 연산처리수단이 이동체의 주행정보를 기반으로 상기 이동체의 위치 및 자세를 추정하는 자세추정 단계(S20)를 포함할 수 있다.
이때, 상기 글로벌맵특징점구성 단계(S40)는 상기 자세추정 단계(S20)에서 추정된 위치를 기반으로 상기 이동체의 탐지영역에 포함된 셀을 선택하는 것도 가능하다.
즉, 상기 글로벌맵특징점구성 단계(S40)는 상기 자세추정 단계(S20)에서 추정된 위치 또는 상기 로컬맵특징점구성 단계(S30)의 센싱정보를 기반으로 상기 이동체의 탐지영역에 포함된 셀을 선택할 수 있다.
또한, 상기 자세결정 단계(S50)는 상기 자세추정 단계(S20)에서 추정된 이동체의 위치 및 자세를, 상기 글로벌맵특징점구성 단계(S40)에서 선택된 셀의 맵특징점정보와 상기 로컬맵특징점구성 단계(S30)에서 탐지된 센싱정보를 근거로 보정하여, 최종적인 상기 이동체의 위치 및 자세를 결정할 수 있다.
즉, 이동체의 위치 및 자세를, 물리적으로 이동한 거리를 이용해서 1차로 추정한 후, 상기 글로벌맵특징점집합의 데이터를 이용하여 2차로 추정하여 보정할 수 있다.
또한, 이동체의 이동제어부는 2차로 추정된 이동체의 현재 위치 및 자세를 토대로 이동체의 이동을 제어할 수 있다.
이때, 상기 글로벌맵특징점구성 단계(S40)는 상기 자세추정 단계(S20)에서 추정된 위치 및 자세를 기반으로 상기 이동체의 탐지영역에 포함된 셀을 선택하는 것도 가능하다.
아울러, 상기 글로벌맵특징점구성 단계(S40)는 상기 자세추정 단계(S20)에서 추정된 위치 및 상기 로컬맵특징점구성 단계(S30)의 센싱정보를 기반으로 상기 이동체의 탐지영역에 포함된 셀을 선택하는 것도 가능함은 물론이다.
상기 연산처리수단은 상기 이동체가 이동하기 적전의 위치 및 자세와 상기 이동체의 주행정보를 근거로 상기 이동체의 위치 및 자세 추정이 가능하다.
이때, 상기 이동체의 주행정보는 상기 이동체의 움직임에 따라 발생되는 방향, 중력, 속도, 가속도, 이동거리, 바퀴의 회전각속도, 바퀴의 회전각가속도 등의 정보가 될 수 있다.
상기 빅셀그리드맵생성 단계(S10), 자세추정 단계(S20), 로컬맵특징점구성 단계(S30), 글로벌맵특징점구성 단계(S40) 및 자세결정 단계(S50)를 포함하는 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 이동체가 이동하기 직전에 자신의 위치를 대략적으로라도 알고 있다고 가정한다. 빅셀그리드맵을 이용함으로써, 이동체가 이동하는 도중에 자신의 위치를 그리드맵(grid map)이나 피처맵(feature map) 보다 적은 연산량으로 정확한 추정이 가능하다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 자세추정 단계(S20)의 자세는 선수각 정보를 포함하는 것을 특징으로 할 수 있다.
상기 선수각 정보는 상기 이동체의 전방이 향하는 각도를 의미한다.
즉, 상기 선수각 정보를 알면 이동체가 평지에 있는 경우, 이동체의 자세를 확인할 수 있다.
다시 말해, 선수각 정보만으로도 이동체의 자세 확인이 가능하며, 실내에서 이용할 경우, 선수각 정보 만으로 이동체의 자세를 확인할 수 있다면, 이동체의 자세를 확인하기 위해 필요한 센서를 최소화할 수 있다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 자세추정 단계(S20)는 오도메트리(추측항법, dead reckoning navigation)를 통해 측정된 이동 거리를 토대로 이동체의 자세를 추정하는 것을 특징으로 할 수 있다.
상기 연산처리수단은 상기 이동체가 이동하기 적전의 자세와 상기 이동체의 상태 확인이 가능한 센서 또는 입력값(IMU 또는 모터 인코더)만으로 오도메트리(추측항법, dead reckoning navigation)를 통해 측정 또는 산출된 이동 거리를 토대로 이동체의 자세를 추정할 수 있다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 로컬맵특징점구성 단계(S30)는 추출된 맵특징점정보들로 구성된 로컬맵특징점집합(
Figure 112019030125476-pat00005
)을 생성하는 것을 특징으로 할 수 있다.
상기 로컬맵특징점구성 단계(S30)에서 추출된 맵특징점정보를 로컬(local)맵특징점정보라 할 수 있으며, 로컬맵특징점정보들을 로컬맵특징점집합(
Figure 112019030125476-pat00006
)이라 칭할 수 있다.
즉, 로컬맵특징점집합(
Figure 112019030125476-pat00007
)은 현재 이동체가 환경센서로 탐지한 물체들의 맵특징점들로 구성된다.
Figure 112019030125476-pat00008
상기 수식에서
Figure 112019030125476-pat00009
은 현재 측정된 로컬맵특징점의 개수이다.
상기 수식에서
Figure 112019030125476-pat00010
는 관측된
Figure 112019030125476-pat00011
번째 맵특징점을 나타낸다.
상기 로컬맵특징점집합을 구성하는 것은 이동체의 메모리에 맵특징점들과 비교하여 자기 위치를 추정하기 위함이다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 글로벌맵특징점구성 단계(S40)는 상기 이동체의 탐지영역에 포함된 셀에 속한 맵특징점정보들로 구성된 글로벌맵특징점집합(
Figure 112019030125476-pat00012
)을 생성하는 것을 특징으로 할 수 있다.
Figure 112019030125476-pat00013
상기 수식에서
Figure 112019030125476-pat00014
은 상기 이동체의 탐지영역에 포함된 셀에 속한 맵특징점들의 인덱스 집합을 나타내고,
Figure 112019030125476-pat00015
는 전체 지도내의 맵특징점집합(
Figure 112019030125476-pat00016
)에 기록된
Figure 112019030125476-pat00017
번째 맵특징점을 나타낸다. 상기 맵특징점집합(
Figure 112019030125476-pat00018
)은 아래와 같이 표현될 수 있다.
Figure 112019030125476-pat00019
상기 수식에서
Figure 112019030125476-pat00020
는 모든 맵특징점의 개수를 의미한다.
상기 글로벌맵특징점집합을 이용함으로써, 지도 내의 모든 맵특징점을 고려하지 않고, 이동체가 발견할 확률이 높은 맵특징점만을 추출하여 상기 이동체의 자세를 추정하는 데에 사용하여 연산량을 감소시킬 수 있다는 것을 특징으로 한다.
상기 이동체의 1차 추정 위치에 대한 신뢰도가 낮다면, 글로벌맵특징점구성 단계(S40)에서 선택되는 셀의 수를 탐지영역 이상으로 확장할 수 있다.
즉, 상기 빅셀그리드맵을 이용하여, 이동체의 위치를 기준으로 환경센서가 탐지 가능한 영역에 속한 맵특징점들로 글로벌맵특징점집합을 구성할 수 있다.
상기 글로벌맵특징점구성 단계(S40)에서 구성된 맵특징점들을 이동체의 자세를 추정하는 데에 사용할 수 있다.
또한, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법의 자세결정 단계(S50)는 로컬맵특징점집합(
Figure 112019030125476-pat00021
)과 글로벌맵특징점집합(
Figure 112019030125476-pat00022
)을 비교하여 상기 자세추정 단계(S20)에서 추정된 이동체의 자세를 보정하는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 상기 자세결정 단계(S50) 이후에, 연산처리수단이 상기 빅셀그리드맵생성 단계(S10)에서 생성된 빅셀그리드맵과, 상기 로컬맵특징점구성 단계(S30)에서 추출된 맵특징점정보에 변화(이동 또는 추가, 삭제)가 발생된 것을 인식하면, 상기 빅셀그리드맵을 갱신하는 맵갱신 단계(미도시)를 포함하는 것을 특징으로 할 수 있다.
이는, 일부 가구 등의 정적장애물의 배치가 바뀐 경우에도, 자동으로 상기 빅셀그리드맵을 갱신하도록 하여, 별도 업데이트 없이도 사용 가능하도록 하기 위함이다.
이때, 상기 빅셀그리드맵생성 단계(S10)는 상기 빅셀그리드맵에 저장된 맵특징점정보 중, 건물 외벽 등의 구조물과 관련된 고정정적장애물에 대한 정보와, 가구 등 이동이 가능한 유동정적장애물에 대한 정보를 구분하여 저장하는 것을 특징으로 할 수 있다.
즉, 연산처리수단이 고정정적장애물에 대한 맵특징점정보를 우선적으로 하여 상기 이동체의 위치 및 자세를 결정하고, 유동정적장애물에 대한 맵특징점정보의 변화가 감지되면, 이를 반영하여 상기 빅셀그리드맵을 갱신할 수 있다.
이하, 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 이용한 실시예를 설명하도록 한다.
이동체(100)는 이동하기 전에 도 3에서와 같은 맵특징점을 포함하는 빅셀그리드맵을 저장하고 있다고 가정한다.
도 4에서와 같이 임의의 위치에서 이동체(100)가 이동하면 이동체(100)의 관성 센서와 오도메트리에서 이동한 거리와 선수각 데이터를 전달 받고 위치 및 자세를 추정할 수 있다.(S20)
또한, 이동체(100)의 환경센서에서 환경센서의 감지 영역(101)의 환경을 탐지하여, 도 5에서와 같이 환경에서 측정된 물체들로부터 얻을 수 있는 맵특징점(
Figure 112019030125476-pat00023
,
Figure 112019030125476-pat00024
)을 추출하여 로컬맵특징점집합을 구성한다.(S30)
이후, 이동체(100)가 가진 환경센서의 감지 영역(101)만큼의 셀들(도 5)에 속한 맵특징점을 추출하여 글로벌맵특징점집합을 구성한다.(S40)
이후, 초기에 추정했던 이동체(100)의 위치 및 자세를 로컬맵특징점집합과 글로벌맵특징점집합의 비교를 통해 보정한다.(S50)
최종적으로 보정된 이동체(100)의 위치 및 자세 정보를 이동체이동제어부로 보낸다.
이러한 과정에서 만일 빅셀그리드맵을 이용하지 않는다면 로컬맵특징점 집합과 지도상의 모든 맵특징점을 비교해야하므로 더 많은 시간이 들게 된다.
이상에서 본 발명의 일 실시예에 따른 빅셀그리드맵을 이용한 이동체의 자세 추정 방법에 대하여 설명하였지만, 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
S10: 빅셀그리드맵생성 단계
S11: 셀분할 단계 S12: 셀저장 단계
S20: 자세추정 단계
S30: 로컬맵특징점구성 단계
S40: 글로벌맵특징점구성 단계
S50: 자세결정 단계

Claims (10)

  1. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법에 있어서,
    연산처리수단이 맵을 유한한 복수 개의 셀로 나누고, 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점에 관한 맵특징점정보가 매칭된 빅셀그리드맵을 생성하는 빅셀그리드맵생성 단계(S10);
    연산처리수단이 상기 이동체가 환경센서로 탐지한 센싱정보를 근거로 맵특징점정보를 추출하는 로컬맵특징점구성 단계(S30);
    연산처리수단이 상기 로컬맵특징점구성 단계(S30)의 센싱정보를 기반으로 상기 빅셀그리드맵생성 단계(S10)에서 생성된 빅셀그리드맵으로부터 상기 이동체 위치를 기준으로 이동체의 환경센서의 감지 영역을 포함하는 셀을 선택하고, 상기 선택된 셀에 속한 맵특징점정보를 추출하는 글로벌맵특징점구성 단계(S40); 및
    연산처리수단이 상기 글로벌맵특징점구성 단계(S40)에서 선택된 셀의 맵특징점정보와 상기 로컬맵특징점구성 단계(S30)에서 탐지된 센싱정보를 근거로 상기 이동체의 위치 및 자세를 결정하는 자세결정 단계(S50);
    를 포함하며,
    상기 빅셀그리드맵생성 단계(S10)는
    맵 전체 영역을 유한한 개수의 셀로 나누고, 각 셀 마다 고유식별정보를 부여하는 셀분할 단계(S11); 및
    상기 셀분할 단계(S11)에서 나누어진 각 셀 마다 해당 셀의 위치에 해당되는 맵특징점정보를 저장하는 셀저장 단계(S12);
    를 포함하며,
    상기 복수 개의 셀은 그리드 맵과 같이 위치정보를 기반으로 임의 접근이 가능한 것을 특징으로 하고,
    상기 맵특징점정보는 피처맵(feature map)에 저장되던 맵특징점(feature) 정보로, 상기 이동체가 환경센서로 탐지하여 얻은 데이터 또는 이를 가공한 정보 중 특정 조건을 만족하는 정보와 관련된 정보를 선별한 것을 특징으로 하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  2. 제1항에 있어서,
    상기 빅셀그리드맵생성 단계(S10)의 맵특징점정보는
    상기 이동체가 환경센서로 탐지한 물체 형상을 기하함수 형태로 표현한 정보, 상기 맵에 사전에 임의로 등록된 이동포인트 및 위치인식을 위한 식별자의 위치정보 중 선택되는 어느 하나 또는 복수인 것을 특징으로 하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 빅셀그리드맵을 이용한 이동체의 자세 추정 방법은
    상기 빅셀그리드맵생성 단계(S10)와 로컬맵특징점구성 단계(S30) 사이에,
    연산처리수단이 이동체의 주행정보를 기반으로 상기 이동체의 위치 및 자세를 추정하는 자세추정 단계(S20);
    를 포함하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  5. 제4항에 있어서,
    상기 자세추정 단계(S20)의 자세는
    선수각 정보를 포함하는 것을 특징으로 하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  6. 제4항에 있어서,
    상기 자세추정 단계(S20)는
    오도메트리(추측항법, dead reckoning navigation)를 통해 측정된 이동 거리를 토대로 이동체의 자세를 추정하는 것을 특징으로 하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  7. 제1항에 있어서,
    상기 로컬맵특징점구성 단계(S30)는
    추출된 맵특징점정보들로 구성된 로컬맵특징점집합을 생성하는 것을 특징으로 하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  8. 제4항에 있어서,
    상기 글로벌맵특징점구성 단계(S40)는
    상기 이동체의 탐지영역에 포함된 셀에 속한 맵특징점정보들로 구성된 글로벌맵특징점집합을 구성하는 것을 특징으로 하고,
    상기 자세결정 단계(S50)는
    로컬맵특징점집합과 글로벌맵특징점집합을 비교하여 상기 자세추정 단계(S20)에서 추정된 이동체의 자세를 보정하는 것을 특징으로 하는 빅셀그리드맵을 이용한 이동체의 자세 추정 방법.
  9. 제 1항, 제2항 및 제4항 내지 제 8항 중 선택되는 어느 한 항에 기재된 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
  10. 제 1항, 제2항 및 제4항 내지 제 8항 중 선택되는 어느 한 항에 기재된 빅셀그리드맵을 이용한 이동체의 자세 추정 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
KR1020190033317A 2019-03-25 2019-03-25 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 KR102097722B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190033317A KR102097722B1 (ko) 2019-03-25 2019-03-25 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
US17/442,562 US20220187845A1 (en) 2019-03-25 2020-03-10 Method for estimating positioning of moving object by using big cell grid map, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same
PCT/KR2020/003296 WO2020197126A1 (ko) 2019-03-25 2020-03-10 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190033317A KR102097722B1 (ko) 2019-03-25 2019-03-25 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102097722B1 true KR102097722B1 (ko) 2020-04-06

Family

ID=70282042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190033317A KR102097722B1 (ko) 2019-03-25 2019-03-25 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Country Status (3)

Country Link
US (1) US20220187845A1 (ko)
KR (1) KR102097722B1 (ko)
WO (1) WO2020197126A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112284393B (zh) * 2020-10-23 2022-12-23 苏州大学 一种智能移动机器人全局路径规划方法和系统
CN116626725B (zh) * 2023-07-24 2023-10-10 武汉大学 基于用户分布格网改正生成方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4533659B2 (ja) * 2004-05-12 2010-09-01 株式会社日立製作所 レーザー計測により地図画像を生成する装置及び方法
KR101372482B1 (ko) 2007-12-11 2014-03-26 삼성전자주식회사 이동 로봇의 경로 계획 방법 및 장치
WO2015193941A1 (ja) * 2014-06-16 2015-12-23 株式会社日立製作所 地図生成システム及び地図生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745975B1 (ko) * 2004-12-30 2007-08-06 삼성전자주식회사 그리드 맵을 사용하여 최소 이동 경로로 이동하는 방법 및장치
JP5304128B2 (ja) * 2008-09-16 2013-10-02 村田機械株式会社 環境地図修正装置及び自律移動装置
KR101962855B1 (ko) * 2016-12-30 2019-03-27 부산대학교 산학협력단 중복 그리드 기법을 이용한 실내 지도 생성 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4533659B2 (ja) * 2004-05-12 2010-09-01 株式会社日立製作所 レーザー計測により地図画像を生成する装置及び方法
KR101372482B1 (ko) 2007-12-11 2014-03-26 삼성전자주식회사 이동 로봇의 경로 계획 방법 및 장치
WO2015193941A1 (ja) * 2014-06-16 2015-12-23 株式会社日立製作所 地図生成システム及び地図生成方法

Also Published As

Publication number Publication date
WO2020197126A1 (ko) 2020-10-01
US20220187845A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
US10352711B2 (en) Computer-implemented method and a system for guiding a vehicle within a scenario with obstacles
CN106796434B (zh) 地图生成方法、自身位置推定方法、机器人系统和机器人
JP6246609B2 (ja) 自己位置推定装置及び自己位置推定方法
CN110967711A (zh) 数据采集方法和系统
KR101203897B1 (ko) 이동체(mobile body)를 위한 셀?기반 경로 계획 장치 및 방법
Wang et al. A simple and parallel algorithm for real-time robot localization by fusing monocular vision and odometry/AHRS sensors
KR102049962B1 (ko) 샘플링기반의 최적 트리를 이용한 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR101663650B1 (ko) 거리 신호를 이용하여 위치를 인식하는 장치 및 방법
CN110675307A (zh) 基于vslam的3d稀疏点云到2d栅格图的实现方法
CN103926930A (zh) 一种基于Hilbert曲线探测的多机器人协作地图构建方法
KR102097722B1 (ko) 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN111487960A (zh) 一种基于定位能力估计的移动机器人路径规划方法
CN111176270A (zh) 使用动态地标的定位
WO2020023610A1 (en) Unmanned aerial localization and orientation
CN114636414A (zh) 高清晰度城市地图绘制
CN111045433B (zh) 一种机器人的避障方法、机器人及计算机可读存储介质
CN115371662A (zh) 一种基于概率栅格移除动态对象的静态地图构建方法
Faisal et al. Robot localization using extended kalman filter with infrared sensor
WO2024001649A1 (zh) 机器人定位方法、装置和计算可读存储介质
US20220019227A1 (en) Route planning apparatus, route planning method, and computer-readable recording medium
JP6956305B2 (ja) 制御装置、制御方法及びプログラム
Park et al. Sonar sensor-based efficient exploration method using sonar salient features and several gains
KR102624644B1 (ko) 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법
JP7483946B2 (ja) 車両の初期姿勢の確定方法
Saputra Implementation 2d ekf-based simultaneous localisation and mapping for mobile robot

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant