KR101333496B1 - 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법 - Google Patents

과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법 Download PDF

Info

Publication number
KR101333496B1
KR101333496B1 KR1020110126469A KR20110126469A KR101333496B1 KR 101333496 B1 KR101333496 B1 KR 101333496B1 KR 1020110126469 A KR1020110126469 A KR 1020110126469A KR 20110126469 A KR20110126469 A KR 20110126469A KR 101333496 B1 KR101333496 B1 KR 101333496B1
Authority
KR
South Korea
Prior art keywords
cleaning
mobile robot
information
map
area
Prior art date
Application number
KR1020110126469A
Other languages
English (en)
Other versions
KR20120059428A (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 주식회사 유진로봇
Publication of KR20120059428A publication Critical patent/KR20120059428A/ko
Application granted granted Critical
Publication of KR101333496B1 publication Critical patent/KR101333496B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Abstract

본 발명의 실시예에 따른 과거 지도 데이터에 기반의 이동 로봇 제어 방법은 이동 로봇이 청소시작 명령에 따라 청소를 시작하는 경우 이전 청소시의 시작점의 위치를 파악하는 단계; 이동 로봇이 이동함에 따라 작성된 높이 정보와 장애물 정보를 갖는 2차원 격자 지도의 각 격자의 높이값과 초기 높이값을 이용하여 청소 대상 영역을 다수의 서브 영역으로 분할하는 단계; 및 상기 분할된 서브 영역 중 기설정된 기준크기 이하인 영역에 대하여 높은 청소순위를 할당하여 최선순위 청소영역을 설정하고, 차순위 청소영역은 이동 경로를 함께 고려하여 선택하는 것으로 청소 커버리지 경로 계획을 수립하는 단계;를 포함함으로써, 청소의 효율성을 높일 수 있을 뿐만 아니라 청소시간을 줄일 수 있고, 로봇에 상방향으로 설치된 카메라와 같은 영상획득수단이 받아들인 천정패턴을 이용하여 이동 로봇의 이동 여부를 자동 인식할 수 있고, 빠르고 효율적인 청소를 위한 경로 계획을 수립할 수 있다.

Description

과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법{Apparatus and Method for controlling a mobile robot on the basis of past map data}
본 발명은 과거 지도 데이터 기반 이동 로봇의 제어 장치 및 방법에 관한 것으로서, 더욱 상세하게는 자율 주행 로봇에 있어서 과거 지도 데이터를 이용하여 청소 대상 영역을 효율적으로 청소하는 과거 지도 데이터 기반 이동 로봇의 제어 장치 및 방법에 관한 것이다.
최근 로봇 기술의 발전에 따라 스스로 경로를 설정하고 이동하는 이동 로봇이 활용되고 있다. 이동 로봇의 대표적인 예로는 주택이나 건물 내부를 청소하는 청소용 로봇, 위치를 안내하는 안내 로봇 등을 들 수 있다. 특히 청소 로봇의 경우에는 각종 센서와 주행 수단을 구비하여 주행하면서 내부에 구비된 진공 청소 유닛을 이용하여 실내 바닥을 청소하며 현재 다수의 실제 제품이 사용되고 있다.
이들 이동 로봇이 공간에서 효과적으로 위치를 판단하며 이동하기 위해서 이동하고 있는 공간에 대한 지도를 생성하고 공간상의 자신의 위치를 인식하는 것이 요구된다. 이동 로봇이 주변 공간에 대하여 스스로 위치를 인식하고 지도를 형성하는 것을 동시 위치인식 및 지도형성(SLAM : Simultaneous Localization And Mapping)이라고 한다.
SLAM 기법 중에서 영상 기반의 SLAM은 영상에서 추출한 시각 특징점을 이용하여 주변 환경에 대한 지도를 생성하고, 로봇의 자세를 추정한다. 통상적으로 이동 로봇은 자이로스코프와 구동 모터에 구비된 엔코더를 이용하여 추측 항법(dead reckoning)으로 주행하며, 상부에 설치된 카메라를 이용하여 영상을 분석하고 지도를 생성한다. 이때 자이로스코프와 엔코더로부터의 주행 정보에 의한 오차가 발생하는 경우 카메라로부터 획득된 영상 정보를 활용하여 누적되는 오차가 보정된다.
상술한 종래 기술에 따른 자율주행 가능한 이동 로봇은 청소를 시작할 때마다 지도정보를 처음부터 다시 작성하여 위치추정과 청소경로 계획을 수립하고 있고, 과거 청소를 한 영역에서 내부 구조물의 변화가 거의 없는 경우에도 다시 지도정보를 처음부터 다시 작성하여 위치추정과 청소경로 계획을 수립하고 있어 청소시에 많은 시간이 소요된다.
본 발명의 목적은, 상기한 문제점을 해결하기 위하여 과거에 작성된 지도 데이터를 현재 청소시에 이용함으로써, 이동 로봇이 청소시에 청소 영역을 효율적으로 분할하여 청소를 효율적으로 짧은 시간 내에 할 수 있는 과거 지도 데이터 기반 이동 로봇을 제어하는 장치 및 방법을 제공하는 것이다.
본 발명의 일시예들에 따른 과거 지도 데이터 기반 이동 로봇의 제어 방법은, 이동 로봇이 청소시작 명령에 따라 청소를 시작하는 경우 이전 청소시의 시작점의 위치를 파악하는 단계; 이동 로봇이 이동함에 따라 작성된 높이 정보와 장애물 정보를 갖는 2차원 격자 지도의 각 격자의 높이값과 초기 높이값을 이용하여 청소 대상 영역을 다수의 서브 영역으로 분할하는 단계; 및 상기 분할된 서브 영역을 청소하기 위한 청소 커버리지 경로 계획을 수립하는 단계;를 포함한다.
상기 시작점의 위치를 파악하는 단계는, 영상 센서로부터 획득한 영상으로부터 특징점을 추출하는 단계; 기작성된 특징점 지도와 상기 추출된 특징점과의 매칭을 통하여 특징점 후보군을 추출하는 단계; 및 기설정된 거리 이동에 따라 상기 특징점 추출단계와 상기 후보군 추출단계를 반복 수행하여 상기 특징점 후보군에서 상기 시작점을 찾는 단계를 포함하는 것이 가능하다.
상기 시작점의 위치를 파악하는 단계는, 상기 시작점을 찾은 경우에는 상기 기작성된 특징점 지도를 이용하여 상기 청소 대상 영역을 다수의 서브 영역으로 분할하는 것을 특징으로 하는 것이 가능하다.
상기 다수의 서브 영역으로 분할하는 단계는, 상기 2차원 격자지도로부터 위상 정보를 추출하고, 상기 추출된 위상 정보로부터 적어도 말단점, 정션 및 연결선 중 어느 하나를 추출하는 단계; 및 상기 연결선에 근접한 상기 장애물까지의 거리 정보를 계산하고, 상기 거리 정보를 이용하여 방문 정보를 취득하는 단계를 포함하는 것이 가능하다.
상기 방문 정보를 취득하는 단계는, 상기 거리 정보에 대한 히스토그램의 크기가 작아졌다 다시 커지는 영역의 중앙지점으로부터 최소거리가 기설정된 방문거리 이하인 경우에는 해당 영역을 방문 영역으로 설정하는 것이 가능하다.
상기 다수의 서브 영역으로 분할하는 단계는, 상기 설정된 방문 영역을 기준으로 링크 정보를 조합하여 방 영역을 구획하고, 상기 구획된 방 영역에만 포함된 링크 정보를 추출하여 링크가 차지하는 격자의 좌표값을 구하고, 상기 격자의 좌표값을 이용하여 이동 로봇의 청소 방향을 결정하는 것이 가능하다.
본 발명의 일시예들에 따른 과거 지도 데이터 기반 이동 로봇의 제어 장치는, 이동 로봇이 청소시작 명령에 따라 청소를 시작하는 경우 이전 청소시의 시작점의 위치를 파악하고, 이동 로봇이 이동함에 따라 작성된 높이 정보와 장애물 정보를 갖는 2차원 격자 지도의 각 격자의 높이값과 초기 높이값을 이용하여 청소 대상 영역을 다수의 서브 영역으로 분할하는 영상신호 처리부; 및 상기 분할된 서브 영역을 청소하기 위한 청소 커버리지 경로 계획을 수립하는 제어부;를 포함한다.
상기 영상신호 처리부는, 영상 센서로부터 획득한 영상으로부터 특징점을 추출하는 특징점 추출부; 및 기작성된 특징점 지도와 상기 추출된 특징점과의 매칭을 통하여 특징점 후보군을 추출하고, 상기 특징점 후보군에서 상기 시작점을 찾는 랜드마크 매칭부를 포함한다.
상기 제어부는, 상기 2차원 격자지도로부터 위상 정보를 추출하여 적어도 말단점, 정션 및 연결선 중 어느 하나를 추출하고, 상기 연결선에 근접한 상기 장애물까지의 거리 정보를 계산하여 방문 정보를 취득하는 위치 추정부를 포함하는 것이 가능하다.
상기 위치 추정부는, 상기 설정된 방문 영역을 기준으로 링크 정보를 조합하여 방 영역을 구획하고, 상기 구획된 방 영역에만 포함된 링크 정보를 추출하여 링크가 차지하는 격자의 좌표값을 구하고, 상기 격자의 좌표값을 이용하여 이동 로봇의 청소 방향을 결정하는 것이 가능하다.
본 발명의 실시예에 따른 과거 지도 데이터 기반 이동 로봇을 제어하는 장치 및 방법은 실내 자율주행 커버리지 로봇에서 과거의 주행결과 획득된 다수개의 지도를 종합하여 전체 영역을 하나 이상의 서브 영역으로 분할하고 각 서브 영역별로 전체적인 구조와 크기 등을 분석함으로써, 청소의 효율성을 높일 수 있을 뿐만 아니라 청소시간을 줄일 수 있다.
또한, 본 발명의 실시예에 따른 과거 지도 데이터 기반 이동 로봇을 제어하는 장치 및 방법은 서로 다른 자율주행 사이에 인위적인 로봇의 이동이 발생하는 경우에 로봇에 상방향으로 설치된 카메라와 같은 영상획득수단이 받아들인 천정패턴을 이용하여 이동 로봇의 이동 여부를 자동 인식할 수 있다.
또한, 본 발명의 실시예에 따른 과거 지도 데이터 기반 이동 로봇을 제어하는 장치 및 방법은 이차원 지도상에서 특정 서브 영역에 대한 전체적인 구조와 예상되는 장애물의 분포가 주어졌을 때, 빠르고 효율적인 청소를 위한 경로 계획을 수립할 수 있다.
도 1은 본 발명의 실시예에 따른 과거 지도 데이터를 이용한 이동 로봇의 제어하는 장치의 블록도이고,
도 2는 본 발명의 다른 실시예에 따른 과거 지도 데이터 기반 이동 로봇의 제어하는 방법의 순서도이고,
도 3은 비주얼 특징점을 이용한 장애물 최고높이의 추정 원리에 대한 개념도이고,
도 4 내지 도 6은 청소대상 영역의 커버리지 전략 수립을 위한 개념도이고,
도 7은 2차원 공간의 수직 오리엔테이션 정렬을 통한 지도 보정에 대한 개념도이고,
도 8(A) 및 (B)의 각각은 T=0 및 T=n일 때 로봇의 위치 변화에 따른 높이 지도의 변화를 도시한 것이고,
도 9(A)는 높이지도와 격자지도를 병합하여 최종적으로 구한 2차원 격자지도와 이를 이용하여 구한 위상정보를 함께 도시한 것이고, 도 9(B)는 도 9(A)에 도시된 지도에서 각 방문을 중심으로 청소영역을 분할 도시한 것이다.

이하의 실시예들은 본 발명의 구성 요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성 요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성 요소 또는 특징은 다른 구성 요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성 요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
또한, 본 명세서에서 기재한 모듈(module)이란 용어는 특정한 기능이나 동작을 처리하는 하나의 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현할 수 있다.
이하의 설명에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
종래의 자율주행 가능한 로봇 청소기는 청소를 시작할 때마다 지도정보를 처음부터 다시 작성하여 위치추정과 청소경로 계획을 수립하고 있고, 이와 같은 종래 기술에서의 청소방법은 로봇 청소기가 인위적인 이동으로부터 로봇 청소기의 자율주행이 자유로울 수 있도록 한다는 점에서 의미가 있다.
그러나 현실적으로 로봇 청소기는 특정 위치에 설치되어 일상적으로 같은 지역을 청소하게 되며, 로봇 청소기와 도킹 스테이션의 이동은 자주 이루어지지 않는다는 사실을 고려할 때, 이전의 청소기의 주행으로부터 얻어진 정보들의 많은 부분이 다음번 청소시의 주행에서도 변하지 않는다는 것을 알 수 있다. 특히, 청소 대상영역의 크기 및 구조를 '학습'하고 기억함으로써 다음번 청소에서 보다 효율적인 청소 경로를 계획할 수 있는 보다 지능적인 로봇 청소기를 구현할 수 있다.
본 발명에서는 상기와 같이 청소 대상영역을 학습하여 다음번 청소시 자율주행을 효율적으로 수행해나가는 지능형 커버리지 로봇의 구현을 위하여 아래와 같은 새로운 알고리즘을 제안한다.
첫째, 서로 다른 자율주행 사이에 인위적인 로봇의 이동이 발생하는 경우에 로봇에 상방향으로 설치된 카메라와 같은 영상획득수단이 받아들인 천정패턴을 이용하여 청소 로봇의 이동 여부를 자동 인식하는 알고리즘을 제안한다.
둘째, 실내 자율주행 커버리지 로봇에서 과거의 주행결과 획득된 다수개의 지도를 종합하여 전체 영역을 하나 이상의 서브 영역으로 분할하고 각 서브 영역별로 전체적인 구조와 크기 등을 분석하는 알고리즘을 제안한다.
셋째, 이차원 지도상에서 특정 서브 영역에 대한 전체적인 구조와 예상되는 장애물의 분포가 주어졌을 때, 빠르고 효율적인 청소를 위한 경로 계획을 수립하는 알고리즘을 제안한다.
도 1은 본 발명의 실시예에 따른 과거 청소 영역 정보에 기반하여 청소 대상영역을 분할하는 과거 지도 데이터 기반 이동 로봇을 제어하는 장치의 블록도이다.
도 1을 참조하면, 이동 로봇의 청소 영역 분할 장치(100)는 대상 영역의 영상을 획득하여 영상 신호를 처리하는 영상신호 처리부(120)와, 이동 로봇의 주행 경로주변 정보를 받아들이는 센서부(130)와, 영상 신호와 주변 정보에 기초하여 대상 영역의 지도를 작성하는 지도 생성부(140)와, 제어신호에 따라 바퀴부(170)를 구동하는 구동부(160)와, 청소시에 획득한 정보 및 미리 설정된 정보를 저장하는 저장부(150)와, 상기 획득 및 저장된 정보를 이용하여 위치를 추정하는 위치 추정부(111)를 구비하고, 바퀴 구동 제어신호를 출력하는 제어부(110)를 포함한다.
영상신호 처리부(120)는 청소 대상 영역의 영상을 획득하는 영상센서(121)와, 획득된 영상에서 특징점을 추출하는 특징점 추출부(122)와, 획득된 영상의 랜드마크와 지도상의 랜드마크를 매칭하는 랜드마크 매칭부(123)를 포함한다.
영상신호 처리부(120)는 이동 로봇이 위치한 주변 환경에 대한 영상을 취득하는 장치로서, 영상 정보를 획득할 수 있는 영상 센서(121)를 구비하는데, 영상 센서는 CCD(Charge Coupled Device), CMOS(Complementary Metal Oxide Semiconductor) 등과 같은 이미지 센서 또는 카메라로 구현될 수 있다. 본 실시예에 있어서 영상 센서(121)는 상향을 향하도록 배치되어 천장 영상을 획득하도록 배치되며, 바람직하게는 어안 렌즈(fisheye lens)와 같은 광각(wide angle) 렌즈를 구비하여 넓은 범위의 천장 영상을 획득할 수 있도록 할 수 있다.
센서부(130)는 제1 센서(131)와, 제2 센서(132)와, 제3 센서(133)를 구비하는데, 상기 제1,2,3센서들은 충돌 센서(범퍼센서), IR센서, 엔코더 등이 될 수 있다.
도 2는 본 발명의 다른 실시예에 따른 과거 지도 데이터를 이용한 이동 로봇의 지도 작성 방법의 순서도이고, 도 3은 비주얼 특징점을 이용한 장애물 최고높이의 추정 원리에 대한 개념도이고, 도 4 내지 도 6은 청소대상 영역의 커버리지 전략 수립을 위한 개념도이고, 도 7은 2차원 공간의 수직 오리엔테이션 정렬을 통한 지도 보정에 대한 개념도이고, 도 8(A) 및 (B)의 각각은 T=0 및 T=n일 때 로봇의 위치 변화에 따른 높이 지도의 변화를 도시한 것이고, 도 9(A)는 높이지도와 격자지도를 병합하여 최종적으로 구한 2차원 격자지도와 이를 이용하여 구한 위상정보를 함께 도시한 것이고, 도 9(B)는 도 9(A)에 도시된 지도에서 각 방문을 중심으로 청소영역을 분할 도시한 것이다.
이하에서, 도 1 내지 도 9(B)을 참조하여 본 발명의 실시예에 따른 과거 지도 데이터에 기반한 이동 로봇의 제어방법을 상세히 설명하겠다.
본 발명의 실시예에서는 우선, 이동 로봇의 이동 여부의 판단, 작성된 지도정보의 분석, 청소대상 영역의 커버리지 경로 계획에 관하여 설명하고, 상기 작성된 지도정보의 분석 단계에서는 원리, 맵구현, 맵분석에 대하여 세부적으로 설명하겠다. 본 발명의 실시예에서는 이동 로봇(자율주행 로봇)(10)의 일예로 로봇 청소기를 이용하나, 다른 종류의 이동 가능한 자율로봇에도 본 발명의 적용이 가능하다.
1) 초기 위치 파악
제어부(110)는 이동 로봇(10)가 이동 상태에 있는지 여부는 상방향 카메라(121)를 이용하여 판단한다. 이를 위하여, 로봇 청소기는 상방향으로 설치된 카메라와 같은 영상을 획득할 수 있는 영상 센서(121)에서 획득한 이미지 상의 엣지(edge), 라인(line), 코너점(coner points), 밝기와 블럽(blobs) 등의 조명 특성 등에 기초하여 특징값을 추출하여 천정패턴을 기억한다.
판단 목표는 현재의 청소시에 로봇 청소기의 위치가 이전 청소시와 동일한 시작점에 있는지를 판단한다. 판단시점은 로봇 청소기가 자율주행을 시작하기 직전이다.
도 1과 도 2를 참조하여, 초기 위치 파악 과정을 보다 상세히 작성하면 다음과 같다.
사용자 또는 예약 기능 등에 의하여 청소시작 명령이 입력되면, 이동 로봇은 이동 로봇이 위치한 곳에서부터 청소를 시작하게 된다.
그러나 본 실시예에 따르는 경우에, 이동 로봇(10)은 청소 명령을 입력 받으면, 특징점 추출부(122)는 청소를 수행하기 전 또는 청소와 동시에 영상 센서(121)에서 취득한 영상으로부터 엣지, 라인, 코너점, 밝기와 블럽 등의 특징점을 추출한다. 랜드마크 매칭부(123)는 이전 청소시에 생성하여 기등록된 특징점 지도와 상기 추출된 새로운 특징점에 대하여 매칭을 시도하여 후보 특징점군을 추출한다.
이동 로봇(10)은 기설정된 영역 내에서 이동을 시도하여 상기 특징점 추출 과정과 상기 후보군 추출 과정을 반복 수행하고, 상기 추출된 후보 특징점군 중에서 매칭되지 않는 특징점을 점진적으로 삭제하고 최종적으로 남은 후보 특징점들을 이용하여 삼각 측정법(triangulartion)을 실시하여 이동 로봇(10)의 평면 위치 정보(x, y 좌표)와 이동 로봇의 진행 방향 정보(각도, theta)를 추출한다.
2) 지도정보 분석
본 단계의 요지는 랜드마크 매칭부(123)가 천정영상의 랜드마크를 이용한다는 것이다. 지도 작성 장치(100)에 입력되는 정보는 그리드 점유 지도(Grid Occupancy Map, GM), 범퍼 또는 전방 센서로 획득된 정보이다.
- 원리
이동 로봇(10)이 실제 공간에서 A점을 관측할 수 있다면, 그리드 점유 지도상의 B점은 벽이 아닌 장애물이다. 따라서, 이동 로봇의 카메라 위치와 비주얼 특징점 사이의 모든 위치는 비어 있어야 한다.
- 맵 구현
그리드 점유 지도가 특정 이차원 위치에 대하여 장애물의 유무에 관한 정보만 가지고 있는 것이 아니라 높이에 관한 정보를 함께 가지고 있도록 특정 위치에 대한 높이 정보를 갖는 2차원 지도를 작성한다. 예를 들면, 10cm X 10cm 격자는 100 X 100 높이 정보를 포함한 2차원 지도를 작성할 수 있어, 10m X 10m를 커버할 수 있다. 각각의 격자는 일정한 높이값을 갖는다. 높이의 초기값은 충분히 크게하는 것이 바람직하다.
비주얼 특징점이 매번 관측될 때마다 비주얼 특징점과, 카메라 위치를 잇는 모든 높이정보를 갖는 2차원 지도(2HM) 상의 점들의 높이를 계산하여 현재 2HM의 해당 위치 값을 둘 중의 최소값(minumum)으로 업데이트한다. 최종적으로 2HM은 각 2차원 위치에 대하여 최대 가능 높이 값을 가지고 있게된다.
일반적으로 단안 카메라를 이용하는 경우, 각 비주얼 특징점의 불확실성이 매우 큰 추정단계에서는 높이 정보 또한 매우 높은 에러확률을 갖게 된다. 그러므로 본 실시예에 따르면, 비주얼 특징점의 불확실성이 매우 큰 경우 높이 추정단계에서는 높이 정보를 업데이트하지 않고, 추정이 반복되어 랜드마크의 불확실성 타원의 장축의 길이가 기설정된 크기 이하로 작아지면 높이 정보를 업데이트하도록 한다.
또한, 본 실시예에서는 특징점과 이동 로봇을 잇는 직선의 자취를 이용하게 되므로 사용되는 특징점의 개수가 매우 적은 경우에는 높이지도가 매우 지저분하게 추정되는 경향이 있으므로 보조적인 수단을 통하여 조밀한(dense)한 높이지도를 추정한다.
이하에서는 도 8을 참조하여, 상기 높이지도 추정 과정을 더욱 상세하게 설명하겠다.
랜드마크 매칭부(123)는 상기 후보 특징점군 가운데 신뢰도가 높은 특징점을 선택하여 저장한다. 상기 신뢰도는 불확실성 타원의 장축이 기설정된 기준 장축보다 작거나, 비주얼 특징점에 대한 매칭 점수가 높은 경우에 신뢰도가 높다고 판단할 수 있고, 이 경우에는 해당 특징점의 아이디, 타임 스탬프(time-stamp), 및 취득된 영상이 저장된다.
직전 시점에 구한 신뢰도가 높은 특징점 후보가 있는 경우에는, 현재 시점의 특징점과의 관계를 이용하여 상대위치 취득한다. 여기서, “특징점과의 관계”란 연속적으로 취득한 두 영상에서 서로 동일한 특징점을 알 수 있다면 삼각측량을 통하여 카메라의 위치를 대략적으로 결정할 수 있으므로 영상위의 각 특징점의 위치를 의미한다.
스테레오영상 정합은, 기저장된 영상과 최근 영상을 이용하여, 직전 시점에서 구한 상대위치 정보를 이용하여 각 포인트별 3차원 위치 정보 취득하여 수행된다. 즉, 바퀴를 이용하여 로봇의 위치를 알 고 있는 경우(카메라의 위치를 아는 경우)에는 연속으로 획득된 두 장의 영상에서 대응되는 특징점을 찾을 수 있다면, 특징점의 위치 좌표(x, y, z)를 구할 수 있다.
높이지도 업데이트는, 상기에서 구한 높이정보를 베이시안 룰에 따라서 높이지도를 업데이트함으로써 수행된다.
- 맵 분석
각 격자의 높이값이 초기값보다 작으면 이 위치는 장애물이고, 각 격자의 높이값이 초기값이면 이 위치는 벽이다. 이와 같이 지도를 분석한 결과에 기초하여, 장애물 영역을 제외한 벽으로 표시된 격자만을 이용하여 지도를 서브 영역으로 나누어 대략적인 청소 대상 영역의 구조를 추정한다. 즉, 청소 대상 영역의 구조를 문, 복도 청소영역 등으로 분류한다.
아래에서 상술하는 바와 같이, 맵 분석과정에서는 지배적인 방향(dorminant orientation)을 추출하고, 전체 청소 대상 영역을 사각형으로 추정하며, 회전을 통하여 보정하게 된다.
도 9(A)에 도시된 지도는 높이지도와 격자지도를 병합하여 최종적으로 구한 2차원 격자지도와 이를 이용하여 구한 위상정보를 함께 도시한 것이다. 검은색 영역은 장애물이 있거나 벽으로 생각되는 영역이고 파랑색 부분은 로봇이 주행할 수 있는 장애물이 없는 공간이다. 흰색점은 강 영역의 대표되는 중앙점이며 붉은 색 라인은 장애물과의 거리가 일정하면서 흰색지점까지를 연결하는 길이다.
본 발명의 실시예에서는, 청소대상영역을 나누기 위해서 아래와 같은 과정을 수행한다.
상술한 바와 같이, 격자지도와 높이지도를 병합하여 2차원 격자지도 생성하고, 이미지 세선화 과정이나 보로노이(voronoi) 기법을 이용하여 위상정보를 추출하고, 위상정보로부터 말단점(도 9(A) 및 (B)에서 작은 흰색원으로 도시됨), 정션 (도 9(A) 및 (B)에서 큰 흰색원으로 도시됨) 및 연결선 (도 9(A) 및 (B)에서 분홍색 선으로 도시됨)을 추출한다. 그리고 나서, 상기 연결선에 수직하는 방향으로 가장 가까은 장애물까지의 거리를 히스트로그램으로 표시하고, 상기 히스토그램을 이용하여 방문 (door)정보 취득한다.
이하에서는, 상기 히스토그램을 이용하여 방문 (door)정보 취득과정을 더욱 상세히 설명하겠다.
우선, 거리의 크기를 표시하는 히스토그램이 급격하게 작아졌다가 다시 커지는 중앙지점으로부터 최소 거리가 미리 설정한 너비 이하인 경우에는 해당 히스토그램을 이용하여 방문 정보를 취득하고, 이상인 경우에는 방문이 아닌 것으로 판단한다.
상기 과정에서 취득된 방문 (door)정보를 이용하여 방을 구획하고, 방문으로 정의된 지점을 기준으로 링크정보를 조합하여 방을 구획한다. 상기 구획된 방은 도 9(B)에서 가는 붉은색 원으로 표시하였다.
도 9(B)에서, A영역과 B영역은 상기 방으로 구획하는 경우에 대한 예외로서 병합될 수 있다.
상기 취득된 위상정보를 이용하여 청소방향을 결정하며, 청소방향의 구체적인 과정은 아래와 같이 수행된다.
각 방 영역에만 포함되는 링크정보를 추출하며, 이 경우에도 방과 방을 연결하는 링크는 무시한다.
상기 추출된 링크정보는 지도상에서 여러 개의 셀의 조합으로 표현될 수 있으므로 상기 2차원 지도로부터 질량 중심(Center of mass)을 취득하고, 상기 구획된 각 방의 좌표값들이 질량 중심(Center of mass)을 기준으로 어느 방향으로 진행(spread)되어있는지 확인한다. 일반적인 직선 회귀(line regression) 방법 (ransack, least square, pac 등)을 이용하여 직선의 기울기를 구하는 과정과 동일하다.
이동 로봇(10)은 위에서 구한 기울기방향을 주된 청소방향으로 사용한다. 도 9(B)를 참조하여 더욱 상세하게 설명하면, 중심이 A, B, C로 표시된 타원 영역에서와 같이 주된 방향을 결정하기 위해서는 먼저 방문 정보가 취득되고 이 부분을 뺀 나머지 공간 이 추출되며, 이 추출된 공간들은 방이거나 복도가 될 것이다. 상술한 질량중심에 대한 언급은 방이나 복도의 중앙지점을 찾기 위한 방법으로 제시된 것으로서, 예를 들어서 각 영역에서 파랑색은 100으로, 검은색 영역은 0으로 가정하고 이들의 이미지 상에서 질량중심(center of mass)을 구하면 대략적인 중앙지점을 찾을 수 있다.
3) 커버리지 경로 계획
청소계획을 세워서 효율적으로 청소를 수행한다.
여기서, 본 발명이 이동로봇으로 구현될 수 있는 하나의 예로서 로봇 청소기에 적용되어 구현되었으나, 다른 형태의 이동로봇에도 적용될 수 있으며 이와 같은 일실시예가 본 발명을 로봇 청소기로 한정하는 것은 아니다.
구동부(160)는 제어부(110)로부터 구동 제어신호를 받아 본체의 하단에 부착된 좌륜과 우륜을 구비한 바퀴부(170)를 제어하여 이동 로봇이 제어신호에 따른 방향으로 진행하거나 회전 또는 정지하도록 바퀴를 구동한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있다.
100 : 지도 작성 장치 110 : 제어부
111 : 위치 추정부 120 : 영상신호 처리부
121 : 영상 센서 122 : 특징점 추출부
123 : 랜드마크 매칭부 130 : 센서부
131,132,133 : 제1,2,3 센서 140 : 지도 생성부
150 : 저장부 160 : 구동부
170 : 바퀴부

