KR101997563B1 - 이동 기기의 위치 인식 방법 - Google Patents

이동 기기의 위치 인식 방법 Download PDF

Info

Publication number
KR101997563B1
KR101997563B1 KR1020120097538A KR20120097538A KR101997563B1 KR 101997563 B1 KR101997563 B1 KR 101997563B1 KR 1020120097538 A KR1020120097538 A KR 1020120097538A KR 20120097538 A KR20120097538 A KR 20120097538A KR 101997563 B1 KR101997563 B1 KR 101997563B1
Authority
KR
South Korea
Prior art keywords
node
horizontal plane
plane line
calculated
image
Prior art date
Application number
KR1020120097538A
Other languages
English (en)
Other versions
KR20140030854A (ko
Inventor
윤석준
노경식
안성환
형승용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120097538A priority Critical patent/KR101997563B1/ko
Publication of KR20140030854A publication Critical patent/KR20140030854A/ko
Application granted granted Critical
Publication of KR101997563B1 publication Critical patent/KR101997563B1/ko

Links

Images

Classifications

    • 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
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means

Abstract

전방위 카메라에서 주변을 촬영하여 전방위 영상을 획득하고; 이동 기기의 자세 정보를 획득하고; 이동 기기의 자세 정보를 이용하여 획득된 전방위 영상에서의 수평면선을 획득하고; 획득된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수(Correlation Coefficient)를 산출하고; 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값에 따라 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 최대값이 산출된 노드 또는 노드 부근을 자신의 위치로 인식함으로써, 비교적 간단한 연산에 의해 이동 공간 내에 노드를 설정함과 동시에 이동 기기의 현재 위치에서 가장 가까운 노드를 인식할 수 있다.

Description

이동 기기의 위치 인식 방법{LOCALIZATION METHOD FOR MOBILE OBJECT}
본 발명은 전방위 영상을 이용하여 이동 기기의 위치를 파악하는 이동 기기의 위치 인식 방법에 관한 것이다.
위치 인식은 이동 기기가 스스로 공간 지각 능력을 가지는 기술로, 이동 기기의 자율 이동 기능 구현이나 증강 현실(Augmented Reality; AR) 구현 등에 핵심이 되는 기술이다. 여기서, 이동 기기는 인간이 조종하지 않고 인간의 눈에 해당하는 센서가 컴퓨터와 같은 판단 기능을 갖추고 있어 자립적으로 돌아다닐 수 있는 이동 로봇(로봇 청소기 등), 보행 로봇(휴머노이드 로봇)이나 자율 이동 기능을 가지고 있지는 않지만 손에 들고 조작할 수 있을 정도의 작은 크기를 갖고 있어 인간이 휴대하고 이동하면서 조작할 수 있는 모바일 기기(휴대폰과 같은 이동 통신 기기 등) 등을 포함한다.
이러한 이동 기기의 위치 인식과 관련하여, 로봇의 이동 경로를 포함하는 이동 공간과 로봇의 작업이 이루어지는 작업 공간을 포함하는 환경 공간에서 인공 표식의 위치에 대응하는 노드 정보와 노드를 잇는 에지 정보를 로봇에 입력하여, 현재 로봇이 속한 장소에서 인공 표식 인식을 통해 생성하는 지역 좌표계를 이용하여 환경 지도를 작성하는 기술이 제안되었다. 하지만, 이와 같은 종래의 이동 로봇의 환경 지도 작성 방법은 로봇이 이동하는 공간에 인공 표식을 설치해야 하는 단점을 가진다.
또한 이동 기기의 위치 인식과 관련하여, 이동체 주변 영상의 광류(Optical Flow)를 측정하여 광류값의 변화가 큰 곳을 키 포인트(노드)로 설정하고, 노드가 설정된 영역에서 SIFT(Scale Invariant Feature Transform) 알고리즘을 이용하여 노드 인식을 수행하는 기술이 제안되었다. 하지만, 이와 같은 종래의 비전 기반(Vision-based) 지도 작성 및 위치 인식 방법은 노드를 자동으로 생성하기 위해 영상 전체의 광류값을 계속 산출해야 하는 단점을 가진다.
비교적 간단한 연산에 의해 이동 공간 내에 노드를 설정함과 동시에 이동 기기의 현재 위치에서 가장 가까운 노드를 인식할 수 있는 이동 기기의 위치 인식 방법을 제안하고자 한다.
이를 위해 본 발명의 일 측면에 따른 이동 기기의 위치 인식 방법은 전방위 카메라에서 주변을 촬영하여 전방위 영상을 획득하고; 획득된 전방위 영상에서 수평면선을 추출하고; 추출된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수(Correlation Coefficient)를 산출하고; 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값에 따라 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 최대값이 산출된 노드 또는 최대값이 산출된 노드 부근을 자신의 위치로 인식한다.
또한 수평면선은 상기 전방위 영상의 중심에서 미리 설정된 거리에 있는 점들로 이루어진 곡선인 원의 형상을 가진다.
또한 추출된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수는 아래의 [수학식 1]을 이용하여 산출한다.
[수학식 1]
Figure 112012071209433-pat00001
(여기서, ρ(τ)는 상관 계수이고, τ는 수평면선의 회전각이고, Cab(τ)는 a(현재 로봇의 수평면선)와 b(맵의 각 노드의 수평면선)의 상호 상관값(Cross Correlation)이며, Caa(0)와 Cbb(0)는 각각 a, b의 자기 상관값(Auto Correlation)이다)
또한 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값 미만이면 전방위 영상을 촬영한 위치를 새로운 노드로 설정한다.
또한 전방위 영상을 촬영한 위치를 새로운 노드로 설정하는 것은: 추출된 수평면선을 새로운 노드의 수평면선으로 저장하고; 획득된 전방위 영상에서 특징점을 추출하여 새로운 노드의 특징점으로 저장하는 것을 포함한다.
또한 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값보다 큰 제 2 설정값 이상이면 최대값이 산출된 노드 또는 최대값이 산출된 노드 부근을 자신의 위치로 인식한다.
또한 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값 이상이고 제 2 설정값 미만이면 획득된 전방위 영상에서 특징점을 추출하고, 추출된 전방위 영상의 특징점과 최대값이 산출된 노드에서의 전방위 영상의 특징점을 매칭하고, 특징점들의 매칭률에 따라 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 최대값이 산출된 노드 또는 최대값이 산출된 노드 부근을 자신의 위치로 인식한다.
또한 특징점들의 매칭률이 제 3 설정값 이상이면 최대값이 산출된 노드 또는 노드 부근을 자신의 위치로 인식하고, 특징점들의 매칭률이 제 3 설정값 미만이면 전방위 영상을 촬영한 위치를 새로운 노드로 설정한다.
본 발명의 다른 측면에 따른 이동 기기의 위치 인식 방법은 전방위 카메라에서 주변을 촬영하여 전방위 영상을 획득하고; 이동 기기의 자세 정보를 획득하고; 이동 기기의 자세 정보를 이용하여 획득된 전방위 영상에서의 수평면선을 획득하고; 획득된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수(Correlation Coefficient)를 산출하고; 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값에 따라 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 최대값이 산출된 노드 또는 최대값이 산출된 노드 부근을 자신의 위치로 인식한다.
또한 이동 기기의 상기 자세 정보를 이용하여 획득된 전방위 영상에서의 수평면선을 획득하는 것은 아래의 [수학식 2] 및 [수학식 3]을 이용하여 획득하는 것이다.
[수학식 2]
Figure 112012071209433-pat00002
[수학식 3]
Figure 112012071209433-pat00003
(여기서, CA는 카메라 좌표계에서의 수평면선 상에 있는 점들의 좌표이고,CRW는 전역 좌표계를 카메라 좌표계로 변환시키는 변환 행렬이고, WA는 전역 좌표계에서의 수평면선 상에 있는 점들의 좌표이고, WRC는 카메라 좌표계를 전역 좌표계로 변환시키는 변환 행렬이다)
또한 전역 좌표계에서의 수평면선은 전방위 영상의 중심에서 미리 설정된 거리에 있는 점들로 이루어진 곡선인 원의 형상을 가진다.
또한 획득된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수는 아래의 [수학식 1]을 이용하여 산출한다.
[수학식 1]
Figure 112012071209433-pat00004
(여기서, ρ(τ)는 상관 계수이고, τ는 수평면선의 회전각이고, Cab(τ)는 a(현재 로봇의 수평면선)와 b(맵의 각 노드의 수평면선)의 상호 상관값(Cross Correlation)이며, Caa(0)와 Cbb(0)는 각각 a, b의 자기 상관값(Auto Correlation)이다)
또한 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값 미만이면 전방위 영상을 촬영한 위치를 새로운 노드로 설정한다.
또한 전방위 영상을 촬영한 위치를 새로운 노드로 설정하는 것은: 획득된 수평면선을 새로운 노드의 수평면선으로 저장하고; 획득된 전방위 영상에서 특징점을 추출하여 새로운 노드의 특징점으로 저장하는 것을 포함한다.
또한 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값보다 큰 제 2 설정값 이상이면 최대값이 산출된 노드 또는 최대값이 산출된 노드 부근을 자신의 위치로 인식한다.
또한 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값 이상이고 제 2 설정값 미만이면 획득된 전방위 영상에서 특징점을 추출하고, 추출된 전방위 영상의 특징점과 최대값이 산출된 노드에서의 전방위 영상의 특징점을 매칭하고, 특징점들의 매칭률에 따라 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 최대값이 산출된 노드 또는 최대값이 산출된 노드 부근을 자신의 위치로 인식한다.
또한 특징점들의 매칭률이 제 3 설정값 이상이면 최대값이 산출된 노드 또는 노드 부근을 자신의 위치로 인식하고, 특징점들의 매칭률이 제 3 설정값 미만이면 전방위 영상을 촬영한 위치를 새로운 노드로 설정한다.
제안된 이동 기기의 위치 인식 방법에 의하면, 비교적 간단한 연산에 의해 이동 공간 내에 노드를 설정함과 동시에 이동 기기의 현재 위치에서 가장 가까운 노드를 인식할 수 있다.
또한 제안된 이동 기기의 위치 인식 방법에 의하면, 이동 기기의 정확한 위치를 구하는 방법과 융합이 되어 일정한 연산량과 메모리로 넓은 영역에서의 위치 인식을 효율적으로 수행할 수 있다.
도 1은 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 이동 로봇의 외형도이다.
도 2는 도 1의 이동 로봇에 설치된 전방위 카메라의 단면도이다.
도 3은 도 2의 전방위 카메라를 통해 촬영된 전방위 영상을 예시한 도면이다.
도 4는 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 이동 로봇의 제어 블록도이다.
도 5의 (a)는 수평으로 놓여 있는 전방위 카메라의 모습을 나타낸 도면이고, 도 5의 (b)는 수평으로 놓여 있는 전방위 카메라를 통해 촬영된 전방위 영상에서의 수평면선을 예시한 도면이다.
도 6은 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법에서 현재 전방위 영상의 수평면선과 노드의 수평면선 간의 상관관계 계수를 산출하는 개념을 설명하기 위한 도면이다.
도 7은 특징점의 스펙트럼 매칭 시 사용되는 특징점들의 상대 각도의 개념을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법을 도시한 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 보행 로봇의 외형도이다.
도 10은 본 발명의 다른 실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 보행 로봇의 제어 블록도이다.
도 11은 수평으로 놓여 있는 전방위 카메라를 통해 촬영된 전방위 영상에서의 수평면선과 z축에 대해 일정 각도로 기울어진 전방위 카메라를 통해 촬영된 전방위 영상에서의 수평면선을 비교 설명하기 위한 도면이다.
도 12는 본 발명의 다른 실시예에 따른 이동 기기의 위치 인식 방법에서 현재 전방위 영상의 수평면선과 노드의 수평면선 간의 상관관계 계수를 산출하는 개념을 설명하기 위한 도면이다.
도 13은 본 발명의 다른 실시예에 따른 이동 기기의 위치 인식 방법을 도시한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세하게 설명하도록 한다.
먼저 도 1 내지 도 8을 참조하여 본 발명의 일실시예를 상세하게 설명하도록 한다.
도 1에 도시한 바와 같이, 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 이동 로봇(100)은 로봇 본체(101)와 로봇 본체(101)에 장착된 전방위 카메라(110)를 포함한다.
본 발명의 일실시예에서는 이동 기기로서 이동 로봇(청소 로봇)을 예로 들어 설명하였으나, 이외에도 공공장소용 서비스 로봇, 생산 현장에서의 반송 로봇, 작업자 지원 로봇 등 다양한 형태의 이동 로봇에 대해 본 발명이 적용될 수 있다.
전방위 카메라(110)는 도 2에 도시한 바와 같이 전방위 렌즈(110a)와 CCD 소자(110b)로 구성되며, 전방위 카메라(110)의 전면부에는 곡면 거울이 장착되어 도 3에 예시한 것과 같이 전방위 카메라(110) 주변의 360ㅀ 영상을 얻을 수 있다. 즉, 임의의 공간 상의 점 Xmir는 곡면 거울 면의 점 xmir에서 반사되어 CCD 소자(110b)에 결상되고 최종적으로는 영상 면의 점 ximg로 나타나는데, 전술한 Xmir는 전방위에 분포하므로 전방위 카메라(110)가 360ㅀ 영상을 획득할 수 있는 것이다.
도 4에 도시한 바와 같이, 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 이동 로봇(100)은 도 1 및 도 2에 도시한 구성 요소 이외에 노드에 관한 정보(노드 정보)를 저장하는 저장부(130) 및 이동 로봇(100)을 제어하는 제어부(120)를 더 포함한다.
저장부(130)는 이동 로봇(100)이 운행될 장소의 각 노드 위치를 나타낸 노드 맵(Node Map), 해당 노드에서의 전방위 영상, 해당 노드의 전방위 영상에서의 수평면선 및 특징점 등을 포함하는 노드 정보를 저장한다. 노드 맵의 각 노드 위치는 좌표값으로 저장되며, 각 노드에서의 전방위 영상은 이동 로봇(100)을 이동시키면서 각 노드에서 전방위 카메라(110)가 전방위 영상을 촬영하여 얻는다. 이 때, 각 노드에서 전방위 영상을 촬영할 때 전방위 카메라(110)는 동일한 방향(capture direction)을 지향하는 것이 바람직하다. 수평면선(Circular Horizontal Line; CHL)은 후술할 도 5의 (b)에 표시한 것과 같이 이동 로봇(100)이 주행하는 이동 공간의 바닥면과 평행한 면의 영상을 의미한다.
제어부(120)는 영상 처리부(122), 수평면선 추출부(124), 상관 계수 산출부(126) 및 위치 인식부(128)를 포함한다.
영상 처리부(122)는 전방위 카메라(110)를 통해 촬영된 전방위 영상의 전처리(preprocessing)를 위한 구성 요소로, 도 3에 도시한 바와 같은 전방위 영상에서 무의미한 부분을 잘라내고, 도넛 형태의 원형에 히스토그램 평활화를 수행하는 방식으로 영상을 처리한다. 이와 같은 영상 처리는 전방위 영상을 조명 변화에 둔감하게 하기 위한 것이다.
수평면선 추출부(124)는 영상 처리부(122)를 통해 전처리된 전방위 영상으로부터 수평면선(도 5의 (b)에서 "a"로 도시된 곡선 참조)을 추출한다. 이 때, 수평면선(a)은 전방위 영상의 중심(도 5의 (b)에서 점 O 참조)을 기준으로 규정된 위치에 설정된다. 이 수평면선(a)의 해상도는 후술할 상관 계수 산출 시 사용되는 고속 푸리에 변환의 특성을 감안하여 2의 제곱승이 바람직하다.
도 5의 (a)는 전방위 카메라(110)가 수평으로 즉, 이동 공간의 바닥면에 평행하게 놓여 있는 경우를 도시하고 있다. 도 5의 (a)에 도시된 전방위 카메라(110)는 수직으로 65°(50°-115°)의 시야각을 가진다. 전방위 카메라(110)이 시야각 범위(도 5의 (a)에서 빗금친 영역) 내에 속하면서 이동 공간의 바닥면에서 평행한 면을 수평면(Horizontal Plane)으로 정의할 때(도 5의 (a)에서는 전방위 카메라(110)의 중심(C)을 통과하며 이동 공간의 바닥면에 평행한 면 즉, 전방위 카메라(110)의 곡면 거울에 접하면서 이동 공간의 바닥면에 평행한 면을 수평면으로 예시하고 있음), 수평면선 추출부(124)는 전방위 영상에서 이 수평면(P)에 대응하는 수평면선(a)을 추출한다. 수평으로 놓여 있는 전방위 카메라(110)를 통해 촬영된 전방위 영상에서의 수평면선(a)은 도 5의 (b)에 도시한 바와 같이 전방위 영상에서 동심원(concentric circle)으로 표현된다. 즉, 수평면선(a)은 전방위 영상의 중심(O)에서 미리 설정된 거리(원의 반지름)에 있는 점들로 이루어진 곡선인 원(circle)의 형상을 가진다.
상관 계수 산출부(126)는 아래의 [수학식 1]을 이용하여 이동 로봇(100)에서 촬영된 현재 전방위 영상의 수평면선(a)과 저장부(130)에 미리 저장되어 있는 적어도 하나의 노드에서 얻은 전방위 영상의 수평면선 사이의 상관 계수(Correlation Coefficient; CC)를 산출한다.
[수학식 1]
Figure 112012071209433-pat00005
여기서, ρ(τ)는 상관 계수이고, τ는 수평면선의 회전각이고, Cab(τ)는 a(현재 로봇의 수평면선)와 b(맵의 각 노드의 수평면선)의 상호 상관값(Cross Correlation)이며, Caa(0)와 Cbb(0)는 각각 a, b의 자기 상관값(Auto Correlation)이다.
상관 계수는 -1에서부터 1까지의 값을 가지며(-1≤ρ(τ)≤1), 상관 계수의 절대값이 1에 가까울수록 비교되는 두 전방위 영상의 수평면선이 유사하다는 것을 나타낸다. 그리고, 상호 상관값(Cab(τ))은 고속 푸리에 변환(Fast Fourier Transform; FFT)을 이용하여 구할 수 있기 때문에 아주 빠른 속도로 현재 전방위 영상의 수평면선과 기저장된 각 노드의 수평면선 사이의 상관 계수(유사도)를 산출할 수 있다.
푸리에 변환(Fourier Transform)은 주파수 영역과 시간 영역 사이에 수치적 연속열의 표현들을 변환하는데 사용하는 수학적 연산으로, 일련의 시간 샘플을 취하고 그 주파수 요소들을 측정하여 시간 샘플 연속열에 얼마나 많은 에너지가 나타나는지 다양한 주파수로 계산하는 것이다. 이러한 푸리에 변환을 고속화한 것이 고속 푸리에 변환이다. 푸리에 변환은 어느 길이의 해상도 연속열도 계산할 수 있지만 고속 푸리에 변환의 이점을 최대한 활용하기 위해서는 앞서 설명한 바와 같이 그 수평면선의 해상도가 2의 제곱승이 되는 것이 바람직하다.
전술한 과정들을 정리해 보면 도 6에 도시한 바와 같이, 전방위 카메라(110)를 통해 획득한 이동 로봇(100)의 주변 환경에 대한 전방위 영상으로부터 수평면선을 추출하고, 추출된 현재 전방위 영상의 수평면선과 노드 맵(영상 지도)상의 각 노드의 수평면선 사이의 상관 계수를 산출한다. 여기서, 상관 관계의 산출 시 현재 전방위 영상의 수평면선과 노드 맵상의 각 노드의 수평면선의 상호 상관값은 고속 푸리에 변환을 이용하여 산출할 수 있다.
위치 인식부(128)는 상관 계수 산출부(126)를 통해 산출된 상관 계수들의 절대값들 중 최대값(Max |CC|) 즉, 현재 전방위 영상의 수평면선과 각 노드의 수평면선 사이의 상관 계수들의 절대값들 중 가장 큰 값에 따라 새로운 노드를 설정(생성)하거나, 설정된 노드를 통해 이동 로봇(100)의 현재 위치를 인식한다.
즉, 위치 인식부(128)는 상관관계가 가장 높은 노드의 상관 계수 즉, 산출된 상관 계수들의 절대값들 중 최대값이 제 1 설정값 미만이면 현재 이동 로봇(100)의 위치 즉, 이동 로봇(100)이 전방위 영상을 촬영한 위치를 새로운 노드로 설정한다.
또한 위치 인식부(128)는 상관 계수들의 절대값들 중 최대값이 제 2 설정값(제 2 설정값>제 1 설정값) 이상이면 현재 이동 로봇(100)이 상관관계가 가장 높은 노드 또는 그 노드 부근에 위치하고 있는 것으로 인식한다.
한편, 위치 인식부(128)는 상관 계수들의 절대값들 중 최대값이 제 1 설정값 이상이고 제 2 설정값 미만이면, 현재 전방위 영상에서 특징점을 추출하고, 추출된 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 전방위 영상에서의 특징점을 매칭하여 매칭률이 제 3 설정값 이상이면 현재 이동 로봇(100)이 상관관계가 가장 높은 노드 또는 그 노드 부근에 위치하고 있는 것으로 인식하고, 매칭률이 제 3 설정값 미만이면 현재 이동 로봇(100)의 위치를 새로운 노드로 설정한다.
이하에서는 도 7 및 도 8을 참조하여 본 발명의 일실시예에 따른 이동 기기의 위치 인식 방법을 설명하도록 한다.
본 발명의 일실시예의 동작 설명을 위한 초기 조건으로서, 저장부(130)에는 이동 로봇(100)이 운행될 장소의 각 노드 위치를 나타낸 노드 맵(Node Map), 해당 노드에서의 전방위 영상, 해당 노드의 전방위 영상에서의 수평면선 및 특징점 등을 포함하는 노드 정보가 저장되어 있는 것을 전제한다. 또한 제어부(120)의 내부 메모리(미도시)에는 현재 전방위 영상의 수평면선과 각 노드의 수평면선 사이의 상관 계수들의 절대값들 중 가장 큰 값과의 비교 대상이 되는 제 1, 2 설정값 및 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 전방위 영상에서의 특징점을 매칭했을 때의 매칭률과의 비교 대상이 되는 제 3 설정값이 저장되어 있는 것을 전제한다.
이동 로봇(100)이 공간상의 임의의 위치에 놓이면 제어부(120)는 전방위 카메라(110)로부터 이동 로봇(100)의 주변 환경에 대한 전방위 영상을 입력받는다(205). 제어부(120) 내의 영상 처리부(122)는 획득된 전방위 영상을 전처리하고, 전처리된 전방위 영상을 제어부(120) 내의 수평면선 추출부(124)로 전달한다.
다음으로, 수평면선 추출부(124)는 전처리된 (현재) 전방위 영상에서 수평면선(a)을 추출하고, 추출된 현재 전방위 영상에서의 수평면선을 제어부(120) 내의 상관 계수 산출부(126)로 전달한다(210).
이후, 상관 계수 산출부(126)는 현재 전방위 영상의 수평면선과 저장부(130)에 미리 저장되어 있는 적어도 하나의 노드에서 얻은 전방위 영상의 수평면선(a) 사이의 상관 계수(CC)를 산출한다.
각 노드에 대한 상관 계수의 산출이 완료되면 제어부(120) 내의 위치 인식부(128)는 상관관계가 가장 높은 노드의 상관 계수 즉, 산출된 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 1 설정값 미만인지 여부를 판단한다(220). 이 때, 제 1 설정값은 전방위 카메라(110)의 사양을 고려하여 선택함이 바람직하다.
상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 1 설정값 미만이면(220에서의 '예') 위치 인식부(128)는 현재 전방위 영상의 수평면선과 기저장된 노드 맵상의 각 노드의 수평면선 사이의 상관관계가 매우 낮은 것으로 판단하고, 현재 이동 로봇(100)의 위치를 새로운 노드로 설정한다. 즉, 위치 인식부(128)는 현재 전방위 영상의 수평면선을 새로운 노드의 전방위 영상에서의 수평면선으로 저장부(130)에 저장한다(225). 또한 위치 인식부(128)는 현재 전방위 영상에서 특징점을 추출하고, 추출된 현재 전방위 영상의 특징점을 새로운 노드의 전방위 영상에서의 특징점으로 저장부(130)에 저장한다.
한편, 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 1 설정값 이상이면(220에서의 '아니오') 위치 인식부(128)는 다시 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 2 설정값 이상인지 여부를 판단한다(235). 이 때, 제 2 설정값은 전방위 카메라(110)의 사양을 고려하여 선택함이 바람직하고, 1에 가까운 값으로 설정한다.
상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 2 설정값 이상이면(235에서의 '예') 현재 이동 로봇(100)이 상관관계가 가장 높은 노드 또는 그 노드 부근에 위치하고 있는 것으로 인식한다(240).
한편, 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 2 설정값 미만이면(235에서의 '아니오') 위치 인식부(128)는 상관관계가 가장 높은 노드를 새로운 노드로 설정해야 할지 아니면 상관관계가 가장 높은 노드 부근을 현재 이동 로봇(100)의 위치로 인식해야 할지 보다 확실하게 판단하기 위해 특징점 매칭을 추가적으로 수행한다. 즉, 위치 인식부(128)는 현재 전방위 영상에서 특징점을 추출하고(245), 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 특징점을 매칭한다(250).
특징점(Feature Point)은 이동 로봇(100)이 이동하는 환경 상에 일정한 점을 선택하였을 때 시간과 관찰 각도에 의해서 변하지 않는 정량적 특징을 추출할 수 있어야 한다. 보통 영상에서는 주로 코너(corner)를 사용하여 어느 각도에서 관찰하여도 변하지 않는 특징점을 찾아낸다. 이는 코너의 경우 영상이 움직일 때 강인하게 추적이 되기 때문이다.
본 실시예에서는 스펙트럼 매칭(Spectral Matching)을 통해 현재 전방위 영상의 특징점과 노드의 특징점을 매칭하게 되는데, 이러한 스펙트럼 매칭 시에는 특징점들의 상대 각도가 이용된다.
특징점들의 상대 각도(α)를 산출하는 방식은 다음과 같다.
도 7에 도시된 바와 같이, 먼저 전방위 영상을 전방위 영상의 중심(O)을 기준으로 일정 각도(예: 10°) 간격으로 분할한 후, 분할된 각 영역에서 각각 하나의 특징점을 추출한다. 다음으로, 어느 한 영역(첫 번째 영역)의 특징점(F1) 및 그 영역과 인접하지 않는 다음 영역(세 번째 영역)의 특징점(F3)을 연결하고, 연결된 선에 수직인 선을 그린다. 이후, 어느 한 영역의 다음 영역(두 번째 영역)의 특징점(F2) 및 그 영역과 인접하지 않는 다음 영역(네 번째 영역)의 특징점(F4)을 연결하고, 연결된 선에 수직인 선을 그린다. 여기서, 특징점(F1, F3)을 연결한 선에 수직인 선과 특징점 (F2, F4)을 연결한 선에 수직인 선이 이루는 각도(α)가 특징점들의 상대 각도(α)가 된다.
전술한 방식을 통해 현재 전방위 영상 전체에 대한 특징점들의 상대 각도들을 산출하고, 특징점들의 상대 각도의 크기에 대한 파형을 산출한다. 또한 전술한 방식을 통해 상관관계가 가장 높은 노드에서 획득한 전방위 영상 전체에 대한 특징점들의 상대 각도들을 산출하고, 특징점들의 상대 각도의 크기에 대한 파형을 산출한다. 이후, 현재 전방위 영상에서의 특징점들의 상대 각도의 파형과 상관관계가 가장 높은 노드에서 획득한 전방위 영상에서의 특징점들의 상대 각도의 파형을 매칭함으로써, 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 특징점 사이의 매칭을 수행한다.
다음으로, 위치 인식부(128)는 특징점들 사이의 매칭률이 제 3 설정값 이상인지 여부를 판단한다. 이 때, 제 3 설정값은 전방위 카메라(110)의 사양을 고려하여 선택함이 바람직하다.
특징점들 사이의 매칭률이 제 3 설정값 이상이면(255에서의 '예') 위치 인식부(128)는 현재 전방위 영상과 상관관계가 가장 높은 노드에서의 전방위 영상의 유사도가 높은 것으로 판단하고, 동작 240으로 진행하여 현재 이동 로봇(100)이 상관관계가 가장 높은 노드 또는 그 노드 부근에 위치하고 있는 것으로 인식한다.
한편, 특징점들 사이의 매칭률이 제 3 설정값 미만이면(255에서의 '아니오') 위치 인식부(128)는 현재 전방위 영상과 상관관계가 가장 높은 노드에서의 전방위 영상의 유사도가 낮은 것으로 판단하고, 동작 225로 진행하여 현재 이동 로봇(100)의 위치를 새로운 노드로 설정한다.
이하에서는 도 9 내지 도 13을 참조하여 본 발명의 다른 실시예를 상세하게 설명하도록 한다.
도 9에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 이동 기기의 일례인 보행 로봇(300)은 인간과 마찬가지로 두 개의 다리(306L, 306R)에 의해 직립 이동하는 이족 보행 로봇으로, 머리(302), 몸통(303), 두 개의 팔(304L, 304R)로 이루어진 상체(301)와, 두 개의 다리(306L, 306R)로 이루어진 하체(305)를 가진다. 머리(302)에서 인간의 정수리에 해당하는 기구부에는 이동 공간의 주위를 촬영하기 위한 전방위 카메라(310)가 장착된다. 참조 부호에서, 숫자 뒤에 오는 문자 "R"과 "L"은 각각 보행 로봇(300)의 왼쪽(left)과 오른쪽(right)을 나타낸다.
본 발명의 다른 실시예에서는 이동 기기로서 보행 로봇을 예로 들어 설명하였으나, 이외에도 자율 이동 기능을 가지고 있지는 않지만 인간이 휴대하고 이동하면서 조작할 수 있는 모바일 기기(휴대폰과 같은 이동 통신 기기 등)에 대해 본 발명이 적용될 수 있다.
도 10에 도시한 바와 같이, 본 발명의 다른 실시예에 따른 이동 기기의 위치 인식 방법이 적용되는 이동 기기의 일례인 보행 로봇(300)은 도 9에 도시한 구성 요소 이외에 관성 센서(315), 노드에 관한 정보(노드 정보)를 저장하는 저장부(330) 및 보행 로봇(300)을 제어하는 제어부(320)를 더 포함한다.
관성 센서(315)는 보행 로봇(300)의 가속도, 속도, 방향(각도) 등 다양한 항법 관련 정보를 측정하기 위한 것으로, 펠비스 링크(미도시)의 롤 방향, 피치 방향, 요우 방향의 기울기 및 회전 각도를 측정한다. 관성 센서(315)는 보행 로봇(300)의 각도를 측정하는 기울기 센서와, 각속도를 측정하는 각속도 센서를 포함한다. 여기서, 기울기 센서로는 가속도계가 이용되고 각속도 센서로는 레이트 자이로스코프(rate-gyroscope)가 이용된다.
저장부(330)는 보행 로봇(300)이 운행될 장소의 각 노드 위치를 나타낸 노드 맵(Node Map), 해당 노드에서의 전방위 영상, 해당 노드의 전방위 영상에서의 수평면선 및 특징점 등을 포함하는 노드 정보를 저장한다. 노드 맵의 각 노드 위치는 좌표값으로 저장되며, 각 노드에서의 전방위 영상은 보행 로봇(300)을 이동시키면서 각 노드에서 전방위 카메라(310)가 전방위 영상을 촬영하여 얻는다. 이 때, 각 노드에서 전방위 영상을 촬영할 때 전방위 카메라(310)는 동일한 방향(capture direction)을 지향하는 것이 바람직하다. 수평면선(Circular Horizontal Line; CHL)은 보행 로봇(300)이 주행하는 이동 공간의 바닥면과 평행한 면의 영상을 의미한다.
제어부(320)는 영상 처리부(322), 수평면선 획득부(324), 상관 계수 산출부(326) 및 위치 인식부(328)를 포함한다.
영상 처리부(322)는 전방위 카메라(310)를 통해 촬영된 전방위 영상의 전처리(preprocessing)를 위한 구성 요소로, 도 3에 도시한 바와 같은 전방위 영상에서 무의미한 부분을 잘라내고, 도넛 형태의 원형에 히스토그램 평활화를 수행하는 방식으로 영상을 처리한다. 이와 같은 영상 처리는 전방위 영상을 조명 변화에 둔감하게 하기 위한 것이다.
수평면선 획득부(324)는 영상 처리부(322)를 통해 전처리된 전방위 영상과 관성 센서(315)를 통해 획득한 보행 로봇(300)의 자세 정보를 이용하여 전방위 영상에서의 수평면선(a)을 획득한다. 수평면선 획득부(324)는 아래의 [수학식 2] 및 [수학식 3]을 이용하여 카메라 좌표계(camera coordinate)에서의 전방위 영상에서의 수평면선(a) 상에 있는 점들의 좌표를 산출한다.
[수학식 2]
Figure 112012071209433-pat00006
[수학식 3]
Figure 112012071209433-pat00007
여기서, CA는 카메라 좌표계에서의 수평면선(a) 상에 있는 점들의 좌표이고, CRW는 전역 좌표계(world coordinate)를 카메라 좌표계로 변환시키는 변환 행렬이고, WA는 전역 좌표계에서의 수평면선(a′) 상에 있는 점들의 좌표이고, WRC는 카메라 좌표계를 전역 좌표계로 변환시키는 변환 행렬이다.
위의 [수학식 2] 및 [수학식 3]을 통해 전방위 카메라(310)의 기준 영상에서 Z값이 0(zero)이 되는 점들, 즉 수평면상에 있는 점들의 좌표를 산출할 수 있게 된다. 여기서, CRW는 전역 좌표계를 카메라 좌표계로 변환시키는 변환 행렬로 전방위 영상에서 yaw 값을 사용하지 않기 때문에
Figure 112012071209433-pat00008
는 항등 행렬(Identity Matrix)로 가정할 수 있다. 수평면상에 존재하는 점들을 일정한 각도로 샘플링(sampling)하여 이 값에 해당하는 전방위 영상의 픽셀 값을 산출할 수 있다. 이 점들은 도 11의 (b)에 도시된 바와 같이 타원을 형성하며, 이 점을 기준으로 타원을 피팅(fitting)할 수 있다. 이러한 방식으로, 전방위 영상과 보행 로봇(300)의 자세 정보를 이용하여 수평면선(a)을 추출하게 된다.
상관 계수 산출부(326)는 아래의 [수학식 1]을 이용하여 보행 로봇(300)에서 촬영된 현재 전방위 영상의 수평면선(a)과 저장부(330)에 미리 저장되어 있는 각 노드에서 얻은 전방위 영상의 수평면선(a) 사이의 상관 계수(Correlation Coefficient; CC)를 산출한다.
[수학식 1]
Figure 112012071209433-pat00009
여기서, ρ(τ)는 상관 계수이고, τ는 수평면선의 회전각이고, Cab(τ)는 a(현재 로봇의 수평면선)와 b(맵의 각 노드의 수평면선)의 상호 상관값(Cross Correlation)이며, Caa(0)와 Cbb(0)는 각각 a, b의 자기 상관값(Auto Correlation)이다.
전술한 과정들을 정리해 보면 도 12에 도시한 바와 같이, 전방위 카메라(310)를 통해 획득한 보행 로봇(300)의 주변 환경에 대한 전방위 영상과 관성 센서(315)를 통해 획득한 보행 로봇(300)의 자세 정보를 이용하여 수평면선을 획득하고, 추출된 현재 전방위 영상의 수평면선과 노드 맵(영상 지도)상의 각 노드의 수평면선 사이의 상관 계수를 산출한다. 여기서, 상관 계수의 산출 시 현재 전방위 영상의 수평면선과 노드 맵상의 각 노드의 수평면선의 상호 상관값은 고속 푸리에 변환을 이용하여 산출할 수 있다.
위치 인식부(328)는 상관 계수 산출부(326)를 통해 산출된 상관 계수들의 절대값들 중 최대값(Max |CC|) 즉, 현재 전방위 영상의 수평면선과 각 노드의 수평면선 사이의 상관 계수들의 절대값들 중 가장 큰 값에 따라 새로운 노드를 설정(생성)하거나, 설정된 노드를 통해 보행 로봇(300)의 현재 위치를 인식한다.
즉, 위치 인식부(328)는 상관관계가 가장 높은 노드의 상관 계수 즉, 산출된 상관 계수들의 절대값들 중 최대값이 제 1 설정값 미만이면 현재 보행 로봇(300)의 위치를 새로운 노드로 설정한다.
또한 위치 인식부(328)는 상관 계수들의 절대값들 중 최대값이 제 2 설정값(제 2 설정값>제 1 설정값) 이상이면 현재 보행 로봇(300)이 상관관계가 가장 높은 노드 또는 그 노드 부근에 위치하고 있는 것으로 인식한다.
한편, 위치 인식부(328)는 상관 계수들의 절대값들 중 최대값이 제 1 설정값 이상이고 제 2 설정값 미만이면, 현재 전방위 영상에서 특징점을 추출하고, 추출된 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 전방위 영상에서의 특징점을 매칭하여 매칭률이 제 3 설정값 이상이면 현재 보행 로봇(300)이 상관관계가 가장 높은 노드 또는 그 노드 부근에 위치하고 있는 것으로 인식하고, 매칭률이 제 3 설정값 미만이면 현재 보행 로봇(300)의 위치를 새로운 노드로 설정한다.
이하에서는 도 13을 참조하여 본 발명의 다른 실시예에 따른 이동 기기의 위치 인식 방법을 설명하도록 한다.
본 발명의 다른 실시예의 동작 설명을 위한 초기 조건으로서, 저장부(330)에는 보행 로봇(300)이 운행될 장소의 각 노드 위치를 나타낸 노드 맵(Node Map), 해당 노드에서의 전방위 영상, 해당 노드의 전방위 영상에서의 수평면선 및 특징점 등을 포함하는 노드 정보가 저장되어 있는 것을 전제한다. 또한 제어부(320)의 내부 메모리(미도시)에는 현재 전방위 영상의 수평면선과 각 노드의 수평면선 사이의 상관 계수들의 절대값들 중 가장 큰 값과의 비교 대상이 되는 제 1, 2 설정값 및 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 전방위 영상에서의 특징점을 매칭했을 때의 매칭률과의 비교 대상이 되는 제 3 설정값이 저장되어 있는 것을 전제한다.
보행 로봇(300)이 공간상의 임의의 위치에 놓이면 제어부(320)는 전방위 카메라(310)로부터 보행 로봇(300)의 주변 환경에 대한 전방위 영상을 입력받는다(405). 제어부(320) 내의 영상 처리부(322)는 획득된 전방위 영상을 전처리하고, 전처리된 전방위 영상을 제어부(320) 내의 수평면선 획득부(324)로 전달한다.
다음으로, 제어부(320)는 관성 센서(315)로부터 보행 로봇(300)의 자세 정보를 획득한다(410).
이후, 수평면선 획득부(324)는 보행 로봇(300)의 자세 정보를 이용하여 현재 전방위 영상의 수평면선을 획득하고, 획득된 현재 전방위 영상에서의 수평면선을 제어부(320) 내의 상관 계수 산출부(326)로 전달한다(415).
다음으로, 상관 계수 산출부(326)는 현재 전방위 영상의 수평면선과 저장부(330)에 미리 저장되어 있는 각 노드에서 얻은 전방위 영상의 수평면선 사이의 상관 계수(CC)를 산출한다(420).
각 노드에 대한 상관 계수의 산출이 완료되면 제어부(320) 내의 위치 인식부(328)는 상관관계가 가장 높은 노드의 상관 계수 즉, 산출된 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 1 설정값 미만인지 여부를 판단한다(425). 이 때, 제 1 설정값은 전방위 카메라(310)의 사양을 고려하여 선택함이 바람직하하다.
상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 1 설정값 미만이면(425에서의 '예') 위치 인식부(328)는 현재 전방위 영상의 수평면선과 기저장된 노드 맵상의 각 노드의 수평면선 사이의 상관관계가 매우 낮은 것으로 판단하고, 현재 보행 로봇(300)의 위치를 새로운 노드로 설정한다. 즉, 위치 인식부(328)는 현재 전방위 영상의 수평면선을 새로운 노드의 전방위 영상에서의 수평면선으로 저장부(330)에 저장한다(430). 또한 위치 인식부(328)는 현재 전방위 영상에서 특징점을 추출하고, 추출된 현재 전방위 영상의 특징점을 새로운 노드의 전방위 영상에서의 특징점으로 저장부(330)에 저장한다(435).
한편, 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 1 설정값 이상이면(425에서의 '아니오') 위치 인식부(328)는 다시 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 2 설정값 이상인지 여부를 판단한다(440). 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 2 설정값 이상이면(440에서의 '예') 위치 인식부(328)는 현재 전방위 영상의 수평면선과 기저장된 노드 맵상의 각 노드의 수평면선 사이의 상관관계가 매우 높은 것으로 판단하고, 현재 보행 로봇(300)이 상관관계가 가장 높은 노드 부근에 위치하고 있는 것으로 인식한다(445).
한편, 상관 계수들의 절대값들 중 최대값(Max |CC|)이 제 2 설정값 미만이면(440 '아니오') 위치 인식부(328)는 상관관계가 가장 높은 노드를 새로운 노드로 설정해야 할지 아니면 상관관계가 가장 높은 노드 부근을 현재 보행 로봇(300)의 위치로 인식해야 할지 보다 확실하게 판단하기 위해 특징점 매칭을 추가적으로 수행한다. 즉, 위치 인식부(328)는 현재 전방위 영상에서 특징점을 추출하고(450), 현재 전방위 영상의 특징점과 상관관계가 가장 높은 노드의 특징점을 매칭한다(455).
이후, 위치 인식부(328)는 특징점들 사이의 매칭률이 제 3 설정값 이상인지 여부를 판단한다. 특징점들 사이의 매칭률이 제 3 설정값 이상이면(460에서의 '예') 위치 인식부(328)는 현재 전방위 영상과 상관관계가 가장 높은 노드에서의 전방위 영상의 유사도가 높은 것으로 판단하고, 동작 445로 진행하여 현재 보행 로봇(300)이 상관관계가 가장 높은 노드 부근에 위치하고 있는 것으로 인식한다.
한편, 특징점들 사이의 매칭률이 제 3 설정값 미만이면(460에서의 '아니오') 위치 인식부(328)는 현재 전방위 영상과 상관관계가 가장 높은 노드에서의 전방위 영상의 유사도가 낮은 것으로 판단하고, 동작 430로 진행하여 현재 보행 로봇(300)의 위치를 새로운 노드로 설정한다.
310 : 전방위 카메라 315 : 관성 센서
320 : 제어부 322 : 영상 처리부
324 : 수평면선 획득부 326 : 상관 계수 산출부
328 : 위치 인식부 330 : 저장부

Claims (17)

  1. 전방위 카메라에서 주변을 촬영하여 전방위 영상을 획득하고;
    상기 획득된 전방위 영상에서 수평면선을 추출하고;
    상기 추출된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수(Correlation Coefficient)를 산출하고;
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값에 따라 상기 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 상기 최대값이 산출된 노드 또는 상기 최대값이 산출된 노드 부근을 자신의 위치로 인식하되,
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값 미만이면 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하는 이동 기기의 위치 인식 방법.
  2. 제 1 항에 있어서,
    상기 수평면선은 상기 전방위 영상의 중심에서 미리 설정된 거리에 있는 점들로 이루어진 곡선인 원의 형상을 가지는 이동 기기의 위치 인식 방법.
  3. 제 1 항에 있어서,
    상기 추출된 수평면선과 상기 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수는 아래의 [수학식 1]을 이용하여 산출하는 이동 기기의 위치 인식 방법.
    [수학식 1]
    Figure 112012071209433-pat00010

    (여기서, ρ(τ)는 상관 계수이고, τ는 수평면선의 회전각이고, Cab(τ)는 a(현재 로봇의 수평면선)와 b(맵의 각 노드의 수평면선)의 상호 상관값(Cross Correlation)이며, Caa(0)와 Cbb(0)는 각각 a, b의 자기 상관값(Auto Correlation)이다)
  4. 삭제
  5. 제 1 항에 있어서, 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하는 것은:
    상기 추출된 수평면선을 상기 새로운 노드의 수평면선으로 저장하고;
    상기 획득된 전방위 영상에서 특징점을 추출하여 상기 새로운 노드의 특징점으로 저장하는 것을 포함하는 이동 기기의 위치 인식 방법.
  6. 제 5 항에 있어서,
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 상기 제 1 설정값보다 큰 제 2 설정값 이상이면 상기 최대값이 산출된 노드 또는 상기 최대값이 산출된 노드 부근을 자신의 위치로 인식하는 이동 기기의 위치 인식 방법.
  7. 제 6 항에 있어서,
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 상기 제 1 설정값 이상이고 상기 제 2 설정값 미만이면 상기 획득된 전방위 영상에서 상기 특징점을 추출하고, 상기 추출된 전방위 영상의 특징점과 상기 최대값이 산출된 노드에서의 전방위 영상의 특징점을 매칭하고, 상기 특징점들의 매칭률에 따라 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하거나, 상기 최대값이 산출된 노드 또는 상기 최대값이 산출된 노드 부근을 자신의 위치로 인식하는 이동 기기의 위치 인식 방법.
  8. 제 7 항에 있어서,
    상기 특징점들의 매칭률이 제 3 설정값 이상이면 상기 최대값이 산출된 노드 또는 상기 노드 부근을 자신의 위치로 인식하고, 상기 특징점들의 매칭률이 상기 제 3 설정값 미만이면 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하는 이동 기기의 위치 인식 방법.
  9. 전방위 카메라에서 주변을 촬영하여 전방위 영상을 획득하고;
    이동 기기의 자세 정보를 획득하고;
    상기 이동 기기의 자세 정보를 이용하여 상기 획득된 전방위 영상에서의 수평면선을 획득하고;
    상기 획득된 수평면선과 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수(Correlation Coefficient)를 산출하고;
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값에 따라 상기 전방위 영상을 촬영한 위치를 새로운 노드로 설정하거나, 상기 최대값이 산출된 노드 또는 상기 최대값이 산출된 노드 부근을 자신의 위치로 인식하는 이동 기기의 위치 인식 방법.
  10. 제 9 항에 있어서,
    상기 이동 기기의 상기 자세 정보를 이용하여 상기 획득된 전방위 영상에서의 수평면선을 획득하는 것은 아래의 [수학식 2] 및 [수학식 3]을 이용하여 획득하는 것인 이동 기기의 위치 인식 방법.
    [수학식 2]
    Figure 112012071209433-pat00011

    [수학식 3]
    Figure 112012071209433-pat00012

    (여기서, CA는 카메라 좌표계에서의 수평면선 상에 있는 점들의 좌표이고,CRW는 전역 좌표계를 카메라 좌표계로 변환시키는 변환 행렬이고, WA는 전역 좌표계에서의 수평면선 상에 있는 점들의 좌표이고, WRC는 카메라 좌표계를 전역 좌표계로 변환시키는 변환 행렬이다)
  11. 제 10 항에 있어서,
    상기 전역 좌표계에서의 상기 수평면선은 상기 전방위 영상의 중심에서 미리 설정된 거리에 있는 점들로 이루어진 곡선인 원의 형상을 가지는 이동 기기의 위치 인식 방법.
  12. 제 9 항에 있어서,
    상기 획득된 수평면선과 상기 적어도 하나의 노드에서의 전방위 영상의 수평면선 사이의 상관 계수는 아래의 [수학식 1]을 이용하여 산출하는 이동 기기의 위치 인식 방법.
    [수학식 1]
    Figure 112012071209433-pat00013

    (여기서, ρ(τ)는 상관 계수이고, τ는 수평면선의 회전각이고, Cab(τ)는 a(현재 로봇의 수평면선)와 b(맵의 각 노드의 수평면선)의 상호 상관값(Cross Correlation)이며, Caa(0)와 Cbb(0)는 각각 a, b의 자기 상관값(Auto Correlation)이다)
  13. 제 12 항에 있어서,
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 제 1 설정값 미만이면 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하는 이동 기기의 위치 인식 방법.
  14. 제 13 항에 있어서, 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하는 것은:
    상기 획득된 수평면선을 상기 새로운 노드의 수평면선으로 저장하고;
    상기 획득된 전방위 영상에서 특징점을 추출하여 상기 새로운 노드의 특징점으로 저장하는 것을 포함하는 이동 기기의 위치 인식 방법.
  15. 제 14 항에 있어서,
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 상기 제 1 설정값보다 큰 제 2 설정값 이상이면 상기 최대값이 산출된 노드 또는 상기 최대값이 산출된 노드 부근을 자신의 위치로 인식하는 이동 기기의 위치 인식 방법.
  16. 제 15 항에 있어서,
    상기 산출된 적어도 하나의 상관 계수들의 절대값들 중 최대값이 상기 제 1 설정값 이상이고 상기 제 2 설정값 미만이면 상기 획득된 전방위 영상에서 상기 특징점을 추출하고, 상기 추출된 전방위 영상의 특징점과 상기 최대값이 산출된 노드에서의 전방위 영상의 특징점을 매칭하고, 상기 특징점들의 매칭률에 따라 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하거나, 상기 최대값이 산출된 노드 또는 상기 최대값이 산출된 노드 부근을 자신의 위치로 인식하는 이동 기기의 위치 인식 방법.
  17. 제 16 항에 있어서,
    상기 특징점들의 매칭률이 제 3 설정값 이상이면 상기 최대값이 산출된 노드 또는 상기 노드 부근을 자신의 위치로 인식하고, 상기 특징점들의 매칭률이 상기 제 3 설정값 미만이면 상기 전방위 영상을 촬영한 위치를 상기 새로운 노드로 설정하는 이동 기기의 위치 인식 방법.
KR1020120097538A 2012-09-04 2012-09-04 이동 기기의 위치 인식 방법 KR101997563B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120097538A KR101997563B1 (ko) 2012-09-04 2012-09-04 이동 기기의 위치 인식 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120097538A KR101997563B1 (ko) 2012-09-04 2012-09-04 이동 기기의 위치 인식 방법

Publications (2)

Publication Number Publication Date
KR20140030854A KR20140030854A (ko) 2014-03-12
KR101997563B1 true KR101997563B1 (ko) 2019-07-08

Family

ID=50643209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120097538A KR101997563B1 (ko) 2012-09-04 2012-09-04 이동 기기의 위치 인식 방법

Country Status (1)

Country Link
KR (1) KR101997563B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663482B1 (ko) * 2013-05-27 2016-10-07 (주)지에스엠솔루션 전방위 영상을 이용한 공간정보 구축 방법
KR20180070932A (ko) 2016-12-19 2018-06-27 삼성전자주식회사 이동체 및 이동체의 제어 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100966875B1 (ko) * 2006-09-26 2010-06-29 삼성전자주식회사 전방위 영상을 이용한 로봇의 위치 결정방법

Also Published As

Publication number Publication date
KR20140030854A (ko) 2014-03-12

Similar Documents

Publication Publication Date Title
CN108406731B (zh) 一种基于深度视觉的定位装置、方法及机器人
CN105866790B (zh) 一种考虑激光发射强度的激光雷达障碍物识别方法及系统
CN106959691B (zh) 可移动电子设备和即时定位与地图构建方法
KR100773184B1 (ko) 자율 이동로봇
KR101775591B1 (ko) 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법
US10068344B2 (en) Method and system for 3D capture based on structure from motion with simplified pose detection
EP2615580B1 (en) Automatic scene calibration
US8265425B2 (en) Rectangular table detection using hybrid RGB and depth camera sensors
KR101591471B1 (ko) 물체의 특징 정보를 추출하기 위한 장치와 방법, 및 이를 이용한 특징 지도 생성 장치와 방법
KR101329111B1 (ko) 실내 네비게이션 시스템 및 방법
CN106826815A (zh) 基于彩色图像与深度图像的目标物体识别与定位的方法
JP7372708B2 (ja) 広視野角のステレオカメラ装置およびこれを利用した深度画像処理方法
ES2865491T3 (es) Sistema y método para seleccionar un modo de operación de una plataforma móvil
KR20160102872A (ko) 보행정보 데이터베이스 구축방법 및 보행정보 데이터베이스를 이용한 보행 안내장치 및 그 방법
US20210368156A1 (en) Three-Dimensional Tracking Using Hemispherical or Spherical Visible Light-Depth Images
JPWO2013145025A1 (ja) ステレオカメラシステム及び移動体
JP7419999B2 (ja) 情報処理装置および情報処理方法
JP6410231B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
KR101997563B1 (ko) 이동 기기의 위치 인식 방법
KR102310958B1 (ko) 광시야각의 스테레오 카메라 장치 및 이를 이용한 깊이 영상 처리 방법
KR101305405B1 (ko) 측면의 랜드마크를 인식하는 지능형 이동로봇의 위치인식 방법
KR20140011672A (ko) 로봇 제어 방법 및 장치
JP7354528B2 (ja) 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
JP2017182564A (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
Weinmann et al. A step towards dynamic scene analysis with active multi-view range imaging systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant