KR20230057944A - 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 - Google Patents
모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 Download PDFInfo
- Publication number
- KR20230057944A KR20230057944A KR1020220105413A KR20220105413A KR20230057944A KR 20230057944 A KR20230057944 A KR 20230057944A KR 1020220105413 A KR1020220105413 A KR 1020220105413A KR 20220105413 A KR20220105413 A KR 20220105413A KR 20230057944 A KR20230057944 A KR 20230057944A
- Authority
- KR
- South Korea
- Prior art keywords
- submap
- image
- query
- mobile robot
- calculating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 230000004807 localization Effects 0.000 title abstract description 18
- 238000012545 processing Methods 0.000 claims description 19
- 239000008280 blood Substances 0.000 claims description 14
- 210000004369 blood Anatomy 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 54
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G06T3/0068—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
모바일 로봇의 전역 위치인식을 위한 방법이 개시된다. 이 방법은 전역 지도 이미지로부터 분할된 각 쿼리 서브맵 이미지의 기하학적 및 구조적 특징을 정량화한 히스토그램 값과 데이터베이스에 저장된 서브맵 이미지들의 기하학적 및 구조적 특징을 정량화한 히스토그램 값을 비교하여 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하고, 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 모바일 로봇의 전역 위치인식을 수행함을 특징으로 한다.
Description
본 발명은 모바일 로봇(mobile robots)의 전역 위치 인식(global localization) 기술에 관한 것이다.
모바일 로봇은 공간 안에서 자율적으로 이동하며, 안내(guidance), 배송(delivery), 감시(surveillance), 청소(cleaning) 등과 같은 높은 수준의 작업(high-level tasks)을 요하는 일을 처리하는 능력을 가진 로봇이다.
모바일 로봇의 높은 레벨의 작업을 위해, 신뢰성 있는 자기 측위(self-positioning) 기술이 필수적이며, 이를 로봇공학(robotics) 분야에서는 '위치 인식(localization)'이라 한다.
위치인식(localization)은 크게 지역 위치인식(local localization)과 전역 위치인식(global localization)으로 나눌 수 있으며, 이중 전역 위치인식(global localization)은 지역 위치인식(local localization)과는 다르게 초기 위치에 대한 사전 지식 없이 로봇의 현재 위치를 찾을 수 있는 기술이다.
전역 위치인식(global localization)은 맵 작성(map building)시에 사용된 센서 종류에 따라 여러 방법들이 있으며, 그 중 실내 주행 로봇을 위한 전역 위치인식(global localization)으로서 2차원 점유 격자 지도(2D occupancy grid map)를 이용하는 방법이 있다.
이 방법은 로봇에 탑재된 레이저 스캐너(Laser scanner)에 의해 획득된 누적된 2D 레이저 스캔 데이터를 2D 점유 격자 지도로 변환하고, 이 이미지에서 특징점을 추출하는 방법이다. 특징점 추출로 객체 인식(object recognition) 분야에서 널리 사용되는 SIFT(Scale Invariant Feature Transform) 알고리즘과 SURF(Speeded Up Robust Feature) 알고리즘이 활용될 수 있다.
이러한 접근 방법은 컴퓨터 비전에서 제안된 많은 알고리즘을 재사용할 수 있는 장점이 있지만 2D 점유 격자 지도를 생성하는 과정에서 센서 노이즈나 지도 작성 오류 등으로 인해 2D 점유 격자 지도와 실제 공간의 불일치가 발생할 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 목적은, 모바일 로봇의 전역 위치 인식의 효율을 높이기 위해 2D 점유 격자 지도로부터 추출된 기하학적 특징 정보 및 구조적 특징 정보를 이용하여 모바일 로봇의 전역 위치인식(global localization)을 위한 방법 및 장치를 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 모바일 로봇의 전역 위치인식을 위한 방법은, 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법으로서, 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계; 각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계; 각 쿼리 서브맵 이미지의 구조적 특징 정보를 나타내는 반사 대칭 스코어를 계산하는 단계; 상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 서브맵 유사도를 계산하는 단계; 및 상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계를 포함할 수 있다.
실시 예에서, 상기 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계는, 상기 모바일 로봇에 탑재된 센서를 이용하여 상기 전역 지도 이미지를 생성하는 단계; 상기 전역 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 포인트를 정의하는 정션 포인트(junction point)를 추출하는 단계; 및 상기 전역 지도 이미지를 상기 정션 포인트를 중심으로 일정한 반경을 갖는 상기 복수의 쿼리 서브맵 이미지들로 분할하는 단계를 포함할 수 있다.
실시 예에서, 상기 정션 포인트를 추출하는 단계는, 이미지 처리 기법을 기반으로 상기 전역 지도 이미지를 에지 지도 이미지(edge map image)로 변환하는 단계; 및 상기 에지 지도 이미지 내에서 중심 픽셀과 상기 중심 픽셀을 둘러싸는
의 주변 픽셀들로 이루어진 n×n 이미지 패치를 가정할 때, 상기 중심 픽셀의 픽셀값이 적어도 3개의 주변 픽셀들의 픽셀값과 다른 경우, 상기 중심 픽셀을 상기 정션 포인트로서 추출하는 단계를 포함할 수 있다.
실시 예에서, 각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계는, 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 기하학적 특징을 나타내는 경계 히스토그램 값을 계산하는 단계; 및 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 기하학적 특징을 나타내는 자유 공간 히스토그램 값을 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 경계 히스토그램 값을 계산하는 단계는, 이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계; 상기 에지 지도 이미지 내에서 상기 경계 영역을 형성하는 경계 포인트들을 샘플링 하는 단계; 상기 샘플링된 경계 포인트들을 쌍으로 구성하여 복수의 경계 포인트 쌍들을 생성하는 단계; 및 각 경계 포인트 쌍에 포함된 2개의 경계 포인트들 사이의 거리값을 기반으로 상기 경계 히스토그램 값을 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 자유 공간 히스토그램 값을 계산하는 단계는, 이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계와 상기 에지 지도 이미지 내에서 상기 자유 공간 영역을 형성하는 자유 공간 포인트들을 추출하는 단계; 상기 추출된 자유 공간 포인트들 중에서 최단 경로 거리(shortest path distance) 값을 갖는 2개의 자유 공간 포인트들을 쌍으로 구성하여 복수의 자유 공간 포인트 쌍들을 생성하는 단계; 및 각 자유 공간 포인트 쌍의 상기 최단 경로 거리 값을 기반으로 상기 자유 공간 히스토그램 값을 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 반사 대칭 스코어를 계산하는 단계는, 이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계; 상기 에지 지도 이미지에서 일정 길이를 갖는 선분들의 각도를 기반으로 반사 대칭축을 검출하는 단계; 이미지 블러드(image blurred) 기법을 기반으로 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계; 및 상기 블러드 이미지와 상기 검출된 반사 대칭축을 기준으로 반전(filp)된 블러드 이미지 사이의 유사도를 상기 반사 대칭 스코어로서 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 반사 대칭축을 검출하는 단계와 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계 사이에 상기 검출된 반사 대칭축이 수직하게 정렬되도록 상기 에지 지도 이미지를 회전시키는 단계를 더 포함할 수 있다.
실시 예에서, 상기 서브맵 유사도를 계산하는 단계는, 각 쿼리 서브맵 이미지의 상기 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지들의 상기 기하학적 특징을 나타내는 히스토그램 값들 사이의 제1 차이값을 계산하는 단계; 각 쿼리 서브맵 이미지의 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지들의 구조적 특징을 나타내는 반사 대칭 스코어들 사이의 제2 차이값을 계산하는 단계; 및 상기 제1 및 제2 차이값을 기반으로 상기 서브맵 유사도를 계산하는 단계를 포함할 수 있다.
실시 예에서, 상기 제1 차이값을 계산하는 단계는, 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값과 상기 서브맵 이미지들에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값들 사이의 차이값을 계산하는 단계; 및 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값과 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값들 사이의 차이값을 계산하는 단계를 포함할 수 있다.
본 발명의 다른 일면에 따른 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치는, 점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 이미지 분할기; 각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하고, 각 쿼리 서브맵 이미지의 대칭 특징을 나타내는 반사 대칭 스코어를 계산하는 특징 추출기; 상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 유사도를 계산하는 서브맵 유사도 계산기; 및 상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 로봇의 전역 위치인식을 수행하는 전역 위치인식 처리기를 포함할 수 있다.
실시 예에서, 상기 이미지 분할기는, 상기 점유 격자 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 정션 포인트를 기준으로 상기 점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할할 수 있다.
실시 예에서, 상기 특징 추출기는, 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 제1 기하학적 특징 추출기; 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 제2 기하학적 특징 추출기; 및 각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 구조적 특징 추출기를 포함할 수 있다.
실시 예에서, 상기 서브맵 유사도 계산기는, 각 쿼리 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제1 감산기; 각 쿼리 서브맵 이미지에서 자유 공간 영역의 기하학적 특징을 정량화한 자유공간 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지의 자유 공간 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제2 감산기: 및 각 쿼리 서브맵 이미지의 대칭성을 정량화한 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어의 차이값을 계산하는 제3 감산기를 포함할 수 있다.
실시 예에서, 상기 서브맵 유사도 계산기는, 상기 제1 내지 제3 감산기에 의해 계산된 차이값들을 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산할 수 있다.
실시 예에서, 상기 서브맵 유사도 계산기는, 상기 제1 감산기에 의해 계산된 차이값과 상기 제2 감산기에 의해 계산된 차이값을 합산하는 가산기를 더 포함하고, 상기 제3 감산기에 의해 계산된 차이값을 가중치로서 상기 가산기에 의해 합산된 값과 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산할 수 있다.
본 발명의 또 다른 일면에 따른 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법은, 전역 지도 이미지로부터 분할된 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 단계; 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 단계; 각 쿼리 서브맵 이미지에서 추출된 대칭축을 기준으로 각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 단계; 각 쿼리 서브맵 이미지의 상기 경계 히스토그램 값, 상기 자유 공간 히스토그램 값 및 상기 반사 대칭 스코어와 데이터베이스로부터 입력된 서브맵 이미지들의 경계 히스토그램 값, 자유 공간 히스토그램 값 및 반사 대칭 스코어를 비교하여 상기 데이터베이스에 저장된 서브맵 이미지들 중에서 각 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하는 단계; 및 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계를 포함할 수 있다.
실시 예에서, 상기 전역 지도 이미지는 2D 또는 3D 점유 격자 지도 이미지일 수 있다.
본 발명은 서브맵(submap)으로부터 추출된 기하학적 특징 정보 및 구조적 특징 정보(대칭성)를 기반으로 모바일 로봇의 전역 위치 인식(global localization) 방법을 제안한다.
이에 따라, 본 발명은 서브맵의 구조적 정보(structural information), 즉, 대칭 스코어(symmetry score)를 도입함에 따라, 실내 공간(indoor space)의 구조적 특징 정보(structural feature information)를 수치화(정량화)하여 서브맵(submap)의 매칭(matching) 성능을 향상시킬 수 있다.
또한, 본 발명은 서브맵의 기하학적 특징 정보(geometric feature information)와 구조적 특징 정보(structural feature information)의 명시적 통합을 제공함에 따라 서브맵에 인가되는 노이즈에 대한 강건성을 확보할 수 있다.
또한, 본 발명은 2D 점유 격자 지도(2D occupancy grid map)를 생성할 수 있는 모든 센서들(예: ultrasonic sensor, 2D/3D LiDAR, 3D depth camera)에 적용될 수 있다.
또한, 본 발명은 실내 건물의 2차원 평면(2D floor plan) 지도에도 적용할 수 있기 때문에, 로봇을 통해 지도를 사전에 구축할 필요가 없다.
도 1은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도의 예를 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도를 복수의 서브맵들로 분할하는 과정을 상세히 설명하기 위한 흐름도이다.
도 4는 도 3의 S120에 의해 생성된 에지 지도 이미지를 보여주는 도면이다.
도 5는 도 4에 도시된 에지 지도 이미지 상에 도 3의 S130에 의해 추출된 후보 정션 포인트들과 S140에 의해 추출된 정션 포인트들을 함께 나타낸 도면이다.
도 6은 도 3의 S150에 의해 도 2의 2D 점유 격자 지도로부터 분할된 복수의 서브맵들의 예시도이다.
도 7은 본 발명의 실시 예에 따른 경계 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 경계 영역을 경계 포인트들로 나타낸 4개의 서브맵들의 예시도이다.
도 9는 도 8에 도시된 4개의 서브맵들의 경계 히스토그램을 나타내는 그래프이다.
도 10은 본 발명의 실시 예에 따른 자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시 예에 따른 자유 공간 영역을 자유 공간 포인트들로 나타낸 4개의 서브맵들의 예시도이다.
도 12는 도 11에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 13은 본 발명의 실시 예에 따른 서로 다른 노이즈 레벨을 갖는 4개의 서브맵들의 예시도이다.
도 14는 도 13에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 15는 본 발명의 실시 예에 따른 반사 대칭 스코어의 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 16은 도 15의 각 단계에서 생성된 이미지의 예시도이다.
도 17은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 기능 블록도이다.
도 18은 본 발명의 실시 예에 따른 전역 위치인식을 수행하기 위한 컴퓨팅 장치를 나타내는 블록도이다.
도 2는 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도의 예를 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도를 복수의 서브맵들로 분할하는 과정을 상세히 설명하기 위한 흐름도이다.
도 4는 도 3의 S120에 의해 생성된 에지 지도 이미지를 보여주는 도면이다.
도 5는 도 4에 도시된 에지 지도 이미지 상에 도 3의 S130에 의해 추출된 후보 정션 포인트들과 S140에 의해 추출된 정션 포인트들을 함께 나타낸 도면이다.
도 6은 도 3의 S150에 의해 도 2의 2D 점유 격자 지도로부터 분할된 복수의 서브맵들의 예시도이다.
도 7은 본 발명의 실시 예에 따른 경계 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 경계 영역을 경계 포인트들로 나타낸 4개의 서브맵들의 예시도이다.
도 9는 도 8에 도시된 4개의 서브맵들의 경계 히스토그램을 나타내는 그래프이다.
도 10은 본 발명의 실시 예에 따른 자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시 예에 따른 자유 공간 영역을 자유 공간 포인트들로 나타낸 4개의 서브맵들의 예시도이다.
도 12는 도 11에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 13은 본 발명의 실시 예에 따른 서로 다른 노이즈 레벨을 갖는 4개의 서브맵들의 예시도이다.
도 14는 도 13에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 15는 본 발명의 실시 예에 따른 반사 대칭 스코어의 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 16은 도 15의 각 단계에서 생성된 이미지의 예시도이다.
도 17은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 기능 블록도이다.
도 18은 본 발명의 실시 예에 따른 전역 위치인식을 수행하기 위한 컴퓨팅 장치를 나타내는 블록도이다.
본 발명에서는 전역 지도(global map)로부터 분할된 서브맵(submap)을 이용하여 모바일 로봇의 전역 위치인식 방법을 제안한다. 여기서, 전역 지도는 "2D 점유 격자 지도"일 수 있다. 본 문서에서 전역 지도는 '전역 지도 이미지'와 동일한 용어로 간주하고, 서브맵은 '서브맵 이미지'또는 '입력 서브맵 이미지'와 동일한 용어로 간주한다. 그리고 2D 점유 격자 지도 역시 '2D 점유 격자 지도 이미지'와 동일한 용어로 간주한다.
본 발명에 따른 모바일 로봇의 전역 위치인식 방법은 이미지 내 특징점을 추출하는 방법과는 달리 서브맵(submap) 내에서 점유 및 비점유(occupied and unoccupied) 영역의 분포 특징(distribution features)을 나타내는 통계치(statistic)를 추출하는 과정을 포함한다. 여기서, 상기 추출된 통계치는 전역 기술자(global descriptor)로 정의된다.
예를 들어, 본 발명은 서브맵(submap)을 경계(boundary) 영역(또는 상기 점유 영역)과 자유 공간(free space) 영역(또는 상기 비점유 영역)으로 나누고 각 영역의 분포 특징(distribution features)을 나타내는 히스토그램 형태의 데이터(이하, 히스토그램 데이터 또는 히스토그램 값)를 전역 기술자(global descriptor)로 생성한다.
경계 영역의 분포 특징(distribution features)을 나타내는 전역 기술자와 자유 공간 영역의 분포 특징을 나타내는 전역 기술자는 서브맵의 "기하학적 특징 정보(geometric feature information)"로 활용할 수 있다.
또한 본 발명에 따른 모바일 로봇의 전역 위치인식 방법은 서브맵의 "구조적 특징(structural feature) 또는 대칭 특징(symmetrical feature)"을 수치화하기 위해 서브맵의 구조적 특징 정보를 나타내는 반사 대칭 스코어(reflection symmetry score)를 계산하는 과정을 포함한다. 여기서, 반사 대칭 스코어(reflection symmetry score)는 서브맵과 쿼리 서브맵 사이의 유사도(similarity score) 계산 시에 가중치(weighting factor)로 활용될 수 있다.
이러한 본 발명에 따른 모바일 로봇의 전역 위치인식 방법은 서브맵(submap)의 구조적 특징 정보(structural feature information), 즉, 대칭 스코어(symmetry score)를 도입함에 따라, 실내 공간의 구조적 특징 정보를 수치화하여 서브맵(submap)의 매칭(matching) 성능을 향상시킬 수 있다.
또한, 본 발명은 서브맵의 기하학적 특징 정보(geometric feature information)와 구조적 특징 정보(structural feature information)의 명시적 통합을 제공함에 따라 서브맵(submap)에 인가되는 노이즈에 대한 강건성을 확보할 수 있다.
또한 본 발명은 2D 점유 격자 지도(2D occupancy grid map)를 생성할 수 있는 모든 센서들(예: ultrasonic sensor, 2D/3D LiDAR, 3D depth camera)에 적용될 수 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 문서에서 사용하는 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 방법을 설명하기 위한 흐름도이다.
이하에서 설명하는 단계들(S100~S700)의 수행 주체는 모바일 로봇(또는 이동 로봇) 내에 탑재되거나 모바일 로봇의 외부에 배치된 컴퓨팅 장치일 일 수 있다. 상기 컴퓨팅 장치는 데이터 및 이미지 처리를 위한 연산을 수행하는 프로세서, 데이터 및 이미지 처리에 필요한 프로그램 명령어를 일시적으로 일시적으로 저장하거나, 상기 프로세서에 의해 처리된 중간 데이터 및 결과 데이터를 일시적으로 저장하거나, 상기 프로세서에 의해 실행되는 프로그램 또는 소프트웨어 모듈을 실행 공간을 제공하는 메모리, 상기 프로세서에 의해 처리된 중간 데이터 및 결과 데이터를 영구적으로 저장하거나, 상기 중간 데이터 및 결과 데이터를 데이터베이스 형태로 영구적으로 저장하는 저장 매체, 사용자 명령을 수신하고 상기 중간 데이터 및 결과 데이터를 시각적 또는 청각적 정보 형태로 출력하는 입/출력 인터페이스, 외부 장치와의 유선 또는 무선 통신을 지원하는 통신 모듈을 포함하도록 구성될 수 있다. 여기서, 프로세서는, 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphic Processing Unit), 적어도 하나의 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 적어도 하나의 시스템 온 칩(SoC: System on Chip) 및/또는 이들의 조합 중에서 적어도 하나를 포함하도록 구성된 하드웨어일 수 있다.
도 1을 참조하면, 먼저, 단계 S100에서, 전역 지도를 복수의 서브맵들(submaps)로 분할하는 과정이 수행된다. 여기서, 전역 지도(global map)는 모바일 로봇에 탑재된 2D 레이저 스캐너(laser scanner) 또는 2D 라이다(LiDAR)와 같은 센서를 이용하여 생성한 2D 또는 3D 점유 격자 지도(2D/3D Occupancy Grid Map)일 수 있다.
상기 S100에 이어 수행되는 단계들 S200, S300 및 S400들은 병렬적으로 또는 순차적으로 수행될 수 있다. 본 문서에서는 상기 단계들 S200, S300 및 S400들이 병렬적으로 동시에 수행되는 것으로 가정한다.
S200에서, 각 서브맵(submap) 내에서 경계(boundary) 영역(또는 점유(occupied) 영역)의 분포 특징(distribution features) 또는 기하학적 특징 정보(geometric feature information)의 제1 통계치(first statistic)를 계산하는 과정이 수행된다. 여기서, 제1 통계치는 경계 영역(또는 점유(occupied) 영역)의 기하학적 특징 정보(geometric feature information)를 수치화(digitizing 또는 quantifying)하여 획득한 경계 히스토그램서, 이 경계 히스토그램은 경계 영역의 기하학적 특징 정보를 나타내는 전역 기술자로 사용될 수 있다.
S200와 병렬적으로 수행되는 S300에서, 각 서브맵(submap) 내에서 자유 공간(free space) 영역(또는 비점유(unoccupied) 영역)의 분포 특징(distribution features) 또는 기하학적 특징 정보의 제2 통계치(second statistic)를 계산하는 과정이 수행된다. 여기서, 제2 통계치 역시 자유 공간(free space) 영역(또는 비점유(unoccupied) 영역)의 기하학적 특징 정보(geometric feature information)를 수치화(digitizing 또는 quantifying)하여 획득한 자유 공간 히스토그램으로서, 자유 공간 영역의 기하학적 특징 정보를 나타내는 전역 기술자로 사용된다.
S200 및 S300과 병렬적으로 수행되는 S400에서, 각 서브맵(submap)의 구조적 특징 정보(structural feature information)에 대한 반사 대칭 스코어(reflection symmetry score)를 계산하는 과정이 수행된다.
S200, S300 및 S400에 의해 각각 계산된 통계치들, 즉, 경계 히스토그램, 자유 히스토그램 및 반사 대칭 스코어는 실제 전역 위치인식을 수행하기 전 오프라인에서 계산되어 서브맵과 함께 데이터베이스에 저장된다.
이어, S500에서, 상기 제1 통계치, 제2 통계치 및 상기 반사 대칭 스코어(reflection symmetry score)를 기반으로 데이터베이스에 저장된 서브맵들과 현재 입력되는 쿼리 서브맵(query submap) 사이의 유사도(similarity score)를 계산하는 과정이 수행된다.
이어, S600에서, 상기 계산된 유사도(similarity score)를 기반으로 데이터베이스에 저장된 서브맵들 중에서 쿼리 서브맵과 가장 유사한 서브맵을 선정하는 과정이 수행된다. 여기서, 서브맵과의 비교를 위해, 쿼리 서브맵에 대한 전술한 S200 내지 S400의 계산 과정들이 수행될 수 있다.
이어, S700에서, 가장 유사한 서브맵의 선정이 완료되면, 상기 선정된 서브맵에 포함된 좌표 정보를 기반으로 모바일 로봇의 전역 위치인식(global localization) 과정이 수행된다.
S500과 S600은 서브맵을 데이터베이스에 저장된 모든 서브맵들 Si과 비교하여 가장 잘 매칭되는 서브맵을 찾는(finding) 과정으로서 하나의 단계로 통합될 수 있다.
이하, 전술한 각 단계에 대해 상세히 설명하기로 한다.
전역 지도(또는 2D 점유 격자 지도)를 복수의 서브맵들로 분할(partitioning) 과정(S100)
도 2는 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도의 예를 보여주는 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도(20)는 모바일 로봇 또는 이동 로봇에 탑재된 2D 레이저 스캐너(laser scanner)(또는 2D 라이다(LiDAR))에 의해 획득된 2D 레이저 스캔 데이터(2D laser scan data)를 기반으로 생성될 수 있다.
2D 점유 격자 지도(20)에서 로봇의 위치를 알아내기 위해, 가장 최근에 생성한 서브맵과 2D 점유 격자 지도(20)을 비교해야 한다. 따라서 2D 점유 격자 지도(20)를 정해진 단위로 분할하는 과정이 필요하다.
2D 점유 격자 지도(20)를 균등한 간격(uniform interval)으로 분할할 수도 있으나, 이 경우 로봇이 위치할 수 없는 영역을 포함하는 서브맵이 생성될 수 있으므로, 이를 방지하기 위해, 본 발명의 실시 예에서는, 2D 점유 격자 지도(20) 상의 정션 포인트(junction point)를 기준으로 2D 점유 격자 지도(20)를 분할하여 복수의 서브맵들을 생성한다. 여기서, 정션 포인트는 2D 점유 격자 지도 상에서 로봇의 이동 경로가 분기되는 포인트를 의미할 수 있다.
도 3은 본 발명의 실시 예에 따른 전역 지도로 활용되는 2D 점유 격자 지도를 복수의 서브맵들로 분할하는 과정을 설명하기 위한 흐름도이고, 도 4는 도 3의 S120에 의해 생성된 에지 지도 이미지를 보여주는 도면이고, 도 5는 도 4에 도시된 에지 지도 이미지 상에 도 3의 S130에 의해 추출된 후보 정션 포인트들과 S140에 의해 추출된 정션 포인트들을 나타낸 도면이다. 그리고, 도 6은 도 3의 S150에 의해 2D 점유 격자 지도로부터 분할된 복수의 서브맵들의 예시도이다.
도 3을 참조하면, 먼저 S110에서, 2D 점유 격자 지도(20) 상의 자유 공간(free space) 영역을 탐지하기 위해, 2D 점유 격자 지도(20)를 이진 스케일로 이루어진 이진화 지도(binary map) 이미지로 변환한 후, 이미지 처리 기술들(image processing technique) 중에 하나인 거리 변환(distance transform) 기법에 따라 이진화 지도 이미지를 거리 변환 이미지(distance transformed image 또는 distance transformed map image)로 변환한다.
이어, S120에서, 거리 변환 이미지는 중요하지 않은 자유 공간 영역을 포함하므로 주 탐색 경로(main navigation path)만을 추출하기 위해, 상기 거리 변환 지도 이미지를 모폴로지 연산(morphological operation) 기법(예, erosion morphological operator)과 이미지 희석화(image thinning) 기법을 기반으로 1-픽셀 너비(1-pixel width)를 갖는 에지 지도 이미지(edge map image)(도 4의 40)로 변환한다.
이어, S130에서, 에지 지도 이미지(도 4의 40)의 모든 0이 아닌 픽셀들(nonzero pixels)에서 정션 테스트(junction test)를 수행하여, 후보 정션 포인트들(candidate junction points)(도 5의 41, 42, 43, 44, 45, 46, ?? )을 추출한다. 여기서, 정션 테스트는, 예를 들면, 에지 지도 이미지(도 4의 40)에서 에지(경계)를 구성하는 모든 픽셀들을 중심 픽셀(41)로 구성한 3×3 이미지 패치들(image patch)(도 4의 A)를 추출한다. 이후, 3×3 이미지 패치(A) 내에서 상기 중심 픽셀(41)을 둘러싸는 주변 픽셀들(41A, 41B 및 41C) 중에서 적어도 3개의 주변 픽셀들의 픽셀값이 중심 픽셀(41)의 픽셀값과 다른 경우, 중심 픽셀(41)을 후보 정션 포인트로 추출한다. 도 4에서는 중심 픽셀(41)이 흰색 그레이 스케일이고, 주변 픽셀들(41A, 41B 및 41C)이 검은색 그레이 스케일로 구성된 3×3 이미지 패치(A)의 예를 나타낸 것으로, 이 경우에서 중심 픽셀(41)은 세 방향으로 분기된 후보 정션 포인트로 정의할 수 있다.
이어, S140에서, 후보 정션 포인트들을 밀도 기반의 클러스터링 기법(Density-based spatial clustering)을 이용하여 군집화(clustering)하여 군집화 된 후보 정션 포인트들(도 5의 41~46)을 대표하는 정션 포인트들(junction points)(도 5의 50, 51, 52, ?? )을 추출한다.
이어, S150에서, 2D 점유 격자 지도(20)는 각 정션 포인트를 중심으로 일정한 반경 r을 갖는 복수의 서브맵 이미지들의 합으로 표현할 수 있으며, 이 경우, 2D 점유 격자 지도(20)를 상기 추출된 각 정션 포인트를 중심 포인트로 하는 복수의 서브맵들로 분할한다. 도 6에는 S110 내지 S150을 거쳐 도 2의 2D 점유 격자 지도(20)를 12개로 분할한 서브맵 이미지들(SM1 ~ SM12)의 예가 나타난다.
경계 영역의 기하학적 특징 정보에 대한 통계치 계산(S200)
경계(boundary) 영역의 기하학적 특징 정보(geometric feature information)는 서브맵(submap) 내에서 경계 영역, 즉, 점유(occupied) 영역을 형성하는 픽셀들의 분포 특징(distribution features)을 의미하며, 통계치는 점유(occupied) 영역을 형성하는 픽셀들의 분포 특징(distribution features)을 히스토그램으로 변환한 데이터 또는 값을 의미한다.
경계 영역은 서브맵 내에서 볼 수 있는 전반적인 외곽 라인을 의미한다. 이는 서브맵을 분별하게 하는 주요한 특징이 된다. 본 발명의 실시 예에서는 서브맵 내에서 볼 수 있는 경계 영역의 기하학적 특징 또는 분포 특징이 수치화된 통계치를 계산하기 위해 아래의 과정들을 수행한다.
도 7은 본 발명의 실시 예에 따른 경계 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 7을 참조하면, 먼저, S210에서, 다양한 이미지 처리 기법을 기반으로 서브맵 이미지(또는 쿼리 서브맵 이미지)를 이진화 서브맵 이미지(binary submap image)로 변환하는 과정이 수행된다. 서브맵의 각 픽셀값은 점유(occupancy) 정도를 나타낸다. 서브맵 내부의 애매모호한 픽셀들을 제거하고 명확하게 점유된(occupied) 픽셀들만을 고려하기 위해, inverse-binary thresholding 알고리즘을 기반으로 서브맵 이미지를 이진화 서브맵 이미지 로 변환한다. 여기서, 의 위 첨자 B는 Binary의 약자를 의미하고, 아래 첨자 i는 i번째 이진화 서브맵 이미지를 의미한다.
이어, S220에서, 다양한 이미지 처리 기법을 기반으로 이진화 서브맵 이미지 를 에지 지도 이미지 로 변환하는 과정이 수행된다. 여기서, 의 위 첨자 E는 Edge의 약자를 의미한다. 매핑(mapping) 과정에서 센서 노이즈 또는 매핑 오차로 인하여 벽과 같은 구조물은 밀집된 점유(occupied) 영역으로 표현할 수 있다. 이진화 서브맵 이미지 를 에지 지도 이미지 로 변환하기 위해, 이미지 희석화(image thinning) 기법이 활용될 수 있다. 예를 들면, 이진화 서브맵 이미지 는 이미지 희석화(image thinning) 기법으로, 를 한 픽셀 너비(1-pixel width)를 가지는 에지 지도 이미지 로 변환될 수 있다.
이어, S230에서, 에지 지도 이미지 내에서 상기 경계 영역을 형성하는 경계 포인트들(boundary points)(또는 에지 포인트들(edge points))을 샘플링 하는 과정이 수행된다. 경계 포인트들은 에지 지도 이미지 내에서 영이 아닌 픽셀들(nonzero pixels)의 집합을 의미한다. 본 발명의 실시 예에서는 균등 샘플링(uniform sampling) 기법을 기반으로 경계 포인트들을 샘플링 한다. 이러한 균등 샘플링 기법에 의해 경계 포인트들의 수가 감소되어, 계산량을 줄일 수 있다.
이어, S240에서, 샘플링된 경계 포인트들을 2개씩 쌍으로 구성하여 복수의 경계 포인트 쌍들을 생성한 후, 각 경계 포인트 쌍에 포함된 2개의 경계 포인트들 사이의 거리값을 빈(bin)으로 하는 경계 히스토그램 값 (1D 히스토그램 )을 계산하는 과정이 수행된다. 여기서, 빈(bin)은 히스토그램의 한 구간을 의미한다.
도 8은 본 발명의 실시 예에 따른 경계 영역을 경계 포인트들로 나타낸 4개의 서브맵들의 예시도이고, 도 9는 도 8에 도시된 4개의 서브맵들의 경계 히스토그램을 나타내는 그래프이다.
도 8 및 9를 참조하면, 참조번호 80이 가리키는 서브맵 3의 히스토그램과 다른 서브맵들(81, 82 및 83)의 히스토그램은 확연히 차이가 난다. 하지만 참조 번호 81이 가리키는 서브맵 24와 참조 번호 82가 가리키는 서브맵 39는 다른 경계 형상(boundary shape)을 가짐에도 불구하고 비슷한 변화 양상을 보인다.
이것은 경계 포인트들(경계 영역)의 분포 특징 또는 기하학적 특징을 나타내는 하나의 히스토그램 인자로는 모든 서브맵을 구분하는데 한계가 있음을 의미한다. 즉, 모든 서브맵을 구분하는데 있어서 경계 영역의 기하학적 특징 정보뿐만 아니라 아래에서 설명하는 자유 공간(free space) 영역의 기하학적 특징 정보를 함께 고려해야 함을 의미한다.
자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산(S300)
서브맵 상의 자유 공간(free space) 영역은 모바일 로봇이 실제로 이동할 수 있는 영역 또는 경로를 의미한다. 이것은 서브맵의 내부 구조를 알 수 있는 유용한 기하학적 특징 정보를 제공한다. 이 기하학적 특징 정보를 전술한 경계 영역의 기하학적 특징 정보와 융합하면 서브맵 매칭 성능(submap matching performance)을 높일 수 있다. 본 발명의 실시 예는 아래와 같은 과정들을 수행하여 자유 공간 영역의 기하학적 특징 정보 또는 분포 특징(distribution)을 수치화한 통계치, 즉, 히스토그램을 생성한다.
도 10은 본 발명의 실시 예에 따른 자유 공간 영역의 기하학적 특징 정보에 대한 통계치 계산 과정을 상세히 설명하기 위한 흐름도이다.
도 10을 참조하면, 먼저, S310에서, 다양한 이미지 처리 기법을 기반으로 서브맵 이미지(또는 쿼리 서브맵 이미지)에서 이진화 서브맵 이미지로 변환하는 과정이 수행된다. S310은 도 1의 S110과 S120을 포함한다.
이어, S320에서, 다양한 이미지 처리 기법을 기반으로 이진화 서브맵 이미지를 에지 지도 이미지로 변환하는 과정이 수행된다. S320은 도 1의 S130과 거의 동일하다.
이어, S330에서, 에지 지도 이미지 내에서 자유 공간 영역을 형성하는 자유 공간 포인트들 을 추출(샘플링)하는 과정이 수행된다. S330은 도 1의 S130과 거의 유사하다. 다만, 자유 공간 포인트들은 에지 지도 이미지 내에서 0이 아닌 픽셀들(nonzero pixels)이 아니라 O인 픽셀들(zero pixels)의 집합을 의미하는 점에서 S330과 도 1의 S130 간에 차이가 있다.
이어, S340에서, 상기 추출(샘플링)된 자유 공간 포인트들 중에서 상기 자유 공간 포인트들 사이의 최단 경로 거리(shortest path distance) 값을 계산하는 과정이 수행된다. 자유 공간 포인트들을 이용하여 가시성 그래프(visibility graph)를 구성함으로써 임의의 자유 공간 포인트 m으로부터 다른 임의의 자유 공간 포인트 n으로 연결되는 최단거리 경로를 구할 수 있다. 가시성 그래프(visibility graph)는 인접 행렬(adjacency matrix) A = [amn]로 표현될 수 있으며, 인접 행렬의 각 엘리먼트(element) amn은 자유 공간 포인트들 사이의 유클리드 거리(Euclidean distance)가 된다. 자유 공간 포인트 m에서 자유 공간 포인트 n의 직선 경로 상에 점유 픽셀(occupied pixel)이 존재하면 amn는 무한대의 값을 가진다. 최단 경로 거리 값을 구하기 위해 다익스트라(Dijkstra) 알고리즘이 이용될 수 있다.
이어, S350에서, 상기 최단 경로 거리값을 갖는 2개의 자유 공간 포인트들을 자유 공간 포인트 쌍으로 구성하고, 자유 공간 포인트 쌍의 상기 최단 경로 거리값을 빈(bin)으로 하는 자유공간 히스토그램 값(1D 히스토그램 )을 계산하는 과정이 수행된다. 여기서, 의 위 첨자 f는 free space(자유 공간)의 약자를 의미한다.
도 11은 본 발명의 실시 예에 따른 자유 공간 영역을 자유 공간 포인트(84)들로 나타낸 4개의 서브맵들의 예시도이고, 도 12는 도 11에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 11에 도시된 서브맵들(80, 81, 82 및 83)은 도 8에 도시된 서브맵들(80, 81, 82, 83)과 동일하다. 다만, 도 11에 도시된 서브맵들(80, 81, 82 및 83)은 도 8에 도시된 서브맵들(80, 81, 82, 83)을 일정각도로 회전시킨 것들이다.
참조 번호 81이 가리키는 서브맵 24와 참조 번호 82가 가리키는 서브맵 39는 도 9에 도시된 경계 히스토그램 상에서는 구별이 어렵지만, 자유 공간 히스토그램(free space histogram) 상에서는 도 12에 도시된 바와 같이 조금 더 두드러진 차이를 확인할 수 있다.
하지만 자유 공간 히스토그램(free space histogram)은 경계 히스토그램(boundary histogram)과는 달리 서브맵 3과 서브맵 24의 히스토그램 변화 경향성은 유사하다. 이것은 경계 히스토그램(boundary histogram)과 자유 공간 히스토그램(free space histogram)은 상호 보완적인 특징을 나타내며, 두 히스토그램의 조합을 통하여 장소(place)를 구분하는 성능을 높일 수 있음을 의미한다.
도 13은 본 발명의 실시 예에 따른 서로 다른 노이즈 레벨을 갖는 4개의 서브맵들의 예시도이고, 도 14는 도 13에 도시된 4개의 서브맵들의 자유 공간 히스토그램을 나타내는 그래프이다.
도 13 및 14를 참조하면, 노이즈에 대한 자유 공간 히스토그램(free space histogram)의 견고성을 확인하기 위해, 서브맵들(91, 92, 93)에는 매핑 과정에서 존재하지 않는 Nr개의 가상 장애물(94)이 무작위로 배치된다. 서브맵의 노이즈 레벨은 가상 장애물의 개수에 따라 결정된다. 가상 장애물(94)의 추가는 자유 공간 포인트(84)들의 분포 특징을 나타내는 히스토그램을 변경시킨다. 그러나 이것은 최단 경로 거리에 큰 영향을 미치지 않는다. 따라서 히스토그램의 변화 정도는 미미하다.
반사 대칭 스코어(Reflection symmetry score) 계산(S400)
위에서 설명한 경계 및 자유 공간 히스토그램은 서브맵의 기하학적 모양을 수량화(정량화)한 데이터인 반면, 반사 대칭 스코어는 서브맵의 전체 구조적 모양 또는 대칭성(symmetry)을 수량화(정량화)한 데이터 또는 값일 수 있다.
대칭 유형에는 회전, 반사, 변환 및 glide 반사가 있다. 이 중 반사 대칭은 실내 구조에서 볼 수 있는 가장 일반적인 대칭 유형이다. 본 발명의 실시 예에서는 아래의 과정들을 통해 반사 대칭 스코어(reflection symmetry score)를 서브맵 이미지로부터 계산하고, 계산된 반사 대칭 스코어는 서브맵 유사도(submap similarity score) 계산(도 1의 S500) 시에 가중치(weight)로 활용된다.
도 15는 본 발명의 실시 예에 따른 서브맵의 구조적 특징 정보에 대한 반사 대칭 스코어의 계산 과정을 상세히 설명하기 위한 흐름도이고, 도 16은 도 15의 각 단계에서 생성된 이미지의 예시도이다.
도 15 및 16을 참조하면, 먼저, S410에서, 다양한 이미지 처리 기법을 기반으로 서브맵 이미지(10)를 에지 지도 이미지로 변환하는 과정이 수행된다. S410은, 예를 들면, 도 7의 S210의 수행 과정과 동일하게 서브맵 이미지(10)를 이진화 서브맵 이미지(binary submap image)로 변환한 후, 도 7의 S220과 동일하게 이진화 서브맵 이미지 를 에지 지도 이미지 (11)로 변환하는 과정을 포함할 수 있다.
이어, S420에서, 에지 지도 이미지 (11)에서 추출된 일정 길이의 선분들(line segments)의 각도를 기반으로 두 개의 대칭축(α 및 β)을 검출하는 과정이 수행된다. 일정 길이 이상의 선분들(line segments)을 추출하기 위해, 예를 들면, 확률적 허프 변환(Probabilistic Hough Transform) 알고리즘이 이용될 수 있다. 건물의 실내 구조는 대부분 직사각형이기 때문에, 보트(Vote) 알고리즘을 기반으로 상기 추출된 선분들의 각도들을 보팅(voting)하는 방식으로 두 개의 대칭축(axes of symmetry) (α, β)이 검출될 수 있다.
이어, S430에서, 상기 검출된 2개의 반사 대칭축들 (α, β)을 수직하게 정렬되도록 회전된 에지 지도 이미지 를 가우시안-블러드(Gaussian-blurred) 이미지 (13)로 변환한 후, 상기 가우시안-블러드 이미지 (13)에서 0이 아닌 모든 픽셀들(u, v)의 위치에 대응하는 반전(flip)된 가우시안-블러드 이미지 의 픽셀들 의 평균 강도 를 반사 대칭 스코어로서 계산하는 과정이 수행된다. 즉, 반사 대칭 스코어의 계산은 상기 가우시안-블러드 이미지와 상기 대칭축 (α, β)을 기준으로 반전된 가우시안-블러드 이미지 사이의 유사도를 계산하는 과정일 수 있다.
반전(flip)된 가우시안-블러드 이미지 는, 예를 들면, 상기 가우시안-블러드 이미지 (13)를 상기 반사 대칭축을 기준으로 반전시킨 이미지일 수 있다. 에지 지도 이미지(11)를 가우시안-블러드 이미지로 변환하기 위해, 이미지 처리 분야에서 활용되는 다양한 이미지 블러드 기법들이 이용될 수 있다. 상기 회전된 에지 지도 이미지 (11)는 상기 2개의 반사 대칭축들 (α, β) 중에서 어느 하나의 대칭축이 수직하게 정렬되도록 상기 에지 지도 이미지 (11)를 회전시킨 이미지일 수 있다. 한편, 대칭축 β에 대한 반사 대칭 스코어(reflection symmetry score) 도 위와 같은 방법으로 계산할 수 있다.
서브맵 유사도 계산(S500)
위에서 구한 3가지의 통계치들, 즉, 경계 히스토그램, 자유 공간 히스토그램 및 반사 대칭 스코어는 실제 전역 위치 인식을 수행하기 전에 오프라인에서 계산된 후 입력 서브맵들 S i 과 함께 데이터베이스에 저장된다. 이후, 로봇의 주행 과정에서 쿼리 서브맵 S q 이 생성되면, 아래의 수학식 2에 따라 매칭 스코어(matching score)를 계산하고, 계산된 매칭 스코어의 역을 서브맵 유사도(similarity score: )로서 계산하는 과정이 수행된다.
서브맵 유사도(similarity score: ) 계산이 완료되면, 이를 기반으로 데이터베이스에 저장된 서브맵들 Si 중에서 쿼리 서브맵 S q 과 가장 잘 매칭되는 서브맵을 선정한다(S700).
여기서, S 및 m(Sq, Si)는 쿼리 서브맵 S q 과 데이터베이스에 저장된 입력 서브맵 S i 사이의 유사도(similarity score)이고, 와 는 서브맵 Si의 대칭축 α와 β에 의한 반사 대칭 스코어를 각각 나타내고, 와 는 쿼리 서브맵 Sq의 대칭축 α와 β에 의한 반사 대칭 스코어를 각각 나타낸다. 즉, 는 대칭축 α를 기준으로 구분되는 좌측 서브맵과 우측 서브맵 사이의 유사한 정도를 나타내는 스코어이고, 는 대칭축 β를 기준으로 구분되는 좌측 서브맵과 우측 서브맵 사이의 유사한 정도를 나타내는 스코어이다. 유사하게, 는 대칭축 α를 기준으로 좌측 쿼리 서브맵과 우측 쿼리 서브맵 사이의 유사한 정도는 나타내는 스코어이고, 는 대칭축 β를 기준으로 좌측 쿼리 서브맵과 우측 쿼리 서브맵 사이의 유사한 정도는 나타내는 스코어이다. Ω()는 쿼리 서브맵 Sq과 서브맵 Si 사이의 구조적 특징의 유사성을 계산하는 함수로서, 는 로 나타낼 수 있다. 여기서, 는 대칭축 α에 의한 쿼리 서브맵 S q 의 반사 대칭 스코어 와 대칭축 α에 의한 서브맵 S i 의 반사 대칭 스코어 사이의 차이값을 계산하는 식이고, 는 대칭축 β에 의한 쿼리 서브맵 S q 의 반사 대칭 스코어 와 대칭축 β에 의한 서브맵 S i 의 반사 대칭 스코어 사이의 차이값을 계산하는 식이다. 따라서, 쿼리 서브맵 Sq과 서브맵 Si 사이의 구조적 특징의 유사성은 상기 차이값 과 상기 차이값 의 곱으로 계산할 수 있다.
와 은 입력 서브맵 Si의 경계 히스토그램과 자유 공간 히스토그램(값)을 각각 나타내고, 와 는 쿼리 서브맵 Sq의 경계 히스토그램(값)과 자유공간 히스토그램(값)을 각각 나타낸다. wb는쿼리 서브맵 Sq의 경계 히스토그램(값)과 서브맵 Si의 경계 히스토그램(값) 사이의 매칭 가중치를 나타내고, wf는 쿼리 서브맵 Sq의 자유 공간 히스토그램(값)과 서브맵 Si의 자유 공간 히스토그램(값) 사이의 매칭 가중치를 나타낸다. 그리고, Ω()는 쿼리 서브맵과 데이터베이스에 저장된 입력 서브맵 사이의 구조적 특징 정보의 유사도를 계산하는 함수이다.
도 17은 본 발명의 실시 예에 따른 모바일 로봇의 전역 위치인식을 위한 기능 블록도이다.
도 17을 참조하면, 본 발명의 실시 예에 따른 전역 위치인식을 위한 장치는 이미지 분할기(100), 제1 기하학적 특징 추출기(200), 제2 기하학적 특징 추출기(300), 구조적 특징 추출기(400), 서브맵 유사도 계산기(500), 전역 위치인식 처리기(600) 및 데이터베이스(700)을 포함한다.
위의 구성들(100 ~ 700)은 설명의 이해를 돕기 위해 기능 단위로 구분한 것일 뿐, 본 발명을 제한하고자 하는 의도는 아니며, 다양하게 변경될 수 있다. 예를 들면, 위의 구성들 중 일부 구성들은 하나의 구성들로 통합되거나, 위의 구성들 중 어느 하나의 구성은 세부적인 기능 단위로 복수의 구성들로 분리될 수 있다. 예를 들면, 제1 기하학적 특징 추출기(200), 제2 기하학적 특징 추출기(300) 및 구조적 특징 추출기(400)은 '특징 추출기'라는 명칭으로 하나의 구성으로 통합될 수 있다. 또한 각 구성은 하드웨어 모듈 또는 소프트웨어 모듈로 구현되거나 이들의 조합으로 구현될 수 있다. 여기서, 하드웨어 모듈은 적어도 하나의 CPU, GUP 및/또는 MCU 등으로 구현된 프로세서를 포함하는 반도체 칩으로 구현될 수 있고, 소프트웨어 모듈은 프로세서에 의해 실행되는 알고리즘, 프로그램 등으로 구현될 수 있다.
각 구성에 대해 상세히 설명하면, 먼저, 이미지 분할기(100)는 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할한다. 이를 위해, 이미지 분할기(100)는, 예를 들면, 도 1 또는 도 3의 S100에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 전역 지도 이미지는 2D 또는 3D 점유 격자 지도 이미지일 수 있다.
제1 기하학적 특징 추출기(200)는 각 쿼리 서브맵 이미지 S q 의 제1 기하학 적 특징을 추출한다. 이를 위해, 제1 기하학적 특징 추출기(200)는, 예를 들면, 도 1 또는 도 7의 S200에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 제1 기하학적 특징은 각 쿼리 서브맵 이미지 S q 에 포함된 경계 영역의 분포 특징을 수치(정량)화한 경계 히스토그램(값)일 수 있다. 경계 영역은 로봇이 이동할 수 없는 영역일 수 있다.
제2 기하학적 특징 추출기(300)는 각 쿼리 서브맵 이미지 S q 의 제2 기하학 적 특징을 추출한다. 이를 위해, 제2 기하학적 특징 추출기(300)는, 예를 들면, 도 1 또는 도 10의 S300에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 제2 기하학적 특징은 각 쿼리 서브맵 이미지 S q 에 포함된 자유 공간 영역의 분포 특징을 수치(정량)화한 자유 공간 히스토그램(값)일 수 있다. 자유 공간 영역은 로봇이 이동할 수 있는 영역(또는 경로)일 수 있다.
구조적 특징 추출기(400)는 각 쿼리 서브맵 이미지 S q 의 구조적 특징을 추출한다. 이를 위해, 구조적 특징 추출기(400)는, 예를 들면, 도 1 및 15의 S400에 따라 수행되는 과정들을 처리할 수 있다. 여기서, 구조적 특징은 쿼리 서브맵 S q 의 전체 구조적 모양을 수량화(정량화)한 반사 대칭 스코어 일 수 있다.
반사 대칭 스코어를 계산하기 위해, 구조적 특징 추출기(400)는, 예를 들면, 3개의 감산기들(501, 503 및 505), 가산기(507), 곱셈기(509) 및 역수 계산기(511)를 포함할 수 있다.
제1 감산기(501)는 제1 기하학적 특징 추출기(200)에 의해 추출된(계산된) 쿼리 서브맵 S q 의 경계 히스토그램값 과 데이터베이스(700)에 사전에 저장된 입력 서브맵 S i 의 경계 히스토그램값 의 차이값 을 계산한다. 이때, 차이값 에는 매칭 가중치 w b 가 적용될 수 있다.
제2 감산기(503)는 제2 기하학적 특징 추출기(300)에 의해 추출된(계산된) 쿼리 서브맵 S q 의 자유공간 히스토그램값 과 데이터베이스(700)에 사전에 저장된 입력 서브맵 S i 의 자유공간 히스토그램값 의 차이값 을 계산한다. 이때, 차이값 에는 매칭 가중치 w f 가 적용될 수 있다.
제3 감산기(505)는 구조적 특징 추출기(400)에 의해 추출된(계산된) 쿼리 서브맵 S q 의 대칭축 (α 및 β)에 의한 반사 대칭 스코어 와 데이터베이스(700)에 사전에 저장된 입력 서브맵 S i 의 대칭축 (α 및 β)에 의한 반사 대칭 스코어 의 차이값 을 계산한다.
곱셈기(507)는 가산기(507)의 출력과 제3 감산기(505)의 출력에 대한 곱셈 연산을 수행하여 획득한 매칭 스코어 m(S q , S i )를 출력한다.
역수 계산기(511)는 매칭 스코어 m(S q , S i )의 역수를 쿼리 서브맵 S q 과 입력 서브맵 S i 사이의 서브맵 유사도 ρ로서 계산한다.
전역 위치인식 처리기(600)는 상기 서브맵 유사도 ρ를 기반으로 쿼리 서브맵 S q 과 가장 유사한 입력 서브맵 S i 을 선정하고, 상기 선정된 입력 서브맵 S i 에 포함된 좌표 정보를 기반으로 모바일 로봇의 전역 위치인식 과정을 수행한다. 전역 위치인식 처리기(600)는 도 1의 S600 및 S700에 따른 과정들을 처리할 수 있다.
데이터베이스(700)에는 서브맵 S i 별로 사전에 계산된 경계 영역 히스토그램 , 자유공간 히스토그램 및 반사 대칭 스코어 가 저장된다. 데이터베이스(700)는 비휘발성 저장매체에 저장될 수 있다.
도 18은 본 발명의 실시 예에 따른 전역 위치인식을 수행하기 위한 컴퓨팅 장치를 나타내는 블록도이다.
도 18을 참조하면, 컴퓨팅 장치(1300)는, 로봇 내에 탑재되거나 로봇과 통신하는 외부 장치에 탑재될 수 있다. 컴퓨팅 장치(1300)는 버스(1370)를 통해 통신하는 프로세서(1310), 메모리(1330), 입력 인터페이스 장치(1350), 출력 인터페이스 장치(1360), 및 저장 장치(1340) 중 적어도 하나를 포함할 수 있다. 또한 휴대용 컴퓨터(1300)는 네트워크에 결합된 통신 장치(1320)를 포함할 수 있다.
프로세서(1310)는 적어도 하나의 CPU, 적어도 하나의 GPU 및 적어도 하나의 MCU를 포함하며, 메모리(1330) 또는 저장 장치(1340)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 또한, 프로세서(1310)는 도 1 내지 17에 도시된 구성들 및/또는 과정들을 제어하거나, 처리하거나 연산할 수 있다. 특히 프로세서(1310)는 이미지를 처리하는데 충분한 성능을 보유한 고성능의 CPU 및 GPU를 포함할 수 있다.
메모리(1330) 및 저장 장치(1340)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 예를 들어, 저장 장치(1340)는 하드디스크일 수 있다. 저장 장치(1340)에는 도 17에 도시된 데이터베이스(700)가 저장될 수 있다.
통신 장치(1320)는 유선 또는/및 무선 통신을 지원하는 통신 모듈일 수 있다. 통신 장치(1320)에 의해, 프로세서(1310)에서 처리한 데이터 및 이미지들은 외부 장치로 송신될 수 있다.
입력 인터페이스 장치(1350)는 버튼, 마우스, 키보드, 터치 기능을 갖는 표시부로 구현될 수 있다.
출력 인터페이스 장치(1360)은 프로세서(1310)에 의해 처리된 중간 데이터 및 결과 데이터를 시각적 및/또는 청각적인 형태의 정보로 출력할 수 있다. 결과 데이터는 전역 위치인식을 수행하여 최종적으로 획득한 로봇의 위치 정보일 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
Claims (18)
- 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법으로서,
전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계;
각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계;
각 쿼리 서브맵 이미지의 구조적 특징 정보를 나타내는 반사 대칭 스코어를 계산하는 단계;
상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 서브맵 유사도를 계산하는 단계; 및
상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제1항에서,
상기 전역 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 단계는,
상기 모바일 로봇에 탑재된 센서를 이용하여 상기 전역 지도 이미지를 생성하는 단계;
상기 전역 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 포인트를 정의하는 정션 포인트(junction point)를 추출하는 단계; 및
상기 전역 지도 이미지를 상기 정션 포인트를 중심으로 일정한 반경을 갖는 상기 복수의 쿼리 서브맵 이미지들로 분할하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제2항에서,
상기 정션 포인트를 추출하는 단계는,
이미지 처리 기법을 기반으로 상기 전역 지도 이미지를 에지 지도 이미지(edge map image)로 변환하는 단계; 및
상기 에지 지도 이미지 내에서 중심 픽셀과 상기 중심 픽셀을 둘러싸는
의 주변 픽셀들로 이루어진 n×n 이미지 패치를 가정할 때, 상기 중심 픽셀의 픽셀값이 적어도 3개의 주변 픽셀들의 픽셀값과 다른 경우, 상기 중심 픽셀을 상기 정션 포인트로서 추출하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제1항에서,
각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하는 단계는,
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 기하학적 특징을 나타내는 경계 히스토그램 값을 계산하는 단계; 및
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 기하학적 특징을 나타내는 자유 공간 히스토그램 값을 계산하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제4항에서,
상기 경계 히스토그램 값을 계산하는 단계는,
이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
상기 에지 지도 이미지 내에서 상기 경계 영역을 형성하는 경계 포인트들을 샘플링 하는 단계;
상기 샘플링된 경계 포인트들을 쌍으로 구성하여 복수의 경계 포인트 쌍들을 생성하는 단계; 및
각 경계 포인트 쌍에 포함된 2개의 경계 포인트들 사이의 거리값을 기반으로 상기 경계 히스토그램 값을 계산하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제4항에서,
상기 자유 공간 히스토그램 값을 계산하는 단계는,
이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
상기 에지 지도 이미지 내에서 상기 자유 공간 영역을 형성하는 자유 공간 포인트들을 추출하는 단계;
상기 추출된 자유 공간 포인트들 중에서 최단 경로 거리(shortest path distance) 값을 갖는 2개의 자유 공간 포인트들을 쌍으로 구성하여 복수의 자유 공간 포인트 쌍들을 생성하는 단계; 및
각 자유 공간 포인트 쌍의 상기 최단 경로 거리 값을 기반으로 상기 자유 공간 히스토그램 값을 계산하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제1항에서,
상기 반사 대칭 스코어를 계산하는 단계는,
이미지 처리 기법을 기반으로 각 쿼리 서브맵 이미지를 에지 지도 이미지로 변환하는 단계;
상기 에지 지도 이미지에서 일정 길이를 갖는 선분들의 각도를 기반으로 반사 대칭축을 검출하는 단계;
이미지 블러드(image blurred) 기법을 기반으로 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계; 및
상기 블러드 이미지와 상기 검출된 반사 대칭축을 기준으로 반전(filp)된 블러드 이미지 사이의 유사도를 상기 반사 대칭 스코어로서 계산하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제7항에서,
상기 반사 대칭축을 검출하는 단계와 상기 에지 지도 이미지를 블러드 이미지로 변환하는 단계 사이에 상기 검출된 반사 대칭축이 수직하게 정렬되도록 상기 에지 지도 이미지를 회전시키는 단계
를 더 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제1항에서,
상기 서브맵 유사도를 계산하는 단계는,
각 쿼리 서브맵 이미지의 상기 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지들의 상기 기하학적 특징을 나타내는 히스토그램 값들 사이의 제1 차이값을 계산하는 단계;
각 쿼리 서브맵 이미지의 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지들의 구조적 특징을 나타내는 반사 대칭 스코어들 사이의 제2 차이값을 계산하는 단계; 및
상기 제1 및 제2 차이값을 기반으로 상기 서브맵 유사도를 계산하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제9항에서,
상기 제1 차이값을 계산하는 단계는,
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값과 상기 서브맵 이미지들에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 상기 기하학적 특징을 나타내는 경계 히스토그램 값들 사이의 차이값을 계산하는 단계; 및
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값과 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 상기 기하학적 특징을 나타내는 자유 공간 히스토그램 값들 사이의 차이값을 계산하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 로봇의 전역 위치인식을 위한 컴퓨팅 장치로서,
점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 이미지 분할기;
각 쿼리 서브맵 이미지의 기하학적 특징을 나타내는 히스토그램 값을 계산하고, 각 쿼리 서브맵 이미지의 대칭 특징을 나타내는 반사 대칭 스코어를 계산하는 특징 추출기;
상기 히스토그램 값과 상기 반사 대칭 스코어를 기반으로 각 쿼리 서브맵 이미지와 데이터베이스에 저장된 서브맵 이미지들 사이의 유사도를 계산하는 서브맵 유사도 계산기; 및
상기 서브맵 유사도를 기반으로 상기 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하여, 상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 로봇의 전역 위치인식을 수행하는 전역 위치인식 처리기
를 포함하는 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치. - 제11항에서,
상기 이미지 분할기는,
상기 점유 격자 지도 이미지 상에서 상기 모바일 로봇의 이동 경로가 분기되는 정션 포인트를 기준으로 상기 점유 격자 지도 이미지를 복수의 쿼리 서브맵 이미지들로 분할하는 것인 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치. - 제11항에서,
상기 특징 추출기는,
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 제1 기하학적 특징 추출기;
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 제2 기하학적 특징 추출기; 및
각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 구조적 특징 추출기
를 포함하는 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치. - 제11항에서,
상기 서브맵 유사도 계산기는,
각 쿼리 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지에서 경계 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제1 감산기
각 쿼리 서브맵 이미지에서 자유 공간 영역의 기하학적 특징을 정량화한 자유공간 히스토그램 값과 상기 데이터베이스에 저장된 서브맵 이미지의 자유 공간 영역의 기하학적 특징을 정량화한 경계 히스토그램 값의 차이값을 계산하는 제2 감산기: 및
각 쿼리 서브맵 이미지의 대칭성을 정량화한 상기 반사 대칭 스코어와 상기 데이터베이스에 저장된 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어의 차이값을 계산하는 제3 감산기
를 포함하는 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치. - 제14항에서,
상기 서브맵 유사도 계산기는,
상기 제1 내지 제3 감산기에 의해 계산된 차이값들을 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산하는 것인 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치. - 제14항에서,
상기 서브맵 유사도 계산기는,
상기 제1 감산기에 의해 계산된 차이값과 상기 제2 감산기에 의해 계산된 차이값을 합산하는 가산기를 더 포함하고,
상기 제3 감산기에 의해 계산된 차이값을 가중치로서 상기 가산기에 의해 합산된 값과 연산하여 각 쿼리 서브맵 이미지와 상기 서브맵 이미지들 사이의 유사도를 계산하는 것인 모바일 로봇의 전역 위치인식을 위한 컴퓨팅 장치. - 모바일 로봇 내에 탑재된 컴퓨팅 장치의 프로세서에 의해 수행되는 전역 위치인식을 위한 방법으로서,
전역 지도 이미지로부터 분할된 각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 없는 경계 영역의 분포 특징을 정량화한 경계 히스토그램 값을 계산하는 단계;
각 쿼리 서브맵 이미지에서 상기 모바일 로봇이 이동할 수 있는 자유 공간 영역의 분포 특징을 정량화한 자유 공간 히스토그램 값을 계산하는 단계;
각 쿼리 서브맵 이미지에서 추출된 대칭축을 기준으로 각 쿼리 서브맵 이미지의 대칭성을 정량화한 반사 대칭 스코어를 계산하는 단계;
각 쿼리 서브맵 이미지의 상기 경계 히스토그램 값, 상기 자유 공간 히스토그램 값 및 상기 반사 대칭 스코어와 데이터베이스로부터 입력된 서브맵 이미지들의 경계 히스토그램 값, 자유 공간 히스토그램 값 및 반사 대칭 스코어를 비교하여 상기 데이터베이스에 저장된 서브맵 이미지들 중에서 각 쿼리 서브맵 이미지와 가장 유사한 서브맵 이미지를 선정하는 단계; 및
상기 선정된 서브맵 이미지에 포함된 좌표 정보를 기반으로 상기 모바일 로봇의 전역 위치인식을 수행하는 단계
를 포함하는 모바일 로봇의 전역 위치인식을 위한 방법. - 제17항에서,
상기 전역 지도 이미지는 2D 또는 3D 점유 격자 지도 이미지인 것인 모바일 로봇의 전역 위치인식을 위한 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2022/013195 WO2023068542A1 (ko) | 2021-10-21 | 2022-09-02 | 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210141243 | 2021-10-21 | ||
KR20210141243 | 2021-10-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230057944A true KR20230057944A (ko) | 2023-05-02 |
Family
ID=86387688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220105413A KR20230057944A (ko) | 2021-10-21 | 2022-08-23 | 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230057944A (ko) |
-
2022
- 2022-08-23 KR KR1020220105413A patent/KR20230057944A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sampath et al. | Segmentation and reconstruction of polyhedral building roofs from aerial lidar point clouds | |
Kang et al. | Automatic targetless camera–lidar calibration by aligning edge with gaussian mixture model | |
JP5328979B2 (ja) | 物体認識方法、物体認識装置、自律移動ロボット | |
JP5705147B2 (ja) | 記述子を用いて3dオブジェクトまたはオブジェクトを表す方法 | |
KR102204818B1 (ko) | 3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택 | |
CN107292234B (zh) | 一种基于信息边缘和多模态特征的室内场景布局估计方法 | |
Lari et al. | An adaptive approach for the segmentation and extraction of planar and linear/cylindrical features from laser scanning data | |
US9044858B2 (en) | Target object gripping apparatus, method for controlling the same and storage medium | |
Khoshelham | Extending generalized hough transform to detect 3d objects in laser range data | |
WO2021052283A1 (zh) | 处理三维点云数据的方法和计算设备 | |
JP6456141B2 (ja) | 地図データの生成 | |
CN111524168B (zh) | 点云数据的配准方法、系统、装置及计算机存储介质 | |
CN109035207B (zh) | 密度自适应的激光点云特征检测方法 | |
CN110363817A (zh) | 目标位姿估计方法、电子设备和介质 | |
US11468609B2 (en) | Methods and apparatus for generating point cloud histograms | |
JP5870011B2 (ja) | 点群解析装置、点群解析方法及び点群解析プログラム | |
KR20230009641A (ko) | 구조물의 균열 탐지 방법 | |
Sveier et al. | Object detection in point clouds using conformal geometric algebra | |
CN116309817A (zh) | 一种基于rgb-d相机的托盘检测与定位方法 | |
Sun et al. | Oriented point sampling for plane detection in unorganized point clouds | |
Ruhnke et al. | Unsupervised learning of 3d object models from partial views | |
CN117629215A (zh) | 一种基于单线激光雷达点云配准的底盘充电回桩方法 | |
Siritanawan et al. | 3d feature points detection on sparse and non-uniform pointcloud for slam | |
KR20230057944A (ko) | 모바일 로봇의 전역 위치인식을 위한 방법 및 컴퓨팅 장치 | |
JPH09245168A (ja) | 画像認識装置 |