Claims (10)

  1. 이동 로봇이 청소시작 명령에 따라 청소를 시작하는 경우 이전 청소시의 시작점의 위치를 파악하는 단계;
    이동 로봇이 이동함에 따라 작성된 높이 정보와 장애물 정보를 갖는 2차원 격자 지도의 각 격자의 높이값과 초기 높이값을 이용하여 청소 대상 영역을 다수의 서브 영역으로 분할하는 단계; 및
    상기 분할된 서브 영역을 청소하기 위한 청소 커버리지 경로 계획을 수립하는 단계
    를 포함하며,
    상기 다수의 서브 영역으로 분할하는 단계는,
    상기 2차원 격자지도로부터 위상 정보를 추출하고, 상기 추출된 위상 정보로부터 적어도 말단점, 정션 및 연결선 중 어느 하나를 추출하는 단계; 및
    상기 연결선에 근접한 상기 장애물까지의 거리 정보를 계산하고, 상기 거리 정보를 이용하여 방문 정보를 취득하는 단계
    를 포함하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 방법.
  2. 제 1 항에 있어서,
    상기 시작점의 위치를 파악하는 단계는,
    영상 센서로부터 획득한 영상으로부터 특징점을 추출하는 단계;
    기작성된 특징점 지도와 상기 추출된 특징점과의 매칭을 통하여 특징점 후보군을 추출하는 단계; 및
    기설정된 거리 이동에 따라 상기 특징점 추출단계와 상기 후보군 추출단계를 반복 수행하여 상기 특징점 후보군에서 상기 시작점을 찾는 단계
    를 포함하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 방법.
  3. 제 2 항에 있어서,
    상기 시작점의 위치를 파악하는 단계는, 상기 시작점을 찾은 경우에는 상기 기작성된 특징점 지도를 이용하여 상기 청소 대상 영역을 다수의 서브 영역으로 분할하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 방문 정보를 취득하는 단계는, 상기 거리 정보에 대한 히스토그램의 크기가 작아졌다 다시 커지는 영역의 중앙지점으로부터 최소거리가 기설정된 방문거리 이하인 경우에는 해당 영역을 방문 영역으로 설정하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 방법.
  6. 제 5 항에 있어서,
    상기 다수의 서브 영역으로 분할하는 단계는, 상기 설정된 방문 영역을 기준으로 링크 정보를 조합하여 방 영역을 구획하고, 상기 구획된 방 영역에만 포함된 링크 정보를 추출하여 링크가 차지하는 격자의 좌표값을 구하고, 상기 격자의 좌표값을 이용하여 이동 로봇의 청소 방향을 결정하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 방법.
  7. 이동 로봇이 청소시작 명령에 따라 청소를 시작하는 경우 이전 청소시의 시작점의 위치를 파악하고, 이동 로봇이 이동함에 따라 작성된 높이 정보와 장애물 정보를 갖는 2차원 격자 지도의 각 격자의 높이값과 초기 높이값을 이용하여 청소 대상 영역을 다수의 서브 영역으로 분할하는 영상신호 처리부; 및
    상기 분할된 서브 영역을 청소하기 위한 청소 커버리지 경로 계획을 수립하는 제어부
    를 포함하며,
    상기 제어부는,
    상기 2차원 격자지도로부터 위상 정보를 추출하여 적어도 말단점, 정션 및 연결선 중 어느 하나를 추출하고, 상기 연결선에 근접한 상기 장애물까지의 거리 정보를 계산하여 방문 정보를 취득하는 위치 추정부를 포함하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 장치.
  8. 제 7 항에 있어서,
    상기 영상신호 처리부는,
    영상 센서로부터 획득한 영상으로부터 특징점을 추출하는 특징점 추출부; 및
    기작성된 특징점 지도와 상기 추출된 특징점과의 매칭을 통하여 특징점 후보군을 추출하고, 상기 특징점 후보군에서 상기 시작점을 찾는 랜드마크 매칭부
    를 포함하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 장치.
  9. 삭제
  10. 제 7 항에 있어서,
    상기 위치 추정부는, 설정된 방문 영역을 기준으로 링크 정보를 조합하여 방 영역을 구획하고, 상기 구획된 방 영역에만 포함된 링크 정보를 추출하여 링크가 차지하는 격자의 좌표값을 구하고, 상기 격자의 좌표값을 이용하여 이동 로봇의 청소 방향을 결정하는 것을 특징으로 하는 과거 지도 데이터 기반의 이동 로봇 제어 장치.
