KR101391525B1 - 이동 로봇의 지도 형성 방법 및 위치 인식 방법 - Google Patents

이동 로봇의 지도 형성 방법 및 위치 인식 방법 Download PDF

Info

Publication number
KR101391525B1
KR101391525B1 KR1020120078978A KR20120078978A KR101391525B1 KR 101391525 B1 KR101391525 B1 KR 101391525B1 KR 1020120078978 A KR1020120078978 A KR 1020120078978A KR 20120078978 A KR20120078978 A KR 20120078978A KR 101391525 B1 KR101391525 B1 KR 101391525B1
Authority
KR
South Korea
Prior art keywords
plane
feature
planar
mobile robot
unit
Prior art date
Application number
KR1020120078978A
Other languages
English (en)
Other versions
KR20140013172A (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 KR1020120078978A priority Critical patent/KR101391525B1/ko
Publication of KR20140013172A publication Critical patent/KR20140013172A/ko
Application granted granted Critical
Publication of KR101391525B1 publication Critical patent/KR101391525B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은, 감지부와, 저장부와, 상기 포인트 데이터로부터 평면 특징으로 연산하는 연산부와, 상기 상기 연산부와 연결되어 연산 제어 신호를 인가하는 제어부와, 상기 제어부의 구동 제어 신호에 따라 이동하는 구동부를 구비하는 이동 로봇을 제공하는 제공 단계와, 상기 제어부의 감지 제어 신호에 따라 상기 감지부가 주변 영역에 대한 포인트 데이터를 감지하는 감지 단계와, 상기 감지부가 감지한 포인트 데이터 및 상기 저장부의 사전 설정 데이터를 이용하여 상기 제어부가 평면 특징을 추출하는 평면 특징 추출 단계와, 상기 이전 평면 특징 및 상기 현재 평면 특징으로부터 도출되는 공간 관계를 이용하여 상기 이동 로봇의 이동에 따라 획득되는 주변 환경에 대한 지도 정보를 정합하는 정보 교합 단계를 포함하고, 상기 정보 교합 단계는: 상기 현재 평면 특징 및 상기 이전 평면 특징 간의 회전 일치 평면 특징 짝을 선택하는 샘플링 단계와, 상기 회전 일치 평면 특징 짝을 이용하여 상기 이동 로봇의 이전 위치와 현재 위치 간의 공간 관계를 추정하고, 상기 회전 일치 평면 특징 짝을 평면 특징 짝 집합에 포함 여부를 확인하는 컨센서스 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법을 제공한다

Description

이동 로봇의 지도 형성 방법 및 위치 인식 방법{METHOD FOR BUILDING THE MAP OF A MOBILE ROBOT AND RECOGNIZING THE POSITION OF THE MOBILE ROBOT}
본 발명은 이동 로봇의 자율 주행 기술에 관한 것으로, 연속된 센서 정보로부터 추출된 평면을 이용하여 로봇의 상대 위치를 인식하고 지도를 작성하는 기술 분야이다.
과거 산업용 고정 로봇에 수요가 집중되었던 것과 달리, 최근에는 가정용 로봇 시장의 수요가 증대됨에 따라 이동 로봇의 연구가 활발히 진행되고 있다. 그 중에서도 특히 이동 로봇의 위치를 인식하고 주변 지도를 작성하는 기술은 가장 활발한 연구 분야 중 하나이다. 이동 로봇의 경우 작업 공간이 계속해서 변하기 때문에, 로봇의 주어진 임무에 앞서 자신의 위치 및 주변 환경을 인식하는 기술이 반드시 선행되어야 한다.
3차원 동시 위치 인식 및 지도 작성 기술은 환경의 추상화 방법과 정도에 따라 다양하게 나뉜다. 본 기술 분야에서 자주 사용되는 방법은 감지되는 점구름(point cloud)과 같은 센서 데이터를 바로 이용하는 짝맞춤(data association) 방법이나 컴퓨터 비전 분야에서 사용되는 코너 특징 내지 에지 특징과 같은 특징점을 이용하여 짝을 맞추는 방법이 있는데, 이러한 종래 기술에 따른 정보 교합 방법은 방대한 데이터량과 그에 따른 무수한 연산량 요구로 인하여 저장 부하, 연산 부하로 인한 문제점을 수반하였다. 즉, 종래 기술의 경우 모든 가능한 평면짝의 경우를 모두 탐색함으로써 연산 속도가 느려지며 특히 특징점이 수반되지 않는 단순한 환경하에서는 평면 짝맞춤의 에러가 급증하는 등의 문제점이 수반되었다.
한편, 3차원 동시 위치 인식 및 지도 작성과 관련하여 해당 분야의 또 다른 기술은 오도메트리 정보를 이용하여 평면 간의 짝맞춤을 수행하지만, 실제 기술이 적용되어야 하는 환경에서는 오도메트리 정보를 이용하기 힘들다는 문제점을 가지고 있다.
KR 10-2011-0097140 A
J. Weingarten and R. Siegwart, "3D SLAM using planar segments", pp. 3062~3067, 2006. P. Besl and H. McKay, "A method for registration of 3-d shapes",IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 14, pp. 239~256, feb 1992.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점들을 해결하기 위한 것으로, 오도메트리 정보 없이 오직 평면 특징들 간의 공간적 관계를 통해서 평면 기반 짝맞춤을 수행하는 이동 로봇의 지도 형성 방법 및 위치 인식 방법을 제공하는 것을 목적으로 한다. 또한, 본 발명은 연산 부하를 저감시키고 이전 위치와 현재 위치 간의 평면 특징에 대하여 이동 로봇의 위치 이동에 무관하게 동일한 평면 특징들에 대한 회전 특성 불변을 이용하고 샘플링 및 컨센서스 단계를 통하여 강인한 평면 특징의 짝 맞춤 방법을 실행하고, 이동 로봇의 운동 모델을 고려하여 비현실 상황에 대한 연산 부하를 저감시켜 기존의 기술보다 빠르고 강인한 평면 기반 짝맞춤을 수행할 수 있는 이동 로봇의 지도 형성 방법 및 위치 인식 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본 발명은, 위치 이동에 따른 주변 영역에 대한 포인트 데이터를 감지하는 감지부와, 상기 감지부의 포인트 데이터, 상기 포인트 데이터로부터 평면 특징 추출을 위한 사전 설정 데이터, 상기 감지 데이터 및 상기 사전 설정 데이터로부터 주변 환경에 대하여 추출되는 현재 위치에서의 평면 특징 및 이전 위치에서의 평면 특징을 저장하는 저장부와, 상기 포인트 데이터로부터 평면 특징으로 연산하는 연산부와, 상기 상기 연산부와 연결되어 연산 제어 신호를 인가하는 제어부와, 상기 제어부의 구동 제어 신호에 따라 이동하는 구동부를 구비하는 이동 로봇을 제공하는 제공 단계와, 상기 제어부의 감지 제어 신호에 따라 상기 감지부가 주변 영역에 대한 포인트 데이터를 감지하는 감지 단계와, 상기 감지부가 감지한 포인트 데이터 및 상기 저장부의 사전 설정 데이터를 이용하여 상기 제어부가 평면 특징을 추출하는 평면 특징 추출 단계와, 상기 이전 평면 특징 및 상기 현재 평면 특징으로부터 도출되는 공간 관계를 이용하여 상기 이동 로봇의 이동에 따라 획득되는 주변 환경에 대한 지도 정보를 정합하는 정보 교합 단계를 포함하고, 상기 정보 교합 단계는: 상기 현재 평면 특징 및 상기 이전 평면 특징 간의 회전 일치 평면 특징 짝을 선택하는 샘플링 단계와, 상기 회전 일치 평면 특징 짝을 이용하여 상기 이동 로봇의 이전 위치와 현재 위치 간의 공간 관계를 추정하고, 상기 회전 일치 평면 특징 짝을 평면 특징 짝 집합에 포함 여부를 확인하는 컨센서스 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법을 제공한다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 샘플링 단계는: 상기 이전 평면 특징 중 임의의 사전 설정 개수의 평면 특징을 추출하여 추출된 평면 특징 간 각도 관계를 산출하고, 상기 현재 평면 특징 중 상기 각도 관계를 구비하는 회전 일치 평면 특징 짝의 존재를 확인하는 샘플 셀렉션 단계와, 상기 샘플 셀렉션 단계에서 상기 회전 일치 평면 특징 짝이 존재하는 경우, 상기 이동 로봇의 운동과 비교하여 상기 회전 일치 평면 특징 짝 중 비현실적인 값이 제거되는 샘플 필터링 단계를 포함할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 샘플 셀렉션 단계는: 상기 이전 평면 특징 중 임의의 3개의 평면 특징을 추출하고 상기 임의 추출 평면 특징에 대한 노말 벡터 간의 사이각 관계인 랜덤 샘플링 사이각 관계를 산출하는 랜덤 샘플링 사이각 연산 단계와, 상기 현재 평면 특징의 노말 벡터 간의 모든 사이각을 산출하고 3개 단위로 조합되는 오버올 사이각 관계를 산출하는 오버올 사이각 연산 단계와, 상기 랜덤 샘플링 사이각 관계와 상기 오버올 사이각 관계를 비교하여 동일한 사이각 관계를 구비하는 회전 일치 평면 특징 짝을 확인하는 회전 일치 평면 특징 짝 확인 단계를 포함할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 샘플 필터링 단계는: 상기 회전 일치 평면 특징 짝을 이용하여 상기 이동 로봇의 현재 위치로부터 이전 위치로의 트랜스레이션 벡터 및 좌표 회전에 대한 쿼터니온을 포함하는 공간 관계 스테이트를 산출하는 공간 관계 스테이트 산출 단계와, 상기 회전 일치 평면 특징 짝 중 상기 이동 로봇의 비현실적 이동에 상응하는 회전 일치 평면 특징 짝 여부를 판단하기 위하여, 상기 공간 관계 스테이트 및 상기 사전 설정 데이터에 포함되는 사전 설정 동력 기구학 값을 이용하여 로그 우도값을 산출하는 로그 우도 산출 단계와, 상기 로그 우도값을 상기 사전 설정 데이터에 포함되는 사전 설정 우도값과 비교하여 비현실적 이동에 상응하는 회전 일치 평면 특징 짝이 판단되는 필터링 판단 단계를 포함할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 필터링 판단 단계에서, 상기 로그 우도값이 상기 사전 설정 우도값보다 작은 경우 제어 흐름이 상기 컨센서스 단계로 전달될 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 컨센서스 단계는: 상기 회전 일치 평면 특징 짝을 이용하여 추정된 상기 이동 로봇의 이전 위치와 현재 위치 간의 공간 관계로부터 상기 이전 위치 내 평면 특징과 상기 현재 위치 내 평면 특징 중 일치하는 평면 특징 짝을 확인하여 상기 회전 평면 특징의 상기 평면 특징 짝 집합에 포함 갱신 여부를 결정하는 페어링 단계와, 상기 평면 특징짝 집합이 최적의 평면 특징 짝 집합인지 여부를 확인하고 확인 결과에 따라 최적 평면 특징 짝 집합의 갱신 실행 여부를 결정하는 평가 단계를 포함할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 페어링 단계는: 상기 이전 위치에서의 기추출된 평면 특징과, 상기 현재 위치에서의 평면 특징의 모든 가능한 조합에 대하여, 상기 회전 일치 평면 특징 짝을 이용하여 연산된, 상기 이동 로봇의 이전 위치로부터 현재 위치로의 트랜스레이션 벡터 및 좌표 회전에 대한 쿼터니온을 이용하여, 공간 관계 차이값 및 상기 공간 관계 차이값에 대한 카이 스퀘어를 연산하는 페어링 연산 단계와, 상기 페어링 연산 단계에서 연산된 상기 카이 스퀘어를 상기 사전 설정 데이터에 포함되는 사전 설정 카이스퀘어값과 비교하여 비교 결과에 따라 상기 평면 특징 짝 집합의 갱신하는 페어링 확인 단계와, 상기 평면 특징 짝 집합의 개수와, 상기 사전 설정 데이터에 포함되는 사전 설정 페어링 개수(kd)를 비교하는 페어링 신뢰도 확인 단계를 포함할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 페어링 확인 단계에서, 상기 카이 스퀘어가 상기 사전 설정 카이스퀘어값보다 작은 경우 상기 평면 특징 짝 집합에 상기 카이 스퀘어에 대응하는 평면 특징을 추가할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 페어링 신뢰도 확인 단계에서 상기 평면 특징 짝 집합의 개수가 상기 사전 설정 페어링 개수보다 작은 경우, 상기 제어부는 제어 흐름을 상기 샘플링 단계로 전환할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 페어링 신뢰도 확인 단계에서 상기 평면 특징 짝 집합의 개수가 상기 사전 설정 페어링 개수 이상인 경우, 상기 평면 특징 짝 집합을 이용하여 상기 이동 로봇의 이전 위치로부터 현재 위치로의 트랜스레이션 벡터 및 좌표 회전에 대한 쿼터니온을 포함하는 공간 관계 스테이트를 산출하는 업데이트 공간 관계 산출 단계와, 상기 공간 관계 스테이터를 이용하여 상기 이전 위치에서의 기추출된 평면 특징과, 상기 현재 위치에서의 평면 특징의 모든 가능한 조합에 대하여, 공간 관계 차이값 및 상기 공간 관계 차이값에 대한 카이 스퀘어를 연산하는 업데이트 페어링 연산 단계와, 상기 업데이트 페어링 연산 단계에서 연산된 상기 카이 스퀘어를 상기 사전 설정 데이터에 포함되는 사전 설정 카이스퀘어값과 비교하여 비교 결과에 따라 상기 평면 특징 짝 집합의 갱신하는 업데이트 페어링 확인 단계를 포함할 수도 있다.
상기 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 있어서, 상기 평가 단계는: 상기 평면 특징 짝 집합 내 평면 특징의 개수를 이용하여 매칭도(Γ)를 산출하는 매칭도 산출 단계와, 상기 매칭도와 상기 사전 설정 데이터에 포함되는 기존 최적 매칭도, 즉 기존 매칭도를 비교하는 매칭도 비교 단계와, 상기 매칭도 비교 단계의 결과에 따라 상기 매칭도, 상기 공간 관계 스테이트, 상기 평면 특징 짝 집합을 최적값으로 갱신하는 최적 갱신 단계, 즉 갱신 단계를 포함할 수도 있다.
상기한 바와 같은 구성을 갖는 본 발명에 따른 이동 로봇의 지도 형성 방법 및 위치 인식 방법은 다음과 같은 효과를 갖는다.
첫째, 본 발명에 따른 이동 로봇의 지도 형성 방법 및 위치 인식 방법은, 오도메트리 정보를 이용하지 않음으로써 대부분의 3차원 공간에서 동시 위치 인식 및 지도 작성 기술을 수행할 수 있다.
둘째, 본 발명에 따른 이동 로봇의 지도 형성 방법 및 위치 인식 방법은, 평면 기반 짝맞춤 기술은 빠른 성능과 높은 신뢰도를 가질 수 있다. 이는 실시간 3차원 동시 위치 인식 및 지도 작성 기술을 가능하게 한다.
본 발명은 도면에 도시된 일실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구 범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 이동 로봇의 개략적인 블록 선도이다.
도 2는 본 발명의 일실시예에 따른 이동 로봇의 감지부를 통하여 감지된 포인트 데이터의 사전 설정된 큐브 사이즈로 분할된 상태를 나타내는 선도이다.
도 3은 본 발명의 일실시예에 따라, 큐브 사이즈로의 분할을 설명하는 2차원 선도이다.
도 4는 본 발명의 일실시예에 따라, 큐브 사이즈로 분할된 큐브 단위의 포텐셜 큐로의 배치 상태를 나타내는 선도이다.
도 5는 본 발명의 큐브 단위의 플레인 큐로의 전달 및 포텐셜 큐의 정리 과정을 도시하는 선도이다.
도 6은 본 발명의 큐브 단위의 세그먼트화 및 포텐셜 큐의 정리 과정을 도시하는 선도이다.
도 7은 본 발명의 포텐셜 큐의 비움이 완료되어 포인트 데이터로부터 모든 평면 특징 추출이 완료된 경우의 포인트 데이터로부터 추출된 평면 특징의 배치 상태를 도시하는 선도이다.
도 8은 본 발명의 포텐셜 큐의 비움이 완료되어 포인트 데이터로부터 모든 평면 특징 추출이 완료된 경우의 포인트 데이터로부터 추출된 평면 특징을 병합하여 정리한 상태를 도시하는 선도이다.
도 9는 본 발명의 플레인 병합 단계 후 다각화 단계를 통하여 폐곡선화된 상태를 도시하는 평면 특징의 선도이다.
도 10은 본 발명의 일실시예에 따른 이동 로봇의 지도 형성 및 위치 인식 방법의 제어 흐름도이다.
도 11 내지 도 15는 본 발명의 일실시예에 따른 이동 로봇의 지도 형성 및 위치 인식 방법의 평면 특징 추출과 관련된 세부적인 제어 흐름도이다.
도 16은 본 발명의 일실시예에 따른 이동 로봇의 이전 위치 및 현재 위치 및 평면 특징에 대한 노말 벡터와 거리 정보의 공간 관계를 도시하는 개략적인 선도이다.
도 17은 본 발명의 일실시예에 따른 이동 로봇의 이전 위치 및 현재 위치에서의 각각의 세 개의 평면 특징이 일치하는 경우 각각의 평면 특징 간의 사이각 관계가 위치 이동에 불변함을 도시하는 개략적인 선도이다.
도 18는 본 발명의 일실시예에 따른 이동 로봇의 지도 형성 및 위치 인식 방법을 실행하기 위한 주변 환경에 대한 선도이다.
도 19은 도 18의 주변 환경에 대하여 이동 로봇의 감지부가 이전 위치에서 감지한 포인트 데이터를 도시하는 선도이다.
도 20는 도 18의 이전 위치에서 감지한 포인트 데이터로부터 도출된 평면 특징의 선도이다.
도 21는 도 18의 현재 위치에서 감지한 포인트 데이터로부터 도출된 평면 특징의 선도이다.
도 22은 도 20 및 도 21의 이전 위치 및 현재 위치의 평면 특징으로부터 정보 교합을 통하여 이루어진 이동 로봇의 새로운 최적해로서의 지도에 대한 선도이다.
도 23 내지 도 30은 본 발명의 일실시예에 따른 이동 로봇의 지도 형성 및 위치 인식 방법의 정보 교합에 대한 세부적인 제어 흐름도이다.
이하에서는 이동 로봇의 지도 형성 방법 및 위치 인식 방법에 대하여 도면을 참조하여 설명하기로 한다.
본 발명의 일실시예에 따른 이동 로봇의 지도 형성 방법 및 위치 인식 방법은 제공 단계(S1)와, 감지 단계(S10)와, 평면 특징 추출 단계(S20)와, 정보 교합 단계(S30)와, 최적화 단계(S40)를 포함하는데, 제공 단계에서 제공되는 이동 로봇에 구비되는 감지부(10)를 통하여 주변 환경에 대한 포인트 데이터가 감지되고 이를 통하여 평면 특징 추출 단계에서 평면 특징을 추출하고 이를 이동 로봇의 위치에 따라 얻어지는 데이터들을 정보 교합(data association)하여 최적화된 이동 로봇의 지도를 형성하고 이동 로봇의 현재 위치를 인식한다. 여기서, 최적화 단계는 이동 로봇이 특정 위치를 재방문하는 경우 발생하는데, 루프 디텍션을 통하여 재방문이 아닌 경우 다시 감지 단계로부터 정보 교합 단계까지의 제어 흐름을 반복하고, 루프 디텍션을 통하여 재방문 여부를 확인하고 루프 디텍션이 이루어지는 재방문으로 판단되는 경우 이동 로봇이 취합한 모든 위치 정보와 지도 정보를 총합하여 이동 로봇의 모든 위치와 지도 정보를 최적화하는 과정으로 구성될 수도 있다.
본 발명에서는 이들 단계 중 정보 교합 단계를 중심으로 설명하며, 다른 단계들은 본 기술 분야의 다양한 방식이 사용되어 변형될 수 있다.
먼저, 본 발명에 따른 이동 로봇의 지도 형성 및 위치 인식 방법은 이동 로봇(1)을 제공하는 제공 단계(S1)를 실행한다. 제공 단계(S1)에서 본 발명에 따른 이동 로봇(1)이 제공되는데, 이동 로봇(1)은 감지부(10)와, 제어부(20)와, 저장부(30)와, 연산부(40)와, 구동부(50)를 포함하는데, 감지부(10)는 감지 주기마다 이동 로봇(1)의 이동 위치에서 주변 영역에 대한 포인트 데이터를 감지하여 획득한다. 감지부(10)는 3차원 레이저 거리 측정 모듈(11)과 적외선 카메라 모듈(13)을 포함하는데, 3차원 레이저 거리 측정 모듈(11)은 레이저를 통하여 2차원의 거리를 측정하는 2차원 레이저 거리 측정기(11a)와, 2차원 레이저 거리 측정기(11a)를 틸팅시켜 3차원 정보 감지를 가능하게 하는 팬틸트 모듈(11b)과, 감지된 정보를 하기되는 제어부(20) 측으로 전달하는 통신 모듈(11c)을 포함하고, 적외선 카메라 모듈(13)은 적외선의 비행 시간(time of flight)를 통하여 거리를 측정하는 적외선 카메라(13a)와 감지 신호를 제어부(20)로 전달하는 통신 모듈(13b)을 포함한다. 본 발명의 감지부(10)는 3차원 레이저 거리 측정 모듈(11) 및/또는 적외선 카메라 모듈(13)을 통하여 주변 환경에 대한 스캔 데이터, 즉 클라우드 포인트인 포인트 데이터가 획득될 수 있는데, 이러한 포인트 데이터를 획득하는 범위에서 다양한 구성이 가능하다.
제어부(20)는 감지부(10)로부터 감지된 주변 환경에 대한 포인트 데이터를 저장부(30)로 전달하여 저장시킨다. 저장부(30)에는 이동 로봇(1)의 현재 위치에서 감지된 포인트 데이터가 저장되는데, 경우에 따라 이전 위치 또는 앞선 위치에서의 감지된 포인트 데이터가 필요에 따라 더 저장될 수도 있고, 저장 부하를 경감시키기 위하여 이전 위치 또는 앞선 위치에서의 포인트 데이터로부터 추출된 평면 특징 등의 특징 정보를 제외한 일반적인 포인트 데이터는 제거될 수도 있는 등 설계 사양에 따라 다양한 변형이 가능하다. 또한, 저장부(30)는 포인트 데이터로부터 평면 특징을 도출하는 과정 또는 평면 특징로부터 이전 위치와 현재 위치에서의 특징으 짝 맞춤 여부 내지 정보 교합 여부를 판단하는데 사용되는 사전 설정값 들을 포함하는 사전 설정 데이터를 저장한다.
제어부(20)는 저장부(30) 및 연산부(40)와 연결되고, 제어부(20)의 저장 제어 신호 내지 연산 제어 신호를 통하여 연산부(40)가 소정의 연산 과정을 실행하여 포인트 데이터 및 사전 설정 데이터를 이용하여 평면 특징 성분을 연산하거나 정합에 필요한 파라미터 들을 도출할 수 있다.
구동부(50)는 제어부(20)의 구동 제어 신호에 따라 구동되어 이동 로봇(10)을 소정의 방향으로 이동시킨다.
제공 단계(S1)에서 이동 로봇(1)이 제공된 후, 제어부(20)는 감지 단계(S10)를 실행한다. 감지 단계(S10)에서 감지부(10)는 제어부(20)의 감지 제어 신호에 따라 주변 환경에 대한 포인트 데이터를 감지하는데, 이동 로봇(1)의 현재 위치에서 감지된 주변 환경에 대한 포인트 데이터는 제어부(20)에 의하여 저장부(30)에 저장된다.
그런 후, 제어부(20)는 본 발명의 평면 특징 추출 단계(S20)를 실행한다. 평면 특징 추출 단계(S20)에서, 제어부(20)는 현재 위치에서 감지된 포인트 데이터와 저장부(30)에 저장된 사전 설정 데이터를 이용하여, 현재 위치에서의 포인트 데이터에 대한 평면 특징을 추출하는데, 평면 특징 추출 단계(S20)는 포텐셜 큐(Qp)와 플레인 큐(Ql)를 사용한다. 제어부(20)는 하기되는 바와 같이 이러한 현재 위치에서 추출되는 현재 평면 특징 및 이전 위치 내지 앞선 위치에서 감지되어 기 추출되어 저장된 이전 평면 특징을 이용하여 정보 교합을 이루도록 한다. 포텐셜 큐는 주변 환경에 대한 포인트 데이터를 사전 설정된 큐브 사이즈로 분할된 큐브 단위의 포인트 데이터 및 해당 큐브 단위의 정보를 순차적으로 저장한다. 여기서, 큐브 단위는 초기에 설정된 큐브 단위 뿐만 아니라, 하기되는 서브 큐브 단위를 포함한다. 포텐셜 큐는 감지부(10)에서 감지된 포인트 데이터를 3차원 격자 단위로 분할된 큐브 단위 내 포인트 데이터와 해당 큐브 단위에 대한 정보, 즉 큐브의 3차원 공간 상에서의 좌표 정보를 저장하는 저장부(30) 내의 가상의 공간이며, 포텐셜 큐에서의 큐브 단위는 초기에 분할된 3차원 격자 단위뿐만 아니라, 초기에 분할된 3차원 격자 단위가 필요에 따라 세그먼트화되어 하기되는 서브 큐브 단위로 분할되는 경우의 포인트 데이터 및 해당 서브 큐브 단위의 좌표 위치 정보를 포함하는 서브 큐브 단위를 포함한다(도 5 및 도 6 참조).
또한, 플레인 큐는 포텐셜 큐에서 순차적으로 처리되어 단일의 평면 특징을 구비하는 큐브 단위(서브 큐브 단위 포함)의 정보, 즉 포인트 데이터 및 큐브 단위 정보 및 추출된 평면 특징을 전달받아 저장하는 저장부(30)에서의 가상의 공간이다. 이와 같은, 포텐셜 큐와 플레인 큐를 사용한 계층적 처리 과정을 통하여 3차원 정보로서의 포인트 데이터로부터 평면 특징을 보다 신속하고 원활하게 추출할 수 있다.
보다 구체적으로 평면 특징 추출 단계(S20)는 초기화 단계(S21)와 세그먼트 단계(S23)와 플레인 병합 단계(S25) 를 포함하고, 다각화 단계(S27)를 더 구비할 수 있다.
초기화 단계(S21)는 주변 환경에 대한 포인트 데이터를 사전 설정된 큐브 사이즈로 분할하고, 포텐셜 큐 및 플레인 큐를 초기화시키고, 세그먼트 단계(S23)는 큐브 사이즈로 분할된 포인트 데이터를 포텐셜 큐(Qp)와 플레인 큐(Ql)를 이용하여 큐브 사이즈로 분할된 해당 큐브 단위 내 포인트 데이터로부터 단일의 평면 특징을 추출하거나 또는 큐브 사이즈로 해당 큐브 단위 내 분할된 포인트 데이터가 복수 개의 평면 특징을 구비하는 경우 세그먼트화하여 복수 개의 평면 특징을 추출하는데, 세그먼트화의 발생 회수는 해당 단위 내 평면 특징이 단수 개가 추출될 때까지 반복될 수 있다.
초기화 단계(S21)는 큐브 사이즈 설정 단계(S211)와 큐 초기화 단계(S213)를 포함하는데, 큐브 사이즈 설정 단계(S211)에서 큐브 사이즈가 설정된다. 큐브 사이즈(Ncube)는 사전 설정 데이터에 포함되어 저장부(30)에 저장될 수 있는데, 경우에 따라 이동 로봇에는 입력부(미도시)가 더 구비되어 사용자에 의한 별도의 입력을 통하여 설정되는 구성을 취할 수도 있으나, 본 실시예에서 큐브 사이즈는 저장부(30)의 사전 설정 데이터에 포함된다.
그런 후, 제어부(20)가 포인트 데이터를 사전 설정된 큐브 사이즈(Ncube)로 분할하고, 포텐셜 큐(Qp) 및 플레인 큐(Ql)를 초기화하는 큐 초기화 단계(S213)를 실행한다. 도 2에 도시된 바와 같이 감지부(10)에서 감지되어 획득된 3차원 데이터로서의 포인트 데이터는 사전 설정된 큐브 사이즈(Ncube)로 분할된다. 한편, 앞서 설명된 바와 같이, 포텐셜 큐(Qp) 및 플레인 큐(Ql)는 가상의 공간으로서, 포텐셜 큐(Qp)에는 평면 추출 과정을 순차적으로 대기하거나 또는 단일의 평면을 이루지 못한 해당 단위 내 포인트 데이터가 분할 내지 세그먼트화되어 재차 평면 추출 과정을 순차적으로 대기하도록 저장되는 포인트 데이터 및 해당 포인트 데이터에 대한 해당 단위(큐브 단위 내지 서브 큐브 단위)의 공간에 대한 정보가 저장되고, 플레인 큐(Ql)에는 포텐셜 큐에 저장되어 평면 추출되어 최종적으로 단일의 평면 특징을 이루는 것으로 판단된 해당 단위의 포인트 데이터 및 해당 단위의 공간 정보가 저장된다.
세그먼트 단계(S23)는 큐브 큐잉 단계(S231)와 플래너 익스트랙션(S233)를 포함한다. 큐브 큐잉 단계(S231)에서는 큐브 사이즈(Ncube)로 분할된 포인트 데이터가 포텐셜 큐에 순차적으로 배치되는데, 여기서 순차의 의미는 평면 추출을 위한 하기되는 플래너 익스트랙션 단계에서의 연산 순서를 의미하는 것으로 포텐셜 큐에서의 1차원 상으로 배열되는 위치 순서는 연산 순서를 의미한다. 즉, 도 3 및 도 4에는 큐브 사이즈로 분할된 단위, 즉 큐브 단위의 포텐셜 큐에의 배치 상태를 도식적으로 나타내는 선도가 도시되는데, 도 3는 이해를 용이하게 하기 위하여 2차원 선도가 도시된다. 즉, 도 3에서 포인트 데이터는 큐브 사이즈에 의하여 각각의 큐브 단위(A,B,C,D,E,F,G,H,I)로 분할되고, 분할된 큐브 단위는 도 4에 도시된 바와 같이 포텐셜 큐에 순차적으로 배치되는데, 포텐셜 큐에 순차 배치되는 큐브 단위에는 분할된 포인트 데이터 및 큐브 단위에 대한 좌표계 상에서의 공간 위치 정보를 포함한다.
그런 후, 제어부(20)는 플래너 익스트랙션 단계(S233)를 실행하는데, 플래너 익스트랙션 단계(S233)에서 포텐셜 큐(Qp)에서 순차적으로 해당 단위의 포인트 데이터로부터 평면 특징을 추출하고 평면 특징이 추출되면 플레인 큐(Ql)로 전달하다. 플래너 익스트랙션 단계(S233)에서는 포텐셜 큐의 해당 단위, 즉 큐브 단위의 포인트 데이터에 복수 개의 평면 특징이 존재하는 경우, 사전 설정 데이터에 포함되는 사전 설정된 개수의 서브 큐브로 세그먼트화한다. 본 실시예에서 세그먼트화를 위한 사전 설정된 개수는 8이나 이는 설계 사양에 따라 다양한 숫자로 변형될 수 있으나, 세그먼트화를 위한 사전 설정된 개수는 정확한 평면 추출 내지 연산 부하를 고려하여 적절하게 선택되는 것이 바람직하다.
세그먼트화된 서브 큐브는 포텐셜 큐의 후위로 전달되어 평면 특징 추출 연산 과정 상에서의 순서가 조정된다. 이때, 세그먼트화된 서브 큐브 내 포인트 데이터로부터 추출된 평면이 단일 평면이 아닐 경우 재차 세그먼트화되어 다시 포텐셜 큐의 후위로 전달되어 평면 특징 추출 연산 과정 상의 순서가 조정되는데, 이러한 반복적인 과정은 해당 단위 내 포인트 데이터로부터 단일 평면이 추출될 때까지 반복된다.
보다 구체적으로, 플래너 익스트랙션 단계(S233)눈 포텐셜 큐 엠프티 확인 단계(S2331)와, 큐브 파라미터 산출 단계(S2333)와 파라미터 분산 비교 단계(S2335)와 큐 정리 단계(S2337)를 포함한다.
포텐셜 큐 엠프티 확인 단계(S2331)에서는 포텐셜 큐의 비움 여부를 확인하는데, 포텐셜 큐의 비움이 확인되는 경우 제어부(20)는 포텐셜 큐 내의 모든 정보가 플레인 큐로 전달되었다고 판단하는데, 달리 표현하면 포텐셜 큐 내 해당 단위, 즉 큐브 단위 또는 서브 큐브 단위 내 포인트 데이터로부터 모두 단일의 평면 특징이 추출되고 정보가 플레인 큐로 전달되어, 모든 포인트 데이터에 대한 큐브 단위 내지 서브 큐브 단위로의 평면 특징 추출이 완료되었다고 판단한다.
반면, 단계 S2331에서 제어부(20)가 현재 포텐셜 큐가 비움 상태가 아니고 큐브 단위 또는 서브 큐브 단위의 포인트 데이터 및 단위 정보가 점유된 상태인 것으로 판단하는 경우, 제어부(20)는 연산부(40)로 하여금 해당 단위(큐브 단위 또는 서브 큐브 단위) 내의 포인트 데이터에 대한 파라미터 평면 특징을 추출하고 파라미터 평면 특징을 이루는 큐브 파라미터를 산출하도록 한다(S2333). 큐브 파라미터 산출 단계(S2333)에서 제어부(20)는 해당 단위 내의 포인트 데이터로부터 파라미터 평면을 추출하는데, 파라미터 평면이 추후 파라미터 분산 비교 단계에서 조건을 만족시키는 경우 평면 특징으로 확정되고 플레인 큐로 전달된다.
큐브 파라미터 산출 단계(S2333)는 로버스트 평균 산출 단계(S2333a)와 로버스트 공분산 매트릭스 산출 단계(S2333b)와, 파라미터 노말 벡터 산출 단계(S2333c)와, 파라미터 평면 거리 산출 단계(S2333d)와, 파라미터 분산 산출 단계(S2333e)를 포함하는데, 이러한 산출 과정은 로버스트 주성분 분석(robust pricipal componet analysis)를 이용한다. 먼저, 로버스트 평균 산출 단계(S2333a)에서 제어부(20)는 연산부(40)로 하여금 해당 단위(큐브 단위 내지 서브 큐브 단위) 내 포인트 데이터인
Figure 112012057919840-pat00001
에 대한 로버스트 평균(μ*)를 다음과 같이 산출하도록 한다.
Figure 112012057919840-pat00002
여기서, Mi는 어느 포인트와 해당 포인트를 포함하는 그룹의 평균 사이의 확률적 거리인 마할라노비스 거리(Mahalanobis distance)를,
Figure 112012057919840-pat00003
는 Mi에 기초한 가중치 함수를 나타낸다.
그런 후, 제어부(20)는 연산부(40)로 하여금 로버스트 공분산 매트릭스를 산출하는 단계 S2333b를 실행하는데, 로버스트 공분산 매트릭스(S*)는 다음과 같다.
Figure 112012057919840-pat00004
그런후, 제어부(20)는 파라미터 노말 벡터 산출 단계(S2333c)를 실행한다. 파라미터 노말 벡터는 상기 로버스트 공분산 매트릭스(S*)를 이용하여 산출되는데, 로버스트 공분산 매트릭스(S*)로부터 얻어지는 세 개의 직교 고유 벡터(orthogonal eignenvector) 중 최소 노름(minimum norm)은 노말 벡터(np)를 그리고 나머지 두 개 고유 벡터는 평면을 구성하는데, 이때 노말 벡터를 파라미터 노말 벡터, 그리고 두 개의 고유 벡터가 이루는 평면을 파라미터 평면으로 설정한다.
그런 후, 제어부(20)는 파라미터 평면 거리(dp)를 산출하는데, 파라미터 평면 거리(dp)는 이동 로봇 상의 좌표계의 원점으로부터 해당 큐브 단위 내지 해당 서브 큐브 단위 내의 해당 포인트들이 형성하는 파라미터 평면까지의 거리를 나타낸다. 파라미터 평면 거리(dp)는 파라미터 노말 벡터(np)와 로버스트 평균을 이용하여 다음과 같이 산출된다(S2333d).
Figure 112012057919840-pat00005
그런 후, 단계 S2333e에서 제어부(20)는 연산부(40)로 하여금 해당 단위 내 포인트 데이터와 파라미터 평면 사이의 거리의 분산(vp)을 산출한다(S2333e).
이와 같이 큐브 파라미터 산출이 완료된 후, 제어부(20)는 파라미터 분산 비교 단계(S2335)를 실행하는데, 파라미터 분산 비교 단계(S2335)에서 파라미터 분산(vp)과 사전 설정 데이터에 포함되는 사전 설정 파라미터 분산값(vs)이 비교된다. 큐 정리 단계(S2337)는 파라미터 분산 비교 단계에서의 결과에 따라 해당 단위(큐브 단위 내지 서브 큐브 단위) 내의 포인트 데이터의 플레인 큐로의 이동 내지 포텐셜 큐의 후위로의 위치 이동과 세그먼트화를 이룬다.
단계 S2335에서 파라미터 분산(vp)이 사전 설정 파라미터 분산값(vs)보다 작은 경우, 형성된 파라미터 평면은 해당 단위 내 포인트 데이터 들이 이루는 단일의 평면으로 제어부(20)가 판단하고 제어 흐름을 큐 정리 단계(S2337)에서의 플레인 큐 전달 단계(S2337a)로 진행시킨다.
반면, 단계 S2335에서 파라미터 분산(vp)이 사전 설정 파라미터 분산값(vs) 이상인 경우, 형성된 파라미터 평면은 해당 단위 내 포인트 데이터들이 이루는 단일의 평면이 아니고 복수 개의 평면 특징이 포함되었을 가능성이 높은 것으로 제어부(20)가 판단하여 제어 흐름을 큐 정리 단계(S2337)에서의 단계 S2337c로 전환한다.
단계 S2335에서 파라미터 분산이 사전 설정 파라미터 분산값(vs)보다 작은 것으로 판단한 경우, 제어부(200)는 큐 정리 단계(S2337)에서 해당 큐브 단위 또는 해당 서브 큐브 단위에 단일의 평면 특징이 존재하는 것으로 판단하여, 해당 큐브 단위 또는 해당 서브 큐브 단위의 거리 데이터 및 포인트 데이터 및 좌표 상의 공간 위치 정보를 플레인 큐로 전달하는 플레인 큐 전달 단계(S2337a)를 실시하고 포텐셜 큐(Qp)를 정리하는, 즉 플레인 큐로 전달된 해당 단위의 다음의 큐브 단위 내지 서브 큐브 단위를 차순위의 평면 특징 추출 연산 과정의 대상으로 연산 순서를 정리하는 포텐셜 큐 정리 단계(S2337b)를 실행한다. 즉, 도 5에 도시된 바와 같이, 포텐셜 큐의 제 1순위 연산 대상인 해당 단위 "A"에 대한 파라미터 평면의 분산이 사전 설정 파라미터 분산값보다 작은 경우 이를 포텐셜 큐(Qp)로부터 플레인 큐(Ql)로 전달하고(도 5 (a) 참조), 포텐셜 큐(Qp)의 위치를 정리하는 포텐셜 큐 정리 단계를 실행한다(도 5 (b) 참조). 이때 플레인 큐로 전달된 해당 단위의 큐브 파라미터는 해당 단위의 평면 특징(노말 벡터 및 평면 거리 등)으로 저장된다.
반면, 단계 S2335에서 파라미터 분산이 사전 설정 파라미터 분산값(vs)이상인 것으로 판단한 경우, 제어부(200)는 큐 정리 단계(S2337)에서 해당 큐브 단위 또는 해당 서브 큐브 단위에 복수 개의 평면 특징이 존재하는 것으로 판단하여, 해당 단위를 사전 설정된 개수의 서브 큐브 단위로 세그먼트화하고(도 6 (a) 참조), 세그먼트화된 서브 큐브 단위의 위치를 후위로 이동시키는 포텐셜 큐 위치 이동 단계(S2337d)를 실행한다(도 6(b) 참조). 그리고, 경우에 따라 단계 S2337b로 전달되어 포텐셜 큐 내 차순위 연산 대상을 정리하는 단계가 더 실행될 수도 있다.
그런 후 제어 흐름은 단계 S2331로 전달되어 포텐셜 큐의 비움 여부가 확인되고 포텐셜 큐가 완전히 비워져 모든 포인트 데이터에 대한 평면 특징이 추출된 것으로 판단된 경우(도 7 참조), 제어 흐름은 단계 S25로 전달된다.
플레인 병합 단계에서 제어부(20)는 모든 포인트 데이터에 대한 큐브 단위 내지 서브 큐브 단위(반복적으로 세그먼트화된 서브 큐브 포함)에 대한 평면 특징의 노말 벡터 및 평면 거리(n, d)가 동일 내지 실질적으로 동일한지 여부를 판단하는데, 두 평면 특징의 노말 벡터의 내적이 1 내지 1에 근접한 경우 이 두 평면은 동일 평면 상에 배치된 것으로 간주되고, 또한 평면 거리가 동일 내지 실질적으로 동일한 경우(일정한 오차 범위 내에 존재하는 경우), 두 개의 평면 특징은 동일하다고 판단하고 이를 병합하여 중복된 평면 특징을 단일화시킨다. 이러한 병합 과정을 통하여 도 7의 분포된 평면 특징은 도 8과 같이 병합되어 재정립될 수 있다.
그런 후, 제어부(20)는 소정의 다각화 단계(S27)를 통하여 평면 모양을 구체화하고 시각화하는데, 이러한 다각화 단계는 본 기술 분야의 주지적인 사항인바 구체적 설명은 생략한다.
상기 평면 특징 추출 단계는 포텐셜 큐와 플레인 큐를 사용하여 로버스트 주성분 분석 기법의 계층적 분할 구조를 사용하여 포인트 데이터로부터 평면 특징을 추출하는 방법을 기준으로 설명하였으나, 본 발명은 이에 국한되지 않고 포인트 클라우드의 포인트 데이터로부터 평면 특징을 추출 가능한 범위에서 다양한 방식이 사용될 수 있다.
한편, 평면 특징 추출 단계(S20)가 완료된 후, 제어부(20)는 추출된 평면 특징, 즉 현재 위치에서의 현재 평면 특징과, 이전 위치에서의 포인트 데이터로부터 추출된 평면 특징인 이전 평면 특징을 이용하여 이동 로봇(1)의 이전 위치와 현재 위치 간의 정보 교합을 이루는 정보 교합 단계(S30)를 실행한다. 정보 교합 단계(S30)는 샘플링 단계(S31)와 컨센서스 단계(S33)를 포함하는데, 샘플링 단계(S31)에서 제어부(20)는 현재 평면 특징 및 이전 평면 특징 간의 회전 일치 평면 특징 짝을 선택하고, 컨센서스 단계(S33)에서 회전 일치 평면 특징 짝을 이용하여 이동 로봇(20)의 이전 위치와 현재 위치 간의 공간 관계(spatial relation)을 추정하여 회전 일치 평면 특징 짝을 평면 특징 짝 집합에 포함하여 평면 특징 짝 집합의 갱신 여부를 확인한다.
이는 이동 로봇(1)의 이전 위치(A)로부터 현재 위치(B), 즉 두 개의 연속된 위치로 이동한 경우, 각각의 위치와 이들 위치에서 바라본 평면 특징(u,v)과의 공간 관계(spatial relation)으로부터 이동 로봇(1)의 위치가 병진(translation) 및 회전(rotation) 운동을 이루더라도 동일한 평면 특징 간의 노말 벡터의 상관 관계는 불변하다는 점으로부터 도출된다. 즉, 도 16에는 이전 위치(A)로부터 현재 위치(B)로 이동한 이동 로봇(1)과 각각의 위치에서 바라본 평면 특징을 u,v라 하고, u,v의 평면 특징이 실질적으로 동일한 평면 특징이라 할 때의 공간 관계를 설명하는 도면이 도시되는데, 여기서,
Figure 112012057919840-pat00006
는 이동 로봇(1)의 두 개의 위치 간의 공간 관계 스테이트로 다음과 같이 표현된다.
Figure 112012057919840-pat00007
여기서,
Figure 112012057919840-pat00008
는 위치 A로부터 위치 B로의 트랜스레이션 벡터(translation vector)를,
Figure 112012057919840-pat00009
는 좌표 회전(coordinate rotation)에 대한 쿼터니온(quaternion)을 나타낸다.
이때, 위치 B와 위치 B에서 관측된 u 평면 특징 간의 공간 관계는,
Figure 112012057919840-pat00010
로,
그리고 위치 A와 위치 B에서 관측된 u 평면 특징 간의 공간 관계는,
Figure 112012057919840-pat00011
로 표현되고, 다음과 같이 재기술될 수 있다.
Figure 112012057919840-pat00012
여기서,
Figure 112012057919840-pat00013
Figure 112012057919840-pat00014
로부터 도출된 회전 매트릭스를 나타내고, n은 노말 벡터를 그리고 d는 평면 특징으로부터 이동 로봇의 위치까지의 수직 거리를 나타낸다.
이때, 위치 B에서의 u 평면 특징이 위치 A에서의 v 평면 특징과 동일한 평면으로부터 도출되는 경우, 다음과 같은 관계가 형성된다.
Figure 112012057919840-pat00015
이러한 공간 관계에서 불변의 특성으로부터 u,v의 노말 벡터는 다음과 같은 관계가 형성된다.
Figure 112012057919840-pat00016
여기서, △θ는 두 개의 노말 벡터 사이의 사이각 관계를 나타내며, 이러한 관계를 만족시키는 평면 특징 u,v를 샘플 회전 일치 평면 특징 짝으로 명명한다.
이러한 샘플링 회전 일치 평면 특징 짝 중 비현실적인 값, 즉, 이동 로봇(1)의 동역학적 기구학적 모델에 어긋나는 샘플링 회전 일치 평면 특징 짝을 제거함으로써 연산 부하가 절감될 수 있는데, 이러한 비현실적 값의 제거는 가우시언 분포를 이용한 로그-우도 테스트(log-likelihood test)의 샘플 필터링 단계를 통하여 이루어진다.
상기한 두 위치 간의 공간 관계, 즉
Figure 112012057919840-pat00017
Figure 112012057919840-pat00018
로 구성되는
Figure 112012057919840-pat00019
로부터 다음과 같이 표현되는 마할라노비스 거리,
Figure 112012057919840-pat00020
를 산출하여 A 위치에서 관측된 u 평면 특징의 공간 관계와 B 위치에서 관측된 v 평면 특징의 공간 관계 간의 차이가 도출될 수 있다.
Figure 112012057919840-pat00021
Figure 112012057919840-pat00022
두 개의 연속된 위치에서의 평면 특징 간의 마할라노비스 거리가 영 내지 이에 근접한 값을 갖는 경우 두 개의 평면 특징 u,v은 동일한 평면으로부터 도출되는 것으로 판단될 수 있다. 즉, 이러한 마할라노비스 거리 관계를 만족시키는 샘플링 회전 일치 평면 특징 짝인 평면 특징 u,v(=u)는 최종적인 회전 일치 평면 특징 짝으로 판단되고 이러한 회전 일치 평면 특징 짝 들은 최종적으로 평면 특징 짝 집합에 포함 저장되고 최적화의 갱신 단계를 거침으로써 정보 교합이 완성된다.
보다 구체적으로, 샘플링 단계(S31)는 샘플 셀렉션 단계(S310)와 샘플 필터링 단계(S320)를 구비하는데, 샘플 컬렉션 단계(S310)에서 이전 평면 특징 중 임의의 사전 설정 개수의 평면 특징을 추출하여 각도 관계를 산출하고, 현재 평면 특징 중 산출된 각도 관계를 구비하는 회전 일치 평면 특징 짝의 존재를 확인하고, 샘플 필터링 단계(S320)는 샘플 셀렉션 단계(S310)에서 회전 일치 평면 특징 짝이 존재하는 경우, 이동 로봇(1)의 운동과 비교하여 이동 로봇(1)의 운동으로부터 발생할 수 없는 비현실적 이동시 발생하는 회전 일치 평면 특징 짝의 값을 제거하여 불필요한 연산 부하를 제거한다.
보다 구체적으로, 샘플 셀렉션 단계(S310)는 랜덤 샘플링 사이각 연산 단계(S311)와, 오버올 사이각 연산 단계(S313)와, 샘플 회전 일치 평면 특징 짝 확인 단계(S315)를 포함한다.
랜덤 샘플링 사이각 연산 단계(S311)에서 제어부(20)는 이전 평면 특징 중 임의의 3개의 평면 특징을 추출하고 임의 추출 평면 특징에 대한 노말 벡터 간의 사이각 관계인 랜덤 샘플링 사이각 관계를 산출한다.
즉, 이전 위치에서 이동 로봇(1)에 의하여 감지되어 평면 특징 추출되어 저장부(30)에 저장된 이전 평면 특징의 세트(set)를 FA라 하고, 현재 위치에서 이동 로봇(1)의 감지부(10)에 의하여 감지되어 평면 특징 추출되어 플레인 큐로부터 병합 과정을 거쳐 정확한 평면 특징으로 저장부(30)에 저장된 현재 평면 특징의 세트(set)를 FB라 할 때, 단계 S311에서 제어부(20)는 임의의 3개의 평면 특징을 선택하여 평면 특징 짝 집합(SA)으로 설정한다. 도 17에 도시된 바와 같이, 위치 A(이전 위치)에서 얻어진 평면 특징 중 3개를 임의 추출한다. 이들 평면 특징은 평면 특징 짝 집합(SA)는 {a1, a2, a3}를 이루는데, 각각의 평면 특징 a1,a2,a3의 노말 벡터는 각각
Figure 112012057919840-pat00023
,
Figure 112012057919840-pat00024
,
Figure 112012057919840-pat00025
로 표현되고, 이들 노말 벡터 간의 사이각 관계는 (α1,α2,α3)로 표현된다.
그런 후, 제어부(20)는 오버올 사이각 연산 단계(S313)를 실행하는데, 제어부(20)는 위치 B에서의 평면 특징의 세트(set) FB에 저장된 모든 평면 특징에 대하여 노말 벡터 간의 모든 사이각을 산출하고 3개 단위로 조합되는 오버올 사이각 관계를 산출한다.
그런후, 제어부(20)는 랜덤 샘플링 사이각 연산 단계(S311)와 오버올 사이각 연산 단계(S313)에서 얻어진 조합을 비교하여 샘플링 회전 일치 짝이 존재하는지를 확인하는 회전 일치 평면 특징 짝 확인 단계(S315)를 실행한다. 즉, 위치 A에서 샘플링된 3개의 평면 특징의 노말 벡터 간의 사이각 관계 (a1,a2,a3)와 동일한 사이각 관계를 갖는 평면 특징 조합이 위치 B에서의 평면 특징 세트 내에 존재하는지를 비교 확인한다.
그런후, 제어부(20)는 단계 S317에서 다음과 같은 관계를 만족시키는 샘플링 회전 일치 평면 특징 짝이 존재하는지를 판단한다.
Figure 112012057919840-pat00026
Figure 112012057919840-pat00027
Figure 112012057919840-pat00028
이러한 관계를 만족시키는 위치 B에서의 평면 특징의 조합은 위치 B에서의 평면 특징 짝 집합(SB={b1, b2, b3})로 설정한다.
단계 S317에서 SB존재하는 것으로 판단하는 경우 제어부(20)는 회전에 대하여 컨시스턴트한 세 개의 평면 특징을 나타내는 샘플링 회전 일치 평면 특징 짝이 존재하는 것으로 판단하여 제어 흐름을 샘플 필터링 단계(S320)으로 진행하고, 반면, 단계 S317에서 샘플링 회전 일치 평면 특징 짝이 존재하지 않는 것으로 판단한 경우 제어부(20)는 제어 흐름을 단계 S311로 진행하여 이전 위치 A에서의 평면 특징을 새로이 샘플링하도록 한다.
샘플 필터링 단계(S320)에서 제어부(20)는 단계 S310에서 얻어진 샘플링 회전 일치 평면 특징 짝 중 이동 로봇(1)의 동역학적, 기구학적 모델 및 샘플링 시간으로 볼 때 발생할 수 없는 비현실적인 값을 제거한다. 샘플 필터링 단계(S320)는 공간 관계 스테이트 산출 단계(S321)와, 로드 우도 산출 단계(S323)와, 필터링 판단 단계(S323)를 포함한다. 공간 관계 스테이트 산출 단계(S321)에서 제어부(20)는 평면 특징 짝 집합(SA,SB)를 이용하여 이동 로봇(1)의 현재 위치(B)로부터 이전 위치(A)로의 트랜스레이션 벡터(
Figure 112012057919840-pat00029
) 및 좌표 회전에 대한 쿼터니온(
Figure 112012057919840-pat00030
)을 포함하는 공간 관계 스테이트(
Figure 112012057919840-pat00031
)를 산출한다.
트랜스레이션 벡터와 쿼터니온은 다양한 방식으로 산출될 수 있으나, 본 실시예에서는 상기 언급된 ζu,v를 노말 벡터와 거리 부분으로 디커플링하여 로그-우도 방법(log-likelihood method)에 기초한 비용 함수(cost function)을 이용하여 도출한다.
즉,
Figure 112012057919840-pat00032
로부터 두 개의 비용 함수가 도출된다.
Figure 112012057919840-pat00033
Figure 112012057919840-pat00034
여기서, αu,βu는 각각 E1과 E2를 최대화시키는 사전 설정 데이터에 포함되는 가중치이다.
다음과 같이 재기술되는데,
Figure 112012057919840-pat00035
여기서,
Figure 112012057919840-pat00036
,
Figure 112012057919840-pat00037
,
Figure 112012057919840-pat00038
,
Figure 112012057919840-pat00039
이고, Nm은 SA 내의 원소의 개수를,
Figure 112012057919840-pat00040
는 기준 좌표계 위치 A에서 바라본 FA의 u번째 평면 특징의 노말 벡터를 쿼터니온으로 변환한 값을,
Figure 112012057919840-pat00041
는 기준 좌표계 위치 B에서 바라본 FB의 u번째 평면 특징의 노말 벡터를 쿼터니온으로 변환한 값을 나타낸다. 이 때,
Figure 112012057919840-pat00042
은 다음과 같이 표현된다.
Figure 112012057919840-pat00043
여기서, 파이는 쿼터니온 연산을 위한 행렬이고, r은 파이에 사용되는 임의의 쿼터니온이다.
이때, E1을 최대화시키는 좌표 회전에 대한 쿼터니온(
Figure 112012057919840-pat00044
)은 K를 아이겐 디컴포지션(eigen decomposition)하여 고유벡터를 연산하여 가장 큰 고유값을 갖는 고유벡터로 설정한다.
또한, 좌표 회전에 대한 쿼터니온의 공분산(covariance) 벡터는 다음과 같이 산출되는데, 쿼터니온의 공분산 벡터를 구하기 위하여, 라그랑지언 멀티플라이어(
Figure 112012057919840-pat00045
)를 사용하여 비용 함수 E1은 다음과 같이 수정되고,
Figure 112012057919840-pat00046
쿼터니온의 공분산 행렬은 비용함수의 헤시안(Hessian)이고,
Figure 112012057919840-pat00047
이의 헤시안(Hessian)은 .
Figure 112012057919840-pat00048
으로 표현된다.
여기서,
Figure 112012057919840-pat00049
는 매트릭스 K의 가장 큰 고유값이며,이에 대응되는 고유벡터가
Figure 112012057919840-pat00050
이며 이는 좌표 회전에 대한 쿼터니온(
Figure 112012057919840-pat00051
)으로 사용된다.
또한, E2를 최대화하는 단순 가중 최소 자승법(simple weighted least square problem)을 통하여 트랜스레이션 벡터(
Figure 112012057919840-pat00052
) 는 로 사용되는 최적해(
Figure 112012057919840-pat00053
)가 다음과 같이 도출될 수 있다.
Figure 112012057919840-pat00054
여기서,
Figure 112012057919840-pat00055
,
Figure 112012057919840-pat00056
,
Figure 112012057919840-pat00057
이고, βu는 사전 설정 데이터에 포함되는 사용자에 의하여 제공되는 가중치이며,
Figure 112012057919840-pat00058
는 기준 좌표계 위치 A에서 바라본 FA의 u번째 평면 특징의 노말 벡터이고,
Figure 112012057919840-pat00059
는 기준 좌표계 위치 B에서 바라본 FA의 v번째 평면 특징의 기준 좌표계 원점으로부터의 거리를 나타낸다.
트랜스레이션 벡터의 공분산 벡터(
Figure 112012057919840-pat00060
)는 다음과 같이 산출된다.
Figure 112012057919840-pat00061
이고,
여기서,
Figure 112012057919840-pat00062
이고,
Figure 112012057919840-pat00063
Figure 112012057919840-pat00064
는 평면 추출 알고리즘으로부터 산출되는데, 이의 산출 과정은 본 발명의 관련 기술(K. Pathak, A. Birk, N. Va_skevi_cius, and J. Poppinga, "Fast registration based on noisy planes with unknown correspondences for 3d mapping",IEEE Trans . on Robotics, vol. 26, pp. 424~441, 2010)로부터 도출될 수 있다.
이와 같은 과정을 통하여 단계 S321에서 공간 관계 스테이트(
Figure 112012057919840-pat00065
)가 산출된다.
그런 후, 제어부(20)는 로드 우도 산출 단계(S323)를 실행하여 평면 특징 짝 집합(SA,SB)에 포함되는 샘플링 회전 일치 평면 특징 짝 중 이동 로봇의 비현실적인 이동 여부를 판단하기 위한 로그 우도값(
Figure 112012057919840-pat00066
,
Figure 112012057919840-pat00067
)을 산출한다. 즉, 이동 로봇(1)의 동역학적 내지 기구학적 운동은 다음과 같은 가우시언 확률 분포를 따른다.
Figure 112012057919840-pat00068
Figure 112012057919840-pat00069
여기서, t와
Figure 112012057919840-pat00070
는 각각 쿼터니언의 회전각과 병진을 나타내는 임의 변수로,
Figure 112012057919840-pat00071
일때, ρ는 회전축을,
Figure 112012057919840-pat00072
는 회전 각을 나타내고,
Figure 112012057919840-pat00073
Figure 112012057919840-pat00074
는 사전 설정 데이터에 포함되는 사전 설정 동력 기구학 값으로, 각각 이동 로봇(1)의 기구학, 동력학 및 샘플링 타임을 고려하여 사용자에 의하여 사전설정되어 저장부(30)에 저장되는 사전 설정 데이터에 포함되는 공분산과 분산을 나타낸다.
이때, 로그 우도값은 다음과 같이 연산된다.
Figure 112012057919840-pat00075
Figure 112012057919840-pat00076
Figure 112012057919840-pat00077
Figure 112012057919840-pat00078
으로부터 도출되고,
Figure 112012057919840-pat00079
Figure 112012057919840-pat00080
는 상수이다.
그런 후, 제어부(20)는 필터링 판단 단계(S325)에서 로그 우도값을 상기 사전 설정 데이터에 포함되는 사전 설정 우도값(
Figure 112012057919840-pat00081
,
Figure 112012057919840-pat00082
)와 비교하여 샘플링 회전 일치 평면 특징 짝이 비현실적 이동에 해당하는지 여부를 판단한다. 즉, 제어부(20)는
Figure 112012057919840-pat00083
이고
Figure 112012057919840-pat00084
인 경우 제어부(20)는 해당 샘플링 회전 일치 평면 특징 짝이 위치 A로부터 위치 B로 이동하였을 경우의 회전 일치 평면 특징 짝이라고 하기에는 이동 로봇(1)의 동역학적 관계를 고려할 때 발생하기 어려운 정도, 즉 이동 로봇의 이동 속도 등을 고려할 때 현실적으로 이동할 수 없는 거리 관계를 이룰 때 얻어질 수 있는 평면 특징의 짝 맞춤이라고 판단하여 발생할 수 없는 평면 특징 짝 맞춤이라고 판단하고 이에 해당하는 샘플링 평면 특징 짝은 후속 단계로 진행하지 않고 제거한 후 제어 흐름을 단계 S31로 전달하여 새로운 샘플링 단계를 실행하도록 한다.
반면, 단계 S325에서 제어부(20)가
Figure 112012057919840-pat00085
이고
Figure 112012057919840-pat00086
가 아니라고 판단한 경우, 즉 로그 우도값이 사전 설정 로그 우도값보다 작은 경우, 제어부(20)는 이동 로봇(1)의 동역학적 관계 등을 고려할 때 발생 가능한 위치 이동시 얻어지는 평면 특징 짝으로 판단하여 해당 샘플 회전 일치 평면 특징 짝을 후속 단계를 위한 회전 일치 평면 특징 짝으로 설정하고, 제어 흐름을 단계 s33으로 진행하여 이동 로봇의 이전 위치(A)로부터 현재 위치(B) 사이의 공간적 관계를 추정하여 추정된 움직임을 바탕으로 현재 위치에서 얻어진 평면 특징 들을 맵핑시켜 일치되는 평면 특징 짝을 골라 앞선 단계에서 얻어진 회전 특징 평면 짝과 함께 평면 특징 짝 집합(SA,SB)을 새로운 회전 일치 평면 특징 짝 집합으로 갱신하는 컨센서스 단계(S33)를 실행한다.
컨센서스 단계(S33)는 페어링 단계(S331)와 평가 단계(S333)를 포함하는데, 페어링 단계(S331)는 회전 일치 평면 특징 짝을 이용하여 이동 로봇의 이전 위치(A)로부터 현재 위치(B) 사이의 공간적 관계를 추정하고 추정된 움직임을 바탕으로 현재 위치에서 얻어진 평면 특징 들을 맵핑시켜 일치되는 평면 특징 짝을 골라낸다. 즉, 페어링 단계(S331)에서 제어부(20)는 회전 일치 평면 특징 짝을 이용하여 이동 로봇의 이전 위치(A)와 현재 위치(B) 간의 공간 관계를 추정하고 회전 일치 평면 특징 짝에 대응 해당하는 평면 특징이 새로운 평면 특징에 속하는지 여부를 판단한다.
페어링 단계(S331)는 페어링 연산 단계(S3311)와 페어링 확인 단계(S3313)와 페어링 신뢰도 확인 단계(S3315)를 포함하는데, 페어링 연산 단계(S3311)에서 이전 위치(A)에서 기 추출되어 저장부(30)에 저장된 기추출된 평면 특징과, 현재 위치(B)에서의 평면 특징의 모든 가능한 조합에 대하여, 단계 S31에서 도출된 회전 일치 평면 특징 짝을 이용하여 연산된, 이동 로봇(1)의 현재 위치(B)로부터 이전 위치(A)로의 트랜스레이션 벡터(
Figure 112012057919840-pat00087
) 및 좌표 회전에 대한 쿼터니온(
Figure 112012057919840-pat00088
)을 포함하는 공간 관계 스테이트(
Figure 112012057919840-pat00089
)로부터, 공간 관계 차이값(
Figure 112012057919840-pat00090
) 및 공간 관계 차이값에 대한 카이 스퀘어(
Figure 112012057919840-pat00091
)를 연산한다.
즉, 단계 S3311에서는 현재 위치(B)에서의 평면 특징과 이전 위치(A)에서의 평면 특징 간의 소정의 기준을 통고하여 일치되는 평면 짝을 추출하기 위하여, 단계 S31에서 얻어진 이전 위치(A)에서의 평면 특징과 현재 위치(B)에서의 평면 특징의 사이각 관계가 일치하는 샘플링 회전 일치 평면 특징 짝 중 비현실적인 값이 제외된 회전 일치 평면 특징 짝을 통해 산출된 현재 위치(B)와 이전 위치(A) 간의 공간 관계를 이용하여, 현재 위치(B)에서 얻어진 모든 평면 특징(FB)을 맵핑시켜 마할라노비스 거리로서의 공간 관계 차이값과 이에 대한 카이스퀘어를 연산하여 와 이전 위치(A)의 평면 특징과 일치되는 평면 특징을 판단하기 위한 값을 제공한다.
페어링 연산 단계(S3311)는 공간 관계 차이값 연산 단계(S3311a)와 카이 스퀘어 연산 단계(S3311b)를 포함하는데, 공간 관계 차이값 연산 단계(S3311a)에서 제어부(20)는 단계 S320에서 산출된 공간 관계 스테이트(
Figure 112012057919840-pat00092
)를 이용하여 연산부(40)로 하여금 이전 위치(A)에서의 모든 평면 특징과 현재 위치(B)에서의 모든 평면 특징의 매칭 여부를 비교하도록 마할라노비스 거리로서의 공간 관계 차이값(
Figure 112012057919840-pat00093
) 및 이의 공분산을 산출하도록 한다.
Figure 112012057919840-pat00094
이고, 여기서 u는 이전 위치(A)에서의 평면 특징을, 그리고 v는 현재 위치(B)에서의 평면 특징을 나타내며, 이들은 각각의 위치에서의 평면 특징의 세트(FA,FB)의 모든 평면 특징에 대한 조합으로 연산된다. 즉, 이전 위치에서의 평면 특징의 세트 내의 평면 특징의 개수가 j, 현재 위치에서의 평면 특징의 세트 내의 평면 특징의 개수가 k라고 할 때, 연산되는 마할라노비스 거리로서의 공간 관계 차이값은 j×k 개가 도출된다.
마할라노비스 거리로서의 공간 관계 차이값의 공분산은 다음과 같이 산출된다.
Figure 112012057919840-pat00095
Figure 112012057919840-pat00096
여기서,
Figure 112012057919840-pat00097
,
Figure 112012057919840-pat00098
,
Figure 112012057919840-pat00099
, 및
Figure 112012057919840-pat00100
는 각각의 하첨자 변수에 대응하는 자코비안이다.
그런 후, 제어부(20)는 연산부로 하여금 각각의 평면 특징 조합으로부터 산출된 공간 관계 차이값으로부터 각각의 카이 스퀘어 값을 다음과 같이 산출한다(S3311b).
Figure 112012057919840-pat00101
그런 후, 제어부(20)는 제어 흐름을 단계 S3313으로 진행하여 페어링 확인 단계를 실행한다. 페어링 확인 단계는 페어링 판단 단계(S3313a)와, 페어링 추가 단계(S3313b)를 포함한다. 페어링 판단 단계(S3313a)에서 제어부(20)는 단계 S3311에서 연산된 카이 스퀘어 값을 사전 설정 데이터에 포함되는 사전 설정 카이스퀘어값(
Figure 112012057919840-pat00102
)과 비교하는데, 단계 S3311에서 연산된 카이 스퀘어 값(
Figure 112012057919840-pat00103
)이 사전 설정 카이스퀘어값(
Figure 112012057919840-pat00104
)보다 작은 경우 제어부는 이전 위치(A)에서의 평면 특징 세트(FA) 내의 u 번째 평면 특징이, 현재 위치(B)에서의 평면 특징 세트(FB) 내의 v 번째 평면 특징에 대응하는 것으로 판단하고 제어 흐름을 단계 S3313b로 진행한다.
단계 S3313b에서 제어부(20)는 해당하는 평면 특징 짝을 평면 특징 짝 집합(SA,SB)에 추가한다. 반면, 단계 S3313a에서 카이 스퀘어 값(
Figure 112012057919840-pat00105
)이 사전 설정 카이스퀘어값(
Figure 112012057919840-pat00106
)이상인 경우 제어부는 이전 위치(A)에서의 평면 특징 세트(FA) 내의 u 번째 평면 특징이, 현재 위치(B)에서의 평면 특징 세트(FB) 내의 v 번째 평면 특징에 대응하지 않는 것으로 판단하고 단계 S3313b를 실행하지 않고 단계 S3315로 진행한다. 페어링 확인 단계는 현재 위치 및 이전 위치에서의 모든 평면 특징 조합에 대하여 산출된 카이 스퀘어 값에 대하여 실행된다.
그런 후, 제어부(20)는 페어링 신뢰도 확인 단계(S3315)를 실행하는데, 제어부(20)는 이전 위치(A) 및 현재 위치(B)에 대한 평면 특징 짝 집합(SA,SB) 내 회전 일치 평면 특징 짝의 개수, 즉 원소의 개수를 사전 설정 데이터에 포함되는 사전 설정 페어링 개수(kd)와 비교하여 샘플링 단계 및 컨센서스 단계를 통하여 도출된 이전 위치 및 현재 위치 간의 회전 일치되는 평면 특징 짝의 결과에 대한 신뢰성 여부를 판단하는데(단계 S3315a), 이전 위치(A) 및 현재 위치(B)에 대한 평면 특징 짝 집합(SA,SB) 내 원소의 개수가 사전 설정 페어링 개수(kd) 이하인 경우 제어부는 현재 페어링된 특징 집합은 신뢰도가 약하다고 판단하여 제어 흐름을 단계 S31로 진행하여 새로운 샘플링 단계(S31)를 재실행한다.
반면, 단계 S3315a에서 이전 위치(A) 및 현재 위치(B)에 대한 평면 특징 짝 집합(SA,SB) 내 원소의 개수가 사전 설정 페어링 개수(kd)보다 큰 경우, 제어부(20)는 현재 페어링된 특징 집합은 신뢰도가 높다고 판단하고 단계 S3313에서 얻어진 평면 특징 짝 집합(SA,SB)을 이용하여 새로운 공간 관계 스테이트를 산출하는 업데이트 공간 관계 스테이트 산출 단계(S3315b)와, 새로이 산출된 공간 관계 스테이트를 이용하여 이전 위치(A)와 현재 위치(B)에서의 모든 평면 특징의 조합에 대한 공간 관계 차이값 및 카이 스퀘어를 연산하는 업데이트 페어링 연산 단계(S3315c)와, 업데이트된 공간 관계 차이값에 대한 카이 스퀘어를 사전 설정 카이스퀘어 값과 비교하여 평면 특징 짝 집합을 갱신하는 업데이트 페어링 확인 단계(S3315d)를 실행하는데, 이들은 앞선 단계 S321 및 S3311 및 S3313과 동일 내지 거의 유사한바 중복된 설명은 생략한다.
이와 같은 페어링 신뢰도 확인 단계를 통하여 이전 위치 및 현재 위치에서의 평면 특징의 짝 맞춤을 통하여 이루어지는 정보 교합의 신뢰성을 확보할 수 있다.
페어링 단계(S331)가 완료된 후, 제어부(20)는 평가 단계(S333)를 실행하는데, 평가 단계(S333)에서 평면 특징 짝 집합이 최적의 평면 특징 짝 집합인지 여부를 확인하고 확인 결과에 따라 최적 평면 특징 짝 집합의 갱신 실행 여부를 결정한다. 즉, 평면 특징짝 집합의 평면 특징의 개수와, 저장부에 저장된 평면 특징 짝 집합의 평면 특징의 개수를 비교 확인하여 확인 결과에 따라, 저장부에 저장되는 평면 특징 짝 집합의 갱신 실행 여부를 결정한다. 평가 단계(S333)는 매칭도 산출 단계(S3331)와 매칭도 비교 단계(S3333)와 갱신 단계(S3335)를 포함한다.
매칭도 산출 단계(S3331)에서 제어부(20)는 평면 특징 짝 집합 내 평면 특징의 개수를 이용하여 매칭도(Γ=#(SA))를 산출하는데, 매칭도(Γ)는 평면 특징 짝 집합 내 평면 특징의 개수이다.
그런 후, 제어부(20)는 단계 S3333에서 매칭도(Γ)를 이전 위치까지 얻어져 저장부(30)에 저장된 기존 최종 매칭도, 즉 기존 매칭도(Γop)와 비교하는데, 매칭도(Γ)가 기존 매칭도(Γop)이하라고 판단한 경우, 제어부(20)는 페어링 단계를 통하여 얻어진 평면 특징 짝 집합이 최적의 평면 특징 짝 집합이 아니라고 판단한다.
반면, 단계 S3333에서 제어부(20)가 매칭도(Γ)가 기존 매칭도(Γop)보다 크다고 판단한 경우, 제어부(20)는 페어링 단계를 통하여 얻어진 평면 특징 짝 집합이 기존의 저장부(30)에 저장된 종전의 최적화된 평면 짝 집합보다 더 매칭도가 높다고 판단하고 기존의 매칭도를 갱신하고(Γop=Γ), 종전의
Figure 112013108876514-pat00107
, SA,op, 및 SB,op를 각각,
Figure 112013108876514-pat00108
,
Figure 112013108876514-pat00109
,
Figure 112013108876514-pat00110
로 갱신한다.
이러한 단계 S3333 및 단계 S3335의 과정이 완료된 후, 제어부(20)는 현재 일련의 제어 과정이 반복된 회수(n)를 갱신하고(S3337), 반복 회수(n)가 사전 설정 반복 회수(ns)에 도달하였는지를 판단하여(S3339), 반복 회수(n)의 사전 설정 반복 회수(ns)의 미도달시 일련의 제어 과정을 재차 반복하고, 반복 회수(n)가 사전 설정 반복 회수(ns)에 도달한 경우 제어 과정을 종료하고, 이동 로봇의 차회의 이동 위치에서의 일련의 과정을 제어하도록 대기한다.
상기 실시예들은 본 발명을 설명하기 위한 일예들로, 본 발명이 이에 국한되지 않고 다양한 변형이 가능하다.
1...이동 로봇 10...감지부
20...제어부 30...저장부
40...연산부 50...구동부

Claims (11)

  1. 위치 이동에 따른 주변 영역에 대한 포인트 데이터를 감지하는 감지부와, 상기 감지부의 포인트 데이터, 상기 포인트 데이터로부터 평면 특징 추출을 위한 사전 설정 데이터, 상기 감지 데이터 및 상기 사전 설정 데이터로부터 주변 환경에 대하여 추출되는 현재 위치에서의 평면 특징 및 이전 위치에서의 평면 특징을 저장하는 저장부와, 상기 포인트 데이터로부터 평면 특징으로 연산하는 연산부와, 상기 상기 연산부와 연결되어 연산 제어 신호를 인가하는 제어부와, 상기 제어부의 구동 제어 신호에 따라 이동하는 구동부를 구비하는 이동 로봇을 제공하는 제공 단계와,
    상기 제어부의 감지 제어 신호에 따라 상기 감지부가 주변 영역에 대한 포인트 데이터를 감지하는 감지 단계와,
    상기 감지부가 감지한 포인트 데이터 및 상기 저장부의 사전 설정 데이터를 이용하여 상기 제어부가 평면 특징을 추출하는 평면 특징 추출 단계와,
    상기 이전 평면 특징 및 상기 현재 평면 특징으로부터 도출되는 공간 관계를 이용하여 상기 이동 로봇의 이동에 따라 획득되는 주변 환경에 대한 지도 정보를 정합하는 정보 교합 단계를 포함하고,
    상기 정보 교합 단계는:
    상기 현재 평면 특징 및 상기 이전 평면 특징 간의 회전 일치 평면 특징 짝을 선택하는 샘플링 단계와,
    상기 회전 일치 평면 특징 짝을 이용하여 상기 이동 로봇의 이전 위치와 현재 위치 간의 공간 관계를 추정하고, 상기 회전 일치 평면 특징 짝을 평면 특징 짝 집합에 포함 여부를 확인하는 컨센서스 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  2. 제 1항에 있어서,
    상기 샘플링 단계는:
    상기 이전 평면 특징 중 임의의 사전 설정 개수의 평면 특징을 추출하여 추출된 평면 특징 간 각도 관계를 산출하고, 상기 현재 평면 특징 중 상기 각도 관계를 구비하는 회전 일치 평면 특징 짝의 존재를 확인하는 샘플 셀렉션 단계와,
    상기 샘플 셀렉션 단계에서 상기 회전 일치 평면 특징 짝이 존재하는 경우, 상기 이동 로봇의 운동과 비교하여 상기 회전 일치 평면 특징 짝 중 비현실적인 값이 제거되는 샘플 필터링 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  3. 제 2항에 있어서,
    상기 샘플 셀렉션 단계는:
    상기 이전 평면 특징 중 임의의 3개의 평면 특징을 추출하고 상기 임의 추출 평면 특징에 대한 노말 벡터 간의 사이각 관계인 랜덤 샘플링 사이각 관계를 산출하는 랜덤 샘플링 사이각 연산 단계와,
    상기 현재 평면 특징의 노말 벡터 간의 모든 사이각을 산출하고 3개 단위로 조합되는 오버올 사이각 관계를 산출하는 오버올 사이각 연산 단계와,
    상기 랜덤 샘플링 사이각 관계와 상기 오버올 사이각 관계를 비교하여 동일한 사이각 관계를 구비하는 회전 일치 평면 특징 짝을 확인하는 회전 일치 평면 특징 짝 확인 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  4. 제 3항에 있어서,
    상기 샘플 필터링 단계는:
    상기 회전 일치 평면 특징 짝을 이용하여 상기 이동 로봇의 현재 위치로부터 이전 위치로의 트랜스레이션 벡터 및 좌표 회전에 대한 쿼터니온을 포함하는 공간 관계 스테이트를 산출하는 공간 관계 스테이트 산출 단계와,
    상기 회전 일치 평면 특징 짝 중 상기 이동 로봇의 비현실적 이동에 상응하는 회전 일치 평면 특징 짝 여부를 판단하기 위하여, 상기 공간 관계 스테이트 및 상기 사전 설정 데이터에 포함되는 사전 설정 동력 기구학 값을 이용하여 로그 우도값을 산출하는 로그 우도 산출 단계와,
    상기 로그 우도값을 상기 사전 설정 데이터에 포함되는 사전 설정 우도값과 비교하여 비현실적 이동에 상응하는 회전 일치 평면 특징 짝이 판단되는 필터링 판단 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  5. 제 4항에 있어서,
    상기 필터링 판단 단계에서, 상기 로그 우도값이 상기 사전 설정 우도값보다 작은 경우 제어 흐름이 상기 컨센서스 단계로 전달되는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  6. 제 2항에 있어서,
    상기 컨센서스 단계는:
    상기 회전 일치 평면 특징 짝을 이용하여 추정된 상기 이동 로봇의 이전 위치와 현재 위치 간의 공간 관계로부터 상기 이전 위치 내 평면 특징과 상기 현재 위치 내 평면 특징 중 일치하는 평면 특징 짝을 확인하여 상기 회전 평면 특징의 상기 평면 특징 짝 집합에 포함 갱신 여부를 결정하는 페어링 단계와,
    상기 평면 특징짝 집합의 평면 특징의 개수와 상기 저장부에 저장된 평면 특징 짝 집합의 평면 특징의 개수를 비교 확인하여 확인 결과에 따라 상기 저장부에 저장되는 평면 특징 짝 집합의 갱신 실행 여부를 결정하는 평가 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  7. 제 6항에 있어서,
    상기 페어링 단계는:
    상기 이전 위치에서의 기추출된 평면 특징과, 상기 현재 위치에서의 평면 특징의 모든 가능한 조합에 대하여, 상기 회전 일치 평면 특징 짝을 이용하여 연산된, 상기 이동 로봇의 이전 위치로부터 현재 위치로의 트랜스레이션 벡터 및 좌표 회전에 대한 쿼터니온을 이용하여, 공간 관계 차이값 및 상기 공간 관계 차이값에 대한 카이 스퀘어를 연산하는 페어링 연산 단계와,
    상기 페어링 연산 단계에서 연산된 상기 카이 스퀘어를 상기 사전 설정 데이터에 포함되는 사전 설정 카이스퀘어값과 비교하여 비교 결과에 따라 상기 평면 특징 짝 집합의 갱신하는 페어링 확인 단계와,
    상기 평면 특징 짝 집합의 개수와, 상기 사전 설정 데이터에 포함되는 사전 설정 페어링 개수(kd)를 비교하는 페어링 신뢰도 확인 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  8. 제 7항에 있어서,
    상기 페어링 확인 단계에서, 상기 카이 스퀘어가 상기 사전 설정 카이스퀘어값보다 작은 경우 상기 평면 특징 짝 집합에 상기 카이 스퀘어에 대응하는 평면 특징을 추가하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  9. 제 8항에 있어서,
    상기 페어링 신뢰도 확인 단계에서 상기 평면 특징 짝 집합의 개수가 상기 사전 설정 페어링 개수보다 작은 경우, 상기 제어부는 제어 흐름을 상기 샘플링 단계로 전환하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  10. 제 8항에 있어서,
    상기 페어링 신뢰도 확인 단계에서 상기 평면 특징 짝 집합의 개수가 상기 사전 설정 페어링 개수 이상인 경우,
    상기 평면 특징 짝 집합을 이용하여 상기 이동 로봇의 이전 위치로부터 현재 위치로의 트랜스레이션 벡터 및 좌표 회전에 대한 쿼터니온을 포함하는 공간 관계 스테이트를 산출하는 업데이트 공간 관계 산출 단계와,
    상기 공간 관계 스테이터를 이용하여 상기 이전 위치에서의 기추출된 평면 특징과, 상기 현재 위치에서의 평면 특징의 모든 가능한 조합에 대하여, 공간 관계 차이값 및 상기 공간 관계 차이값에 대한 카이 스퀘어를 연산하는 업데이트 페어링 연산 단계와,
    상기 업데이트 페어링 연산 단계에서 연산된 상기 카이 스퀘어를 상기 사전 설정 데이터에 포함되는 사전 설정 카이스퀘어값과 비교하여 비교 결과에 따라 상기 평면 특징 짝 집합의 갱신하는 업데이트 페어링 확인 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
  11. 제 10항에 있어서,
    상기 평가 단계는:
    상기 평면 특징 짝 집합 내 평면 특징의 개수를 이용하여 매칭도(Γ)를 산출하는 매칭도 산출 단계와,
    상기 매칭도와 상기 사전 설정 데이터에 포함되는 기존 매칭도를 비교하는 매칭도 비교 단계와,
    상기 매칭도 비교 단계의 결과에 따라 상기 매칭도, 상기 공간 관계 스테이트, 상기 평면 특징 짝 집합을 갱신하는 갱신 단계를 포함하는 것을 특징으로 하는 이동 로봇의 지도 형성 및 위치 인식 방법.
KR1020120078978A 2012-07-19 2012-07-19 이동 로봇의 지도 형성 방법 및 위치 인식 방법 KR101391525B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120078978A KR101391525B1 (ko) 2012-07-19 2012-07-19 이동 로봇의 지도 형성 방법 및 위치 인식 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120078978A KR101391525B1 (ko) 2012-07-19 2012-07-19 이동 로봇의 지도 형성 방법 및 위치 인식 방법

Publications (2)

Publication Number Publication Date
KR20140013172A KR20140013172A (ko) 2014-02-05
KR101391525B1 true KR101391525B1 (ko) 2014-05-07

Family

ID=50263647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120078978A KR101391525B1 (ko) 2012-07-19 2012-07-19 이동 로봇의 지도 형성 방법 및 위치 인식 방법

Country Status (1)

Country Link
KR (1) KR101391525B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679741B1 (ko) * 2015-05-06 2016-11-28 고려대학교 산학협력단 외곽 공간 특징 정보 추출 방법
KR20170009684A (ko) * 2015-07-15 2017-01-25 고려대학교 산학협력단 실내 구조의 방향 정보 추출 장치 및 방법
KR101855870B1 (ko) 2016-08-08 2018-05-10 고려대학교 산학협력단 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101615618B1 (ko) * 2014-08-29 2016-04-28 고려대학교 산학협력단 벽면 구조 추출 방법
KR102078254B1 (ko) * 2018-03-30 2020-02-17 서울시립대학교 산학협력단 라이다 데이터를 이용한 지형 변화 실시간 탐지 방법, 이를 위한 시스템 및 서버에 저장된 컴퓨터프로그램
CN111796600A (zh) * 2020-07-22 2020-10-20 中北大学 一种基于四足机器人的物体识别与跟踪系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926601B1 (ko) 2007-12-31 2009-11-11 고려대학교 산학협력단 천장 영상 기반 이동 로봇 장치 및 이의 위치 인식 방법
KR101097182B1 (ko) 2010-07-12 2011-12-21 국방과학연구소 3차원 거리정보에서 고도지도와의 정합에 유리한 정보를 추출하는 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926601B1 (ko) 2007-12-31 2009-11-11 고려대학교 산학협력단 천장 영상 기반 이동 로봇 장치 및 이의 위치 인식 방법
KR101097182B1 (ko) 2010-07-12 2011-12-21 국방과학연구소 3차원 거리정보에서 고도지도와의 정합에 유리한 정보를 추출하는 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679741B1 (ko) * 2015-05-06 2016-11-28 고려대학교 산학협력단 외곽 공간 특징 정보 추출 방법
KR20170009684A (ko) * 2015-07-15 2017-01-25 고려대학교 산학협력단 실내 구조의 방향 정보 추출 장치 및 방법
KR101707044B1 (ko) * 2015-07-15 2017-02-16 고려대학교 산학협력단 실내 구조의 방향 정보 추출 장치 및 방법
KR101855870B1 (ko) 2016-08-08 2018-05-10 고려대학교 산학협력단 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법 및 장치

Also Published As

Publication number Publication date
KR20140013172A (ko) 2014-02-05

Similar Documents

Publication Publication Date Title
KR101391525B1 (ko) 이동 로봇의 지도 형성 방법 및 위치 인식 방법
CN110312912B (zh) 车辆自动停车系统和方法
Schwarz et al. Fast object learning and dual-arm coordination for cluttered stowing, picking, and packing
Pyo et al. Service robot system with an informationally structured environment
Wan et al. Teaching robots to do object assembly using multi-modal 3d vision
Song et al. CAD-based pose estimation design for random bin picking using a RGB-D camera
US7664571B2 (en) Controlling a robot using pose
JP7275759B2 (ja) 物体検出方法、物体検出装置およびロボットシステム
Kaiser et al. Validation of whole-body loco-manipulation affordances for pushability and liftability
CN111753696B (zh) 一种感知场景信息的方法、仿真装置、机器人
Aleotti et al. Perception and grasping of object parts from active robot exploration
Murali et al. Active visuo-tactile interactive robotic perception for accurate object pose estimation in dense clutter
EP4173776A1 (en) Robot control device and robot control method, and program
Monica et al. A KinFu based approach for robot spatial attention and view planning
Kanoulas et al. Visual grasp affordance localization in point clouds using curved contact patches
McGreavy et al. Next best view planning for object recognition in mobile robotics
Li et al. A YOLO-GGCNN based grasping framework for mobile robots in unknown environments
Pajarinen et al. Robotic manipulation in object composition space
Lakshan et al. Identifying Objects with Related Angles Using Vision-Based System Integrated with Service Robots
KR101391554B1 (ko) 평면 추출 방법 및 이를 구비하는 이동 로봇의 지도 형성 방법 및 위치 인식 방법
Zhang et al. Affordance-driven next-best-view planning for robotic grasping
Aleotti et al. Global registration of mid-range 3D observations and short range next best views
Biza et al. One-shot imitation learning via interaction warping
JP5462662B2 (ja) 位置姿勢計測装置、物体識別装置、位置姿勢計測方法及びプログラム
Phan et al. Towards 3D human posture estimation using multiple kinects despite self-contacts

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 6