KR1020110126469A 2010-11-30 2011-11-30 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법 KR101333496B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100120586 2010-11-30
KR1020100120586 2010-11-30

Publications (2)

Publication Number Publication Date
KR20120059428A KR20120059428A (ko) 2012-06-08
KR101333496B1 true KR101333496B1 (ko) 2013-11-28

Family

ID=46610724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110126469A KR101333496B1 (ko) 2010-11-30 2011-11-30 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101333496B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102001415B1 (ko) 2012-06-01 2019-07-18 삼성전자주식회사 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
KR101456172B1 (ko) * 2013-07-29 2014-10-31 인하대학교 산학협력단 이동로봇의 위치인식 장치, 방법 및 이동로봇
US10175688B2 (en) * 2016-01-20 2019-01-08 Yujin Robot Co., Ltd. Apparatus and system for remotely controlling a moving robot and method thereof
CN108983761B (zh) * 2017-06-01 2024-04-09 深圳乐动机器人有限公司 机器人寻找充电装置的方法、系统和机器人
CN108459597B (zh) * 2017-07-26 2024-02-23 炬大科技有限公司 一种用于处理任务区域的任务的移动电子设备以及方法
CN109620059A (zh) * 2018-11-16 2019-04-16 深圳市赛领未来科技有限公司 用于室内的清洁和服务机器人及导航方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090008908A (ko) * 2007-07-19 2009-01-22 엘지전자 주식회사 이동로봇 및 그 동작방법
KR20090013523A (ko) * 2007-08-02 2009-02-05 한양대학교 산학협력단 개선된 청소 로봇 및 이의 제어 방법
KR20090125711A (ko) * 2008-06-02 2009-12-07 웅진코웨이주식회사 로봇 청소기 시스템 및 로봇 청소기 제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090008908A (ko) * 2007-07-19 2009-01-22 엘지전자 주식회사 이동로봇 및 그 동작방법
KR20090013523A (ko) * 2007-08-02 2009-02-05 한양대학교 산학협력단 개선된 청소 로봇 및 이의 제어 방법
KR20090125711A (ko) * 2008-06-02 2009-12-07 웅진코웨이주식회사 로봇 청소기 시스템 및 로봇 청소기 제어 방법

Also Published As

Publication number Publication date
KR20120059428A (ko) 2012-06-08

Similar Documents

Publication Publication Date Title
CN108209741B (zh) 清洁机器人控制方法和清洁机器人
CN108247647B (zh) 一种清洁机器人
KR101333496B1 (ko) 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법
US10953869B2 (en) Automated driving control device, vehicle, and automated driving control method
US20200108499A1 (en) Localization and Mapping Using Physical Features
US8467902B2 (en) Method and apparatus for estimating pose of mobile robot using particle filter
KR101503903B1 (ko) 이동 로봇의 지도 구성 장치 및 방법
CN110874100A (zh) 用于使用视觉稀疏地图进行自主导航的系统和方法
EP1365300A2 (en) Autonomous multi-platform robotic system
JP2018500624A (ja) 移動ロボットにおける光学式走行距離センサの使用のためのシステム及び方法
KR20110011424A (ko) 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇
Dayoub et al. Vision-only autonomous navigation using topometric maps
US20210059493A1 (en) Vacuum cleaner
KR101598385B1 (ko) 직선 정보 기반 장소 인식을 이용한 로봇의 자율주행 방법 및 자율 주행 로봇
CN111679661A (zh) 基于深度相机的语义地图构建方法及扫地机器人
CN111679664A (zh) 基于深度相机的三维地图构建方法及扫地机器人
CN112805647A (zh) 路径规划
CN111609853A (zh) 三维地图构建方法、扫地机器人及电子设备
CN111168685B (zh) 机器人控制方法、机器人和可读存储介质
JP2004133882A (ja) 自律性マルチプラットフォーム・ロボットシステム
CN111609854A (zh) 基于多个深度相机的三维地图构建方法及扫地机器人
KR100906991B1 (ko) 로봇의 비시인성 장애물 탐지방법
KR20180090723A (ko) 로봇 청소기 및 그 제어 방법
CN115981305A (zh) 机器人的路径规划和控制方法、装置及机器人
CN116007623A (zh) 机器人导航方法、装置和计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20161101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171101

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191106

Year of fee payment: 7