KR20220121483A - 지능적 맵 생성 방법 및 그 이동 로봇 - Google Patents
지능적 맵 생성 방법 및 그 이동 로봇 Download PDFInfo
- Publication number
- KR20220121483A KR20220121483A KR1020210025612A KR20210025612A KR20220121483A KR 20220121483 A KR20220121483 A KR 20220121483A KR 1020210025612 A KR1020210025612 A KR 1020210025612A KR 20210025612 A KR20210025612 A KR 20210025612A KR 20220121483 A KR20220121483 A KR 20220121483A
- Authority
- KR
- South Korea
- Prior art keywords
- obstacle
- mobile robot
- information
- sensing
- characteristic information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1656—Program controls characterised by programming, planning systems for manipulators
- B25J9/1664—Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/086—Proximity sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1679—Program controls characterised by the tasks executed
- B25J9/1684—Tracking a line or surface by means of sensors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
일 실시예에 따라, 맵에 기초하여 이동 로봇의 이동 및 미리 설정된 적어도 하나의 동작을 수행하도록 구성된 구동부; 장애물을 센싱하도록 구성된 센싱부; 센싱부를 통해 획득되는 정보에 기초하여 장애물의 위치 정보 및 특성 정보를 결정하고, 위치 정보 및 특성 정보에 기초하여 맵 상에 장애물을 등록하고, 위치 정보에 대응되는 위치에 이동 로봇이 위치하게 되는 경우 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행하도록 구동부를 제어하도록 구성되는 프로세서; 및 장애물의 위치 정보 및 특성 정보를 저장하도록 구성되는 저장부를 포함하는, 이동 로봇이 제공될 수 있다. 일 실시예에 따라 이동 로봇에 의해 수행되는 방법이 제공될 수도 있다. 일 실시예에 따라 이동 로봇에 의해 수행되는 방법을 수행하기 위한 컴퓨터 프로그램을 수록한 컴퓨터 판독 가능 기록매체가 제공될 수도 있다.
Description
본 개시는 지능적으로 물체를 탐지하고 탐지된 물체의 특성을 구분하여 구분된 물체에 대한 정보가 포함된 맵을 지능적으로 생성하기 위한 방법 및 그러한 방법이 구현된 이동 로봇에 대한 발명이다.
로봇은 의료산업, 우주 항공, 조선업, 농업용 등의 산업용 로봇에서 다양하게 제작되어 운용되고 있다. 최근에는 일반 가정용 로봇도 제작됨으로써 일반 가정에서도 로봇을 이용하여 소정의 작업할 수 있도록 로봇 제어 및 제작 기술이 진화하고 있다. 가정용 로봇으로서는 로봇 청소기, 잔디 깎이 로봇 등이 있을 수 있으며 이러한 가정용 로봇은 사용자의 지시에 따라 작업을 수행하기도 한다. 이와 같이 로봇은 스스로 주변을 이동하면서 미리 설정된 소정의 작업을 수행하도록 제어될 수 있다.
예를 들면 가정용 이동 로봇으로서 일반적으로 사용되는 로봇 청소기는 사용자의 조작 없이도 소정 구역을 스스로 주행하면서 소정의 영역의 먼지 등의 이물질을 흡입하거나 바닥의 이물질을 걸레질하여 청소하는 기기이다. 로봇 청소기로서의 이동 로봇은 구역 내에 설치된 장애물을 감지하여 장애물에 접근하거나 회피하여 동작을 수행함으로써 효율적으로 영역을 주행하면서 청소를 수행할 수 있다. 이 외에도 광범위한 영역에서 업무를 수행하기 위한 상업용 이동 로봇이 주행하면서 소정의 업무를 수행할 수 있다.
로봇 청소기는 청소 대상 영역의 먼지나 이물질을 흡입하거나 닦아 청소를 수행하는 기기이다. 일반적으로 로봇 청소기는 사용자의 조작 없이도 소정 구역을 스스로 주행하면서 자동으로 소정의 동작을 수행하는 기기이다. 로봇 청소기는 구역 내에 설치된 장애물을 감지하여 장애물에 접근하거나 회피하여 동작을 수행한다. 이러한 로봇 청소기는 영역을 주행하면서 청소를 수행하는 로봇 청소기가 포함될 수 있다.
로봇 청소기는 소정의 방식으로 이물질을 제거하기 위해 지정된 영역을 이동하는 동작을 수행하게 된다. 로봇 청소기가 동일한 영역을 반복적으로 이동하면서 청소하는 경우 해당 영역의 이물질이 더 많이 제거될 수는 있으나 로봇 청소기가 청소해야 하는 전체 영역을 청소하는 데 소요되는 시간이 길어질 수 있다. 따라서 청소할 것으로 지정된 영역을 효율적으로 이동하도록 로봇 청소기가 제어되는 것이 중요하다.
또한 로봇 청소기는 지정된 영역을 이동하는 과정에서 발견되는 다양한 종류의 물체를 장애물로서 인식하고 장애물을 회피하는 동작을 수행하게 된다. 로봇 청소기는 회피한 장애물의 주변을 이동하면서 지정된 동작을 수행하게 된다.
종래기술로서 한국특허출원번호 제10-2017-0012318호에서는 로봇 청소기가 장애물을 탐지하여 맵에 반영하는 것에 더하여 인식된 장애물을 예측하여 지도에 장애물을 등록하고 주행에 반영하는 기능을 제공하고 있다. 다만 이러한 종래 기술에서는 장애물을 인식하는 기능에 대하여 제공하지만 장애물 등을 포함하는 청소 환경의 변화에 따라 맵을 유지보수하는 기능을 제공하지 못하였으며 이에 따라 사용자의 생활 환경에서 주행하면서 소정의 기능을 수행하는 로봇 청소기로서는 탐지되는 장애물 등의 특성, 위치 등의 변화를 맵에 적극적으로 반영하는 것이 불가능했다.
본 개시는 이동 로봇이 주행 중 탐지하게 되는 장애물에 대한 특성 및 위치를 결정하고, 그 특성에 대응하는 동작을 수행하기 위하여 해당 동작을 위한 장애물을 구분하여 그 특성 및 위치 등을 맵 상에 등록하고, 환경 변화를 감지하여 유지 보수하는 방법 및 그 이동 로봇을 제공하기 위한 것이다.
일 실시예에 따라, 맵에 기초하여 이동 로봇의 이동 및 미리 설정된 적어도 하나의 동작을 수행하도록 구성된 구동부; 장애물을 센싱하도록 구성된 센싱부; 센싱부를 통해 획득되는 정보에 기초하여 장애물의 위치 정보 및 특성 정보를 결정하고, 위치 정보 및 특성 정보에 기초하여 맵 상에 장애물을 등록하고, 위치 정보에 대응되는 위치에 이동 로봇이 위치하게 되는 경우 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행하도록 구동부를 제어하도록 구성되는 프로세서; 및 장애물의 위치 정보 및 특성 정보를 저장하도록 구성되는 저장부를 포함하는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 센싱부는 장애물에 대한 영상 데이터 및 3D 센싱 데이터를 획득하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 3D 센싱 데이터에 기초하여 장애물의 크기를 결정하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 특성 정보는 장애물의 종류 및 크기 중 적어도 하나를 포함하고, 프로세서는 3D 센싱 데이터를 머신러닝(machine learning)으로 미리 학습된 모듈에 입력하여 출력되는 데이터에 기초하여 특성 정보를 결정하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 없는 경우, 영상 데이터에 기초하여 장애물의 종류를 결정하고 3D 센싱 데이터에 기초하여 장애물의 크기를 결정하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 있는 경우, 3D 센싱 데이터에 기초하여 장애물의 종류를 결정하고 종류에 대하여 미리 결정된 크기에 기초하여 장애물의 크기를 결정하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 센싱부를 통해 획득되는 정보에 기초하여 장애물에 대한 영상 데이터를 누적시키도록 구성되고, 누적되는 영상 데이터는 기존에 저장된 영상 데이터가 획득된 방향과 다른 방향에서 획득된 영상 데이터인, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 영상 데이터 및 3D 센싱 데이터에 기초하여 맵 상에 미리 등록된 적어도 하나의 장애물에 대한 정보를 갱신하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 맵에 기초하여 이동하면서 미리 설정된 적어도 하나의 동작의 수행이 완료된 것으로 결정되면 갱신된 정보에 기초하여 적어도 하나의 장애물을 클러스터링(clustering)하고, 적어도 하나의 장애물의 위치 정보 및 특성 정보에 기초하여 맵 상에서의 적어도 하나의 장애물의 윤곽을 결정하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 프로세서는 맵 상에서의 적어도 하나의 장애물 간의 포함 관계 및 인접 관계 중 적어도 하나를 결정하여 저장부에 저장하도록 구성되는, 이동 로봇이 제공될 수 있다.
일 실시예에 따라, 이동 로봇은 송수신부를 더 포함하고, 프로세서는 송수신부를 통해 수신되는 동작 지시 정보에 기초하여 동작을 수행할 대상에 대응하는 목표 장애물, 목표 장애물의 위치 및 목표 장애물에 대하여 수행할 미리 설정된 동작 중 적어도 하나를 결정하여 이동 로봇이 목표 장애물로 이동하여 미리 설정된 동작 중 적어도 하나를 수행하도록 더 구성될 수 있다.
다른 일 실시예에 따라, 이동 로봇이 동작하는 방법에 있어서, 맵에 기초하여 이동 로봇이 이동하면서 미리 설정된 적어도 하나의 동작을 수행하는 단계; 장애물을 센싱하는 단계; 센싱을 통해 획득되는 정보에 기초하여 장애물의 위치 정보 및 특성 정보를 결정하여 저장하는 단계; 위치 정보 및 특성 정보에 기초하여 맵 상에 장애물을 등록하는 단계; 및 위치 정보에 대응되는 위치에 이동 로봇이 위치하게 되는 경우 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행하는 단계를 포함하는, 방법이 제공될 수 있다.
일 실시예에 따른 방법의 센싱하는 단계는, 장애물에 대한 영상 데이터 및 3D 센싱 데이터를 획득하는 단계를 포함할 수 있다.
일 실시예에 따른 방법의 장애물의 위치 정보 및 특성 정보를 결정하고 저장하는 단계는, 3D 센싱 데이터에 기초하여 장애물의 크기를 결정하고 저장하는 단계를 포함할 수 있다.
일 실시예에 따른 방법의 특성 정보는 장애물의 종류 및 크기 중 적어도 하나를 포함하고, 장애물의 위치 정보 및 특성 정보를 결정하여 저장하는 단계는, 3D 센싱 데이터를 머신러닝으로 미리 학습된 모듈에 입력하여 출력되는 데이터에 기초하여 특성 정보를 결정하여 저장하는 단계를 포함할 수 있다.
일 실시예에 따른 방법의 특성 정보를 결정하여 저장하는 단계는, 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 없는 경우, 영상 데이터에 기초하여 장애물의 종류를 결정하고 3D 센싱 데이터에 기초하여 장애물의 크기를 결정하는 단계를 포함하는, 방법이 제공될 수 있다.
일 실시예에 따른 방법의 특성 정보를 결정하여 저장하는 단계는, 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 있는 경우, 3D 센싱 데이터에 기초하여 장애물의 종류를 결정하고 종류에 대하여 미리 결정된 크기에 기초하여 장애물의 크기를 결정하는 단계를 포함하는, 방법이 제공될 수 있다.
일 실시예에 따라 방법은 획득되는 정보에 기초하여 장애물에 대한 영상 데이터를 누적시키는 단계를 더 포함할 수 있고, 누적되는 영상 데이터는 기존에 저장된 영상 데이터가 획득된 방향과 다른 방향에서 획득된 영상 데이터일 수 있다.
일 실시예에 따른 방법은 영상 데이터 및 3D 센싱 데이터에 기초하여 맵 상에 미리 등록된 적어도 하나의 장애물에 대한 정보를 갱신하는 단계를 더 포함할 수 있다.
또 다른 일 실시예에 따라 방법을 실행하기 위한 컴퓨터 프로그램을 수록한 컴퓨터 판독가능 기록매체가 제공될 수 있다.
본 개시에 따라 이동 로봇의 동작 환경의 변화를 감지하여 변화된 환경에 적합한 동작이 적응적으로 수행됨으로써 지능적으로 맵을 생성하고 이에 기초하여 동작 영역이 효율적으로 관리됨으로써 이동 로봇이 동작을 신속하고 효과적으로 수행함으로써 할 수 있다.
본 개시에 따라 이동 로봇의 동작 환경의 변화를 감지하여 변화된 환경에 적합한 동작이 적응적으로 수행됨으로써 변화된 동작 환경에 적합하지 않은 이동 로봇의 동작으로 인해 발생할 수 있는 사고 등의 발생 가능성을 낮출 수 있다.
본 개시에 따라 이동 로봇의 동작 환경의 변화를 감지하여 변화된 환경에 적합한 동작이 적응적으로 수행됨으로써 사용자로부터의 장애물 등에 관련된 명령에 기초하여 변화된 동작 환경 내에서 장애물 위치로 이동하여 장애물의 특성에 적합한 동작을 수행할 수 있다.
도 1은 일 실시예에 따른 이동 로봇의 블록도를 도시한다.
도 2는 일 실시예에 따라 이동 로봇에 의해 수행될 수 있는 방법에 대한 흐름도를 도시한다.
도 3a 및 도 3b는 일 실시예에 따라 장애물 센싱을 통해 획득된 정보에 기초하여 등록된 장애물에 대응하는 위치에서 미리 설정된 동작을 수행하게 되는 이동 로봇의 특징을 설명하기 위한 도면이다.
도 4a 및 도 4b는 일 실시예에 따라 장애물에 대한 센싱 과정에서 영상 데이터 및 3D 센싱 데이터를 획득하여 장애물을 등록하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 장애물의 종류를 결정할 수 있는지 여부에 따라 장애물의 종류 및 크기를 결정하는 방법에 대한 흐름도이다.
도 6a 및 도 6b는 일 실시예에 따라 영상 데이터 및 3D 센싱 데이터 중 적어도 하나를 이용하여 장애물의 크기 및 종류를 결정하여 맵 상에 등록하는 과정을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따라 이동 로봇의 동작이 종료된 이후에 수행될 수 있는 다양한 데이터 처리 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라 장애물의 센싱을 통해 획득되는 영상 데이터 또는 3D 센싱 데이터에 기초하여 장애물의 크기를 나타내는 특성 정보를 결정하는 방식을 설명하기 위한 도면이다.
도 9는 일 실시예에 따라 영상 데이터에 기초하여 장애물의 센싱하여 획득되는 정보를 이용하여 장애물의 위치 정보를 수정하는 과정을 설명하기 위한 도면이다.
도 10은 일 실시예에 따라 방법에 따라 센싱되고 등록된 장애물들 사이의 관계를 나타내는 토폴로지컬 맵(topological map)을 도시한다.
도 11은 일 실시예에 따라 사용자 단말기로부터 수신되는 정보에 기초하여 목표 장애물에 대하여 미리 설정된 동작 중 적어도 하나의 동작을 수행하는 특징을 설명하기 위한 도면이다.
도 2는 일 실시예에 따라 이동 로봇에 의해 수행될 수 있는 방법에 대한 흐름도를 도시한다.
도 3a 및 도 3b는 일 실시예에 따라 장애물 센싱을 통해 획득된 정보에 기초하여 등록된 장애물에 대응하는 위치에서 미리 설정된 동작을 수행하게 되는 이동 로봇의 특징을 설명하기 위한 도면이다.
도 4a 및 도 4b는 일 실시예에 따라 장애물에 대한 센싱 과정에서 영상 데이터 및 3D 센싱 데이터를 획득하여 장애물을 등록하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 장애물의 종류를 결정할 수 있는지 여부에 따라 장애물의 종류 및 크기를 결정하는 방법에 대한 흐름도이다.
도 6a 및 도 6b는 일 실시예에 따라 영상 데이터 및 3D 센싱 데이터 중 적어도 하나를 이용하여 장애물의 크기 및 종류를 결정하여 맵 상에 등록하는 과정을 설명하기 위한 흐름도이다.
도 7은 일 실시예에 따라 이동 로봇의 동작이 종료된 이후에 수행될 수 있는 다양한 데이터 처리 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라 장애물의 센싱을 통해 획득되는 영상 데이터 또는 3D 센싱 데이터에 기초하여 장애물의 크기를 나타내는 특성 정보를 결정하는 방식을 설명하기 위한 도면이다.
도 9는 일 실시예에 따라 영상 데이터에 기초하여 장애물의 센싱하여 획득되는 정보를 이용하여 장애물의 위치 정보를 수정하는 과정을 설명하기 위한 도면이다.
도 10은 일 실시예에 따라 방법에 따라 센싱되고 등록된 장애물들 사이의 관계를 나타내는 토폴로지컬 맵(topological map)을 도시한다.
도 11은 일 실시예에 따라 사용자 단말기로부터 수신되는 정보에 기초하여 목표 장애물에 대하여 미리 설정된 동작 중 적어도 하나의 동작을 수행하는 특징을 설명하기 위한 도면이다.
이하, 실시예들과 관련된 기술 분야의 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 도면을 참조하여 상세히 설명한다. 이하의 실시예들은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
명확한 설명을 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 실시예들의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
실시예들의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 임의의 구성요소 간 "연결", "결합" 또는 "접속"된다고 기재된 경우, 임의의 구성요소 간에 직접적으로 연결되거나 또는 접속될 수 있고 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 개시에서, "포함한다", "구성된다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 개시를 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하에서는, 일 실시예에 따른 로봇 청소기에 대해 설명하도록 한다.
도 1은 일 실시예에 따라 이동 로봇(100)의 블록도를 도시한다. 일 실시예에 따라 이동 로봇(100)은 맵에 기초하여 이동 로봇(100)의 이동 및 미리 설정된 적어도 하나의 동작을 수행하도록 구성된 구동부(110); 장애물을 센싱하도록 구성된 센싱부(120); 센싱부(120)를 통해 획득되는 정보에 기초하여 장애물의 위치 정보 및 특성 정보를 결정하고, 위치 정보 및 특성 정보에 기초하여 맵 상에 장애물을 등록하고, 위치 정보에 대응되는 위치에 이동 로봇(100)이 위치하게 되는 경우 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행하도록 구동부(110)를 제어하도록 구성되는 프로세서(130); 및 장애물의 위치 정보 및 특성 정보를 저장하도록 구성되는 저장부(140)를 포함하는, 이동 로봇(100)이 제공될 수 있다.
일 실시예에 따라 이동 로봇(100)은 구동력을 부여하는 구동부(110)를 통해 주행하면서 미리 설정된 동작들 중 적어도 하나의 동작을 수행할 수 있다. 일 실시예에 따라 센싱부(120)는 이동 로봇(100)의 주행 상태에 대한 정보 및 이동 로봇(100)의 주변 정보 중 적어도 하나를 획득할 수 있다, 일 실시예에 따라 이동 로봇(100)의 프로세서(130)는 설정된 영역에 대한 좌표계 상에서 기준 궤적을 결정하고, 센싱부(120)를 통해 획득된 정보에 따라 이동 로봇(100)의 위치 및 방향 중 적어도 하나를 결정할 수 있다.
일 실시예에 따라 이동 로봇(100)에 포함된 구동부(110)는 문턱과 같은 장애물을 쉽게 타고 넘을 수 있도록 복수의 바퀴를 포함할 수 있다.
일 실시예에 따라 이동 로봇(100)은 구동부(110)에 의해 구동되는 복수의 패드 어셈블리(assembly)를 포함할 수 있다. 일 실시예에 따라 복수의 패드 어셈블리는 모터의 구동력을 통해 회전이 가능한 회전판 및 회전판 하부에 마련되는 패드를 포함할 수 있다.
일 실시예에 따라 구동부(110)에 포함된 복수의 모터로 인해 구동되는 바퀴 및/또는 패드 어셈플리의 동작에 따라 이동 로봇(100)은 앞뒤로 직진 이동하거나, 호 궤적으로 회전 주행하거나 제자리에서 회전하는 등의 다양한 방식으로 주행할 수 있다. 즉, 복수의 모터 각각에 의해 구동되는 바퀴 및/또는 패드 어셈플리의 속도 차이에 따라 이동 로봇(100)이 직진 또는 회전할 수 있다.
일 실시예에 따라 이동 로봇(100)은 이동 로봇(100)의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센싱부(120)를 포함할 수 있다.
일 실시예에 따라 센싱부(120)는 라이더(Light Detection and Ranging: Lidar)를 포함할 수 있다. 라이더는, 레이저(Laser) 광을 매개로, 송신 신호와 수신 신호의 TOF(Time of Flight) 또는 송신 신호와 수신 신호의 위상차(phase difference)를 기초로, 장애물 등 오브젝트를 검출할 수 있다.
일 실시예에 따라 라이더는, 이동 로봇(100)과 오브젝트(예를 들면, 장애물)와의 거리, 상대 속도, 오브젝트의 위치, 오브젝트와의 상대 방향을 검출할 수 있다.
일 실시예에 따라 라이더는, 장애물 감지 센서의 구성 중 일부로써 구비될 수 있다. 또한, 라이더는, 맵(map) 작성을 위한 센서로써 구비될 수도 있다.
한편, 장애물 감지 센서는 이동 로봇의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 프로세서(130)에 전달한다. 이때, 프로세서(130)는, 감지된 장애물의 위치에 따라 이동 로봇(100)의 움직임을 제어할 수 있다.
일 실시예에 따라 센싱부(120)는 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.
자이로 센서는, 이동 로봇(100)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 프로세서(130)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.
일 실시예에 따라 센싱부(120)에 포함되는 이동량 센싱부는 이동에 따른 위치의 변동을 감지하여 이동 로봇(100)의 위치, 예를 들면, 초기 위치로부터의 이동량을 감지하여 실질적으로 이동 로봇(100)의 위치 정보를 검출한다. 일 실시예에 따라 이동량 센싱부는 이동 로봇(100)의 이동량을 감지하기 위하여 구동부(110)에 포함되는 복수의 모터의 회전수를 검출하는 인코더를 포함할 수 있다. 일 실시예에 따라 이동량 센싱부는, 구동부(110)에 포함된 바퀴 및/또는 패드 어셈블리의 회전수를 감지할 수 있다. 일 실시예에 따라 이동량 센싱부는 로터리 엔코더(Rotary Encoder)일 수 있고 회전수를 감지하여 프로세서(130)로 출력할 수 있다. 일 실시예에 따라 프로세서(130)는 회전수를 이용하여 바퀴의 회전 속도를 연산할 수 있다. 또한, 프로세서(130)는 회전수 차이를 이용하여 회전각을 연산할 수 있다. 일 실시예에 따라 프로세서(130)는 RAM, ROM, CPU, GPU(Graphic Processing Unit) 및 버스(BUS) 중 적어도 하나를 포함 할 수 있으며 이는 서로 연결될 수 있다.
가속도 센서는, 이동 로봇(100)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(100)의 변화를 감지한다. 가속도 센서는 주 바퀴나 보조바퀴의 인접 위치에 부착되어, 바퀴의 미끄러짐이나 공회전을 검출할 수 있다.
또한, 가속도 센서는 이동 로봇(100)의 속도 변화를 감지할 수 있다. 즉, 가속도 센서는 속도 변화에 따른 충격량을 검출하여 이에 대응하는 전압 값을 출력한다. 따라서, 가속도 센서는 전자식 범퍼의 기능을 수행할 수 있다.
일 실시예에 따라 센싱부(120)는 이동 로봇(100)의 가속도 정보를 획득하는 자이로스코프(gyroscope), 이동 로봇(100)의 이동량에 대한 정보를 획득하는 이동량 센싱부 및 청소 영역의 장애물을 탐지하는 장애물 센싱부 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라 센싱부(120)는 이동 로봇(100)의 일측을 향해 배치될 수 있다.
일 실시예에 따라 센싱부(120)는 이동 로봇(100)의 전면부에 배치되어, 이동 로봇(100)의 가장 앞쪽이 장애물과 부딪히지 않도록 전방의 장애물이나 지형지물 등을 감지하도록 이루어진다.
일 실시예에 따라 센싱부(120)는 이러한 감지 기능 외에도, 다른 센싱 기능을 추가로 수행하도록 구성될 수 있다.
예로써, 센싱부(120)는 주변의 영상을 획득하기 위한 카메라를 포함할 수 있다. 카메라는 렌즈와 영상 센서(image sensor)를 포함할 수 있다. 또한, 카메라는 이동 로봇(100) 주변의 영상을 제어부가 처리할 수 있는 전기적 신호로 변환하며, 예를 들어 상방 영상에 대응되는 전기적 신호를 프로세서(130)에 전달할 수 있다. 상방 영상에 대응되는 전기적 신호는 프로세서(130)가 이동 로봇(100)의 위치를 검출하는 데 사용될 수 있다.
또한, 센싱부(120)는 이동 로봇(100)의 주행 면상 또는 주행 경로 상의 벽체, 가구, 및 낭떠러지 등의 장애물을 감지할 수 있다. 또한, 센싱부(120)는 배터리 충전을 수행하는 도킹 기기의 존재를 감지할 수 있다. 또한, 센싱부(120)는 천장 정보를 감지하여서, 이동 로봇(100)의 주행 구역 또는 청소 구역을 맵핑(Mapping)할 수 있다.
한편, 센싱부(120)는, 외부 신호 감지 센서, 전방 감지 센서, 낭떠러지 감지 센서, 2차원 카메라 센서 및 3D 센서 중 적어도 하나를 포함할 수 있다.
외부 신호 감지 센서는 이동 로봇(100)의 외부 신호를 감지할 수 있다. 외부 신호 감지 센서는, 일 예로, 적외선 센서(Infrared Ray Sensor), 초음파 센서(Ultra Sonic Sensor), RF 센서(Radio Frequency Sensor) 등일 수 있다.
이동 로봇(100)은 외부 신호 감지 센서를 이용하여 충전 스테이션이 발생하는 안내 신호를 수신하여 충전 스테이션의 위치 및 방향을 확인할 수 있다. 이때, 충전 스테이션은 이동 로봇(100)이 복귀 가능하도록 방향 및 거리를 지시하는 안내 신호를 발신할 수 있다. 즉, 이동 로봇(100)은 충전 스테이션으로부터 발신되는 신호를 수신하여 현재의 위치를 판단하고 이동 방향을 설정하여 충전 스테이션으로 복귀할 수 있다.
한편, 전방 감지 센서는, 이동 로봇(100)의 전방, 구체적으로 이동 로봇(100)의 측면 외주면을 따라 일정 간격으로 설치될 수 있다. 전방 감지 센서는 이동 로봇(100)의 적어도 일 측면에 위치하여, 전방의 장애물을 감지하기 위한 것으로서, 전방 감지 센서는 이동 로봇(100)의 이동 방향에 존재하는 물체, 특히 장애물을 감지하여 검출 정보를 프로세서(130)에 전달할 수 있다. 즉, 전방 감지 센서는, 이동 로봇(100)의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 프로세서(130)에 전달할 수 있다.
전방 감지 센서는, 일 예로, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서 등일 수 있고, 이동 로봇(100)은 전방 감지 센서로 한 가지 종류의 센서를 사용하거나 필요에 따라 두 가지 종류 이상의 센서를 함께 사용할 수 있다.
일 예로, 초음파 센서는 일반적으로 원거리의 장애물을 감지하는 데에 주로 사용될 수 있다. 초음파 센서는 발신부와 수신부를 구비하여, 프로세서(130)는 발신부를 통해 방사된 초음파가 장애물 등에 의해 반사되어 수신부에 수신되는 지의 여부로 장애물의 존부를 판단하고, 초음파 방사 시간과 초음파 수신 시간을 이용하여 장애물과의 거리를 산출할 수 있다.
또한, 프로세서(130)는 발신부에서 방사된 초음파와, 수신부에 수신되는 초음파를 비교하여, 장애물의 크기와 관련된 정보를 검출할 수 있다. 예를 들어, 프로세서(130)는 수신부에 더 많은 초음파가 수신될수록, 장애물의 크기가 큰 것으로 판단할 수 있다.
일 실시예에서, 복수(일 예로, 5개)의 초음파 센서가 이동 로봇(100)의 전방 측면에 외주면을 따라 설치될 수 있다. 이때, 바람직하게 초음파 센서는 발신부와 수신부가 교대로 이동 로봇(100)의 전면에 설치될 수 있다.
즉, 발신부는 본체의 전면 중앙으로부터 좌, 우측에 이격되도록 배치될 수 있고, 수신부의 사이에 하나 또는 둘 이상의 발신부가 배치되어 장애물 등으로부터 반사된 초음파 신호의 수신 영역을 형성할 수 있다. 이와 같은 배치로 센서의 수를 줄이면서 수신 영역을 확장할 수 있다. 초음파의 발신 각도는 크로스토크(crosstalk) 현상을 방지하도록 서로 다른 신호에 영향을 미치지 아니하는 범위의 각을 유지할 수 있다. 또한, 수신부들의 수신 감도는 서로 다르게 설정될 수 있다.
또한, 초음파 센서에서 발신되는 초음파가 상향으로 출력되도록 초음파 센서는 일정 각도만큼 상향으로 설치될 수 있고, 이때, 초음파가 하향으로 방사되는 것을 방지하기 위해 소정의 차단 부재를 더 포함할 수 있다.
한편, 전방 감지 센서는, 전술한 바와 같이, 두 가지 종류 이상의 센서를 함께 사용할 수 있고, 이에 따라, 전방 감지 센서는 적외선 센서, 초음파 센서, RF 센서 등 중 어느 한 가지 종류의 센서를 사용할 수 있다.
일 예로, 전방 감지 센서는 초음파 센서 이외에 다른 종류의 센서로 적외선 센서를 포함할 수 있다.
적외선 센서는 초음파 센서와 함께 이동 로봇(100)의 외주면에 설치될 수 있다. 적외선 센서 역시, 전방이나 측면에 존재하는 장애물을 감지하여 장애물 정보를 프로세서(130)에 전달할 수 있다. 즉, 적외선 센서는, 이동 로봇(100)의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 프로세서(130)에 전달한다. 따라서, 이동 로봇(100)은 본체가 장애물과의 충돌없이 특정 영역 내에서 이동할 수 있다.
한편, 낭떠러지 감지 센서(또는 클리프 센서(Cliff Sensor))는, 다양한 형태의 광 센서를 주로 이용하여, 이동 로봇(100)의 본체를 지지하는 바닥의 장애물을 감지할 수 있다.
즉, 낭떠러지 감지 센서는, 바닥의 이동 로봇(100)의 배면에 설치되되, 이동 로봇(100)의 종류에 따라 다른 위치에 설치될 수 있음은 물론이다. 낭떠러지 감지 센서는 이동 로봇(100)의 배면에 위치하여, 바닥의 장애물을 감지하기 위한 것으로서, 낭떠러지 감지 센서는 상기 장애물 감지 센서와 같이 발광부와 수광부를 구비한 적외선 센서, 초음파 센서, RF 센서, PSD(Position Sensitive Detector) 센서 등일 수 있다.
일 예로, 낭떠러지 감지 센서 중 어느 하나는 이동 로봇(100)의 전방에 설치되고, 다른 두 개의 낭떠러지 감지 센서는 상대적으로 뒤쪽에 설치될 수 있다.
예를 들어, 낭떠러지 감지 센서는 PSD 센서일 수 있으나, 복수의 서로 다른 종류의 센서로 구성될 수도 있다.
PSD 센서는 반도체 표면저항을 이용해서 1개의 p-n접합으로 입사광의 단장거리 위치를 검출한다. PSD 센서에는 일축 방향만의 광을 검출하는 1차원 PSD 센서와, 평면상의 광위치를 검출할 수 있는 2차원 PSD 센서가 있으며, 모두 pin 포토 다이오드 구조를 가질 수 있다. PSD 센서는 적외선 센서의 일종으로서, 적외선을 이용하여, 적외선을 송신한 후 장애물에서 반사되어 돌아오는 적외선의 각도를 측정하여 거리를 측정한다. 즉, PSD 센서는 삼각측량방식을 이용하여, 장애물과의 거리를 산출한다.
PSD 센서는 장애물에 적외선을 발광하는 발광부와, 장애물로부터 반사되어 돌아오는 적외선을 수광하는 수광부를 구비하되, 일반적으로 모듈 형태로 구성된다. PSD 센서를 이용하여, 장애물을 감지하는 경우, 장애물의 반사율, 색의 차이에 상관없이 안정적인 측정값을 얻을 수 있다.
또한, 프로세서(130)는 낭떠러지 감지 센서가 지면을 향해 발광한 적외선의 발광신호와 장애물에 의해 반사되어 수신되는 반사신호 간의 적외선 각도를 측정하여, 낭떠러지를 감지하고 그 깊이를 분석할 수 있다.
한편, 프로세서(130)는 낭떠러지 감지 센서를 이용하여 감지한 낭떠러지의 지면 상태에 따라 통과 여부를 판단할 수 있고, 판단 결과에 따라 낭떠러지의 통과 여부를 결정할 수 있다. 예를 들어, 프로세서(130)는 낭떠러지 감지 센서를 통해 낭떠러지의 존재 여부 및 낭떠러지 깊이를 판단한 다음, 낭떠러지 감지 센서를 통해 반사 신호를 감지한 경우에만 낭떠러지를 통과하도록 한다.
다른 예로, 프로세서(130)는 낭떠러지 감지 센서를 이용하여 이동 로봇(100)의 들림 현상을 판단할 수도 있다.
일 실시예에 따라 센싱부(120)는 이동 로봇(100)의 일면에 구비되어, 이동 중 본체 주변과 관련된 영상 데이터에 대한 정보를 획득하기 위한 적어도 하나의 2차원/3D 센서를 포함할 수 있다.
일 실시예에 따라 센싱부(120)는 이동 로봇(100)의 일면에 구비되어, 이동 중 본체 주변과 관련된 3D 센싱 데이터에 대한 정보를 획득하기 위한 적어도 하나의 3D 센서를 포함할 수 있다. 일 실시예에 따라 3D 센서에는 VCSEL(Vertical Cavity Surface Emitting Laser, 수직 공진 표면 발광 레이저)와 ToF(Time ofFlight, 비행거리측정) 센서 등이 포함될 수 있다.
3D 센서는 이동 로봇(100)의 본체 일면 또는 일부분에 부착되어, 상기 본체의 주위와 관련된 3D 좌표 정보를 생성할 수 있다.
즉, 3D 센서는 이동 로봇(100)과 피촬영 대상체의 원근거리를 산출하는 3D 뎁스 카메라(3D Depth Camera)일 수 있다.
구체적으로, 3D 센서는 본체의 주위와 관련된 2D 영상을 촬영할 수 있으며, 촬영된 2D 영상에 대응되는 복수의 3D 좌표 정보를 생성할 수 있다.
일 실시예에서 3D 센서는 기존의 2D 영상을 획득하는 카메라를 2개 이상 구비하여, 상기 2개 이상의 카메라에서 획득되는 2개 이상의 영상을 조합하여, 3D 좌표 정보를 생성하는 스테레오 비전 방식으로 형성될 수 있다.
구체적으로, 상기 실시예에 따른 3D 센서는 본체의 전방을 향해 하측으로 제1 패턴의 광을 조사하는 제1 패턴 조사부와, 상기 본체의 전방을 향해 상측으로 제2 패턴의 광을 조사하는 제2 패턴 조사부 및 본체의 전방의 영상을 획득하는 영상 획득부를 포함할 수 있다. 이로써, 상기 영상 획득부는 상기 제1 패턴의 광과 상기 제2 패턴의 광이 입사된 영역의 영상을 획득할 수 있다.
또 다른 실시예에서 3D 센서는 단일 카메라와 함께 적외선 패턴을 조사하는 적외선 패턴 방출부를 구비하고, 적외선 패턴 방출부에서 조사된 적외선 패턴이 피촬영 대상체에 투영된 모양을 캡쳐함으로써, 3D 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3D 센서는 IR(Infra Red) 방식의 3D 센서일 수 있다.
또 다른 실시예에서 3D 센서는 단일 카메라와 함께 빛을 방출하는 발광부를 구비하고, 발광부에서 방출되는 레이저 중 피촬영 대상체로부터 반사되는 일부를 수신하며, 수신된 레이저를 분석함으로써, 3D 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3D 센서는 ToF방식의 3D 센서일 수 있다.
구체적으로, 위와 같은 3D 센서의 레이저는 적어도 일방향으로 연장된 형태의 레이저를 조사하도록 구성된다. 일 예에서, 상기 3D 센서는 제1 및 제2 레이저를 구비할 수 있으며, 상기 제1 레이저는 서로 교차하는 직선 형태의 레이저를 조사하고, 제2 레이저는 단일의 직선 형태의 레이저를 조사할 수 있다. 이에 따르면, 최하단 레이저는 바닥 부분의 장애물을 감지하는 데에 이용되고, 최상단 레이저는 상부의 장애물을 감지하는 데에 이용되며, 최하단 레이저와 최상단 레이저 사이의 중간 레이저는 중간 부분의 장애물을 감지하는 데에 이용된다.
다만 이와 같은 3D 센서의 종류는 상술한 종류에 한정하여 해석될 필요는 없으며, 이동 로봇(100) 일면에 배치되어 이동 로봇(100) 주변에 위치한 다양한 종류의 물체의 형상 등을 나타내는 3D 센싱 데이터를 획득하기 위해 통상의 기술자가 채택할 수 있는 다양한 종류의 센서가 포함될 수 있다.
옵티컬 플로우 센서(Optical Flow Sensor)는, 센서 내에 구비된 이미지 센서로부터 입력되는 하방 영상을 변환하여 소정 형식의 영상 데이터를 생성한다. 생성된 영상 데이터는 저장부)에 저장될 수 있다.
또한, 하나 이상의 광원이 옵티컬 플로우 센서에 인접하여 설치될 수 있다. 하나 이상의 광원은, 이미지 센서에 의해 촬영되는 바닥면의 소정 영역에 빛을 조사한다. 즉, 이동 로봇(100)이 바닥면을 따라 특정 영역을 이동하는 경우에, 바닥면이 평탄하면 이미지 센서와 바닥면 사이에는 일정한 거리가 유지된다. 반면, 이동 로봇(100)이 불균일한 표면의 바닥면을 이동하는 경우에는 바닥면의 요철 및 장애물에 의해 일정 거리 이상 멀어지게 된다. 이때 하나 이상의 광원은 조사되는 빛의 양을 조절하도록 프로세서(130)에 의해 제어될 수 있다. 상기 광원은 광량 조절이 가능한 발광 소자, 예를 들어 LED(Light Emitting Diode) 등일 수 있다.
옵티컬 플로우 센서를 이용하여, 프로세서(130)는 이동 로봇(100)의 미끄러짐과 무관하게 이동 로봇(100)의 위치를 검출할 수 있다. 프로세서(130)는 옵티컬 플로우 센서에 의해 촬영된 영상 데이터를 시간에 따라 비교 분석하여 이동 거리 및 이동 방향을 산출하고, 이를 근거로 이동 로봇(100)의 위치를 산출할 수 있다. 옵티컬 플로우 센서를 이용하여 이동 로봇(100)의 하방에 대한 이미지 정보를 이용함으로써, 프로세서(130)는 다른 수단에 의해 산출한 이동 로봇(100)의 위치에 대하여 미끄러짐에 강인한 보정을 할 수 있다.
일 실시예에 따라 프로세서(130)는 구동부(110)를 통해 이동 로봇(100)를 구동시킬 수 있고 센싱부(120)를 통해 획득되는 정보를 수신하여 이동 로봇(100)이 수행할 수 있는 다양한 주행 및 청소 동작을 제어할 수 있다.
일 실시예에 따라 이동 로봇(100)은 사용자에 의한 외력을 통해 이동하는 것이 아닌 스스로 주행하는 자율 주행 기능을 위한 다양한 기능을 이용하여 청소를 수행할 수 있다. 일 실시예에 따라 프로세서(130)는, 센싱부(120)를 통해 획득되는 다양한 정보에 기초하여 추측 항법(Dead Reckoning), SLAM(Simultaneous Localization And Map-building) 등과 같은 종래의 다양한 알고리즘을 통해 맵을 생성하고 센싱된 장애물의 위치를 지정하고 주행하는 데 이용할 수 있다. 일 실시예에 따라 이동 로봇(100)은 이와 같은 알고리즘 등을 수행하기 위한 별도의 센서나 프로세서를 추가적으로 구비할 수도 있다.
도 2는 일 실시예에 따라 이동 로봇(100)에 의해 수행될 수 있는 방법에 대한 흐름도를 도시한다.
S210단계에서는 일 실시예에 따라 이동 로봇(100)은 맵에 기초하여 이동하면서 미리 설정된 적어도 하나의 동작을 수행할 수 있다.
일 실시예에 따라 이동 로봇(100)은 임의의 동작을 개시하면서 맵을 새롭게 생성할 수도 있고, 기존에 생성되어있던 맵을 이용하여 동작을 수행할 수 있다.
일 실시예에 따라 이동 로봇(100)은 이동하면서 맵을 생성 및/또는 갱신하고 장애물에 대한 정보를 생성 및/또는 갱신할 수 있다.
일 실시예에 따라 이동 로봇(100)이 수행할 수 있는 미리 설정된 동작에는 다양한 동작이 포함될 수 있다. 예를 들면, 미리 설정된 동작에는 일반청소모드, 물청소모드, 맵 외곽 이동모드, 장애물 탐지모드, 설정구역 청소모드, 스팟 청소모드, 터보모드, 미리 설정된 위치로의 복귀모드 등 다양한 동작이 포함될 수 있다.
S220단계에서 이동 로봇(100)은 이동하면서 마주치게 되는 장애물을 센싱할 수 있다. 일 실시예에 따라 이동 로봇(100)의 센싱부(120)에 포함된 구성을 통해 장애물을 센싱하여, 장애물에 관련된 다양한 정보를 획득할 수 있다. 일 실시예에 따라 센싱부(120)를 통해 획득되는 정보에는 장애물의 위치를 나타내는 데 이용될 수 있는 정보), 장애물의 특성을 나타내는 데 이용될 수 있는 정보 등이 포함될 수 있다.
S230단계에서 이동 로봇(100)은 센싱을 통해 획득되는 정보에 기초하여 장애물의 위치 정보 및 특성 정보를 결정하여 저장할 수 있다.
일 실시예에 따라 센싱부(120)를 통해 획득되는 정보는 장애물의 위치를 나타내는 위치 정보를 포함할 수 있다. 일 실시예에 따라 위치 정보는 이동 로봇(100)을 기준으로 하는 상대 위치 및/또는 상대 방향을 나타내는 정보와 관련된 것일 수 있다. 일 실시예에 따라 위치 정보는 이동 로봇(100)이 이용할 수 있는 맵 상에서의 장애물의 위치를 나타내는 정보와 관련된 것일 수 있다.
일 실시예에 따라 센싱부(120)를 통해 획득되는 정보는 장애물의 특성을 나타내는 특성 정보를 포함할 수 있다. 일 실시예에 따라 장애물의 특성이란 장애물을 식별하는 데 활용될 수 있는 다양한 정보를 포함할 수 있다. 예를 들면 장애물의 특성 정보에는 장애물의 크기, 장애물의 종류, 장애물의 카테고리, 장애물의 형상, 장애물의 이동성 등 다양한 정보가 포함될 수 있다.
일 실시예에 따라 이동 로봇(100)은 센싱부(120)를 통해 획득되는 정보에 기초하여 결정된 장애물의 위치 정보 및/또는 특성 정보를 저장부(140)에 저장할 수 있다.
S240단계에서 이동 로봇(100)은 일 실시예에 따라 위치 정보 및 특성 정보에 기초하여 맵 상에 장애물을 등록할 수 있다. 일 실시예에 따라 이동 로봇(100)은 이동하면서 생성 중이거나 이미 생성된 맵 상에 장애물을 등록할 수 있고, 장애물을 등록하는 과정에서 장애물의 위치 정보 및 특성 정보를 이용할 수 있다. 일 실시예에 따라 이동 로봇(100)은 장애물의 위치 정보에 기초하여 맵 상에서의 장애물의 위치를 식별하고 맵 상에서 식별된 위치에 장애물을 등록할 수 있다. 일 실시예에 따라 이동 로봇(100)은 맵 상에 등록된 장애물을 통해 이동 및 미리 설정된 작업을 수행할 수 있다. 일 실시예에 따라 등록된 장애물에 대한 정보는 저장부(140) 및/또는 이동 로봇(100)과 연계된 서버의 데이터 베이스에 저장될 수 있다.
S250단계에서 이동 로봇(100)은 장애물의 위치 정보에 대응되는 위치에 이동 로봇(100)이 위치하게 되는 경우 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행할 수 있다.
일 실시예에 따라 이동 로봇(100)이 맵 상에서 이동하면서 이전에 센싱했던 장애물의 위치 정보에 대응되는 위치에 위치하게 되었는지 결정할 수 있다. 일 실시예에 따라 이전에 센싱했던 장애물의 위치에 인접한 위치로 이동한 것으로 결정된 경우, 이동 로봇(100)은 해당 장애물의 특성 정보를 고려하여 해당 장애물의 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행할 수 있다. 즉, 이동 로봇(100)은 장애물의 위치 정보에 기초하여 이전에 센싱했던 장애물의 위치 정보에 대응되는 위치로 이동할 수 있고 해당 장애물이 재차 센싱되는지 결정함으로써, 재차 센싱된 장애물의 특성 정보에 대응하는 것으로 미리 설정된 동작을 해당 장애물에 대하여 수행할 수 있다.
일 실시예에 따라, 이동 로봇(100)은 장애물의 특성 정보에 따른 적응적 동작을 수행하기 위하여 장애물의 특성 정보에 대응하는 동작을 미리 설정할 수 있다. 일 실시예에 따라 장애물의 특성 정보에 따라 미리 설정된 동작은 외부로부터 수신되는 동작 지시 정보에 기초하여 수행될 수 있다. 일 실시예에 따라 프로세서(130)는 장애물의 특성 정보에 대응하는 것으로 미리 설정된 동작은 장애물의 위치 정보에 기초하여 장애물에 인접한 곳에 이동 로봇(100)이 위치하게 된 경우에 수행하도록 구성될 수 있다.
일 실시예에 따라 이동 로봇(300)이 맵 상에서 이동하면서 이전에 센싱했던 장애물의 위치 정보에 대응되는 위치에 위치하게 되어 장애물을 재차 센싱할 수 있다.
도 3a 및 도 3b는 일 실시예에 따라 장애물 센싱을 통해 획득된 정보에 기초하여 등록된 장애물에 대응하는 위치에서 미리 설정된 동작을 수행하게 되는 이동 로봇(300)의 특징을 설명하기 위한 도면이다. 도 3a 및 도 3b의 이동 로봇(300)은 도 1의 이동 로봇(100)에 대응될 수 있다.
일 실시예에 따라 이동 로봇(300)은 맵(30)을 생성하고 맵(30) 상에서의 이동 경로를 설정하고 이에 따라 이동할 수 있다. 일 실시예에 따라 이동 로봇(300)은 맵(30) 상에서 장애물을 등록할 수 있다. 등록된 장애물의 위치 및/또는 등록된 장애물의 특성에 대한 정보는 위치 정보 및/또는 특성 정보로서 해당 장애물과 관련하여 함께 등록되어 저장될 수 있다.
도 3a를 참조하면, 이동 로봇(300)은 맵(30)에 기초하여 이동하면서 미리 설정된 동작을 수행할 수 있으며, 이동 과정에서 장애물(320)을 만날 수 있다. 일 실시예에 따라 이동 로봇(300)은 센싱부(120)를 통해 장애물(320)을 센싱(310)하여 장애물(320)에 관련된 다양한 정보를 획득할 수 있다. 일 실시예에 따라 이동 로봇(300)은 장애물(320)에 관련된 정보를 획득하여 장애물(320)에 대한 위치 정보 및/또는 특성 정보를 결정하여 저장할 수 있다. 일 실시예에 따라 이동 로봇(300)은 장애물에 대한 위치 정보 및/또는 특성 정보를 결정하여 저장함으로써 장애물(320)을 맵(30)과 연관하여 등록시킬 수 있다. 즉, 장애물(320)의 위치 정보에 기초하여 장애물(320)이 맵(30) 상의 특정 위치에 등록될 수 있으며, 특정 위치에 등록된 장애물의 특성은 특성 정보에 기초하여 파악될 수 있다.
일 실시예에 따라 이동 로봇(300)은 장애물(320)을 센싱하여 등록하고 장애물(320)을 피해 주변으로 이동하여 장애물(320)에서 벗어날 수 있다. 일 실시예에 따라 장애물(320)에 의해 이동 로봇(300)의 이동이 방해받는 영역은 장애물(320)과 지면이 맞닿는 영역에 해당할 수 있으므로, 이동 로봇(300)은 장애물(320)을 센싱하여 등록하고, 장애물(320)에 의해 이동 로봇(300)의 이동이 방해받는 영역만을 피해 장애물(320)이 위치하는 영역에서 미리 설정된 동작을 수행할 수도 있다. 예를 들면, 이동 로봇(300)은 장애물(320)을 센싱하고 장애물(320)의 특성 정보에 따라 장애물(320)의 종류가 테이블인 것으로 결정할 수 있다. 일 실시예에 따라 장애물(320)이 테이블인 것으로 결정된 경우 이동 로봇(300)은 테이블 다리에 해당하는 부분 외의 나머지 부분(테이블 하단)에 대하여 미리 설정된 동작을 수행할 수 있다.
도 3b를 참조하면, 이동 로봇(300)은 장애물(320)을 센싱(310)한 이후 장애물(320)을 지나 다른 영역으로 이동하여 미리 설정된 동작을 수행할 수 있다. 장애물(320)을 센싱(310)한 이후에 이동하는 과정에서 다시 장애물(320)이 위치한 곳으로 되돌아와 재차 센싱(360)하는 경우가 발생할 수 있다. 일 실시예에 따라 재차 센싱(360)하는 것은 이전에 센싱(310)된 상대 위치 및/또는 상대 각도와 동일 또는 상이한 상대 위치 및/또는 상대 각도에서 재차 센싱(360)하는 것일 수 있다. 도 3b는 일 실시예에 따라 이전에 센싱(310)된 상대 위치 및/또는 상대 각도와 상이한 상대 위치 및/또는 상대 각도에서 재차 센싱(360)되는 것을 도시한다.
일 실시예에 따라 이동 로봇(300)은 장애물(320)에 대하여 센싱(310)한 이후에 재차 센싱(360)함으로써 다양한 방향에서 장애물(320)에 대한 정보를 획득할 수 있다. 일 실시예에 따라 이동 로봇(300)은 센싱부(120)를 통해 장애물(320)에 대한 영상 데이터 및/또는 3D 센싱 데이터를 획득할 수 있다. 따라서 이동 로봇(300)은 재차 센싱(360)함으로써 다양한 각도에서 장애물(320)에 대한 영상 데이터 및/또는 3D 센싱 데이터를 획득할 수 있다.
일 실시예에 따라 이동 로봇(300)은 장애물(320)을 센싱하여 등록하고 장애물(320)을 피해 주변으로 이동하여 장애물(320)에서 벗어날 수 있다. 일 실시예에 따라 장애물(320)에 의해 이동 로봇(300)의 이동이 방해받는 영역은 장애물(320)과 지면이 맞닿는 영역에 해당할 수 있으므로, 이동 로봇(300)은 장애물(320)을 센싱하여 등록하고, 장애물(320)에 의해 이동 로봇(300)의 이동이 방해받는 영역만을 피해 장애물(320)이 위치하는 영역에서 미리 설정된 동작을 수행할 수도 있다. 예를 들면, 이동 로봇(300)은 장애물(320)을 센싱하고 장애물(320)의 특성 정보에 따라 장애물(320)의 종류가 테이블인 것으로 결정할 수 있다. 일 실시예에 따라 장애물(320)이 테이블인 것으로 결정된 경우 이동 로봇(300)은 테이블 다리에 해당하는 부분 외의 나머지 부분(테이블 하단)에 대하여 미리 설정된 동작을 수행할 수 있다.
도 4a 및 도 4b는 일 실시예에 따라 장애물(410)에 대한 센싱 과정에서 영상 데이터 및 3D 센싱 데이터를 획득하여 장애물(410)을 등록하는 과정을 설명하기 위한 도면이다. 도 4a 및 도 4b의 이동 로봇(400, 450a, 450b, 450c)은 도 1의 이동 로봇(100)에 대응될 수 있다.
일 실시예에 따라 이동 로봇(400)의 센싱부(120)는 3D 센서를 포함할 수 있고 센싱부(120)는 장애물(410)을 센싱(405)하여 장애물(410)의 형태, 크기 등을 나타낼 수 있는 3D 센싱 데이터를 획득할 수 있다. 일 실시예에 따라 3D 센싱 데이터는 소정의 크기(NxM)를 가지는 그리드 셀(grid cell)(420)과 같은 형식으로 표현될 수 있다. 일 실시예에 따라 이동 로봇(400)은 3D 센싱 데이터에 기초하여 장애물(410)의 특성 정보를 결정할 수 있다. 일 실시예에 따라 3D 센싱 데이터는 머신러닝으로 미리 학습된 모듈에 입력될 수 있으며, 모듈에서는 3D 센싱 데이터의 입력에 대한 응답으로서 데이터를 출력할 수 있으며 이러한 출력 데이터에 기초하여 장애물(410)의 특성 정보가 결정될 수 있다. 일 실시예에 따라 머신 러닝으로 미리 학습된 모듈은 3D DNN(Deep Neural Network) 등과 같은 입력 데이터가 나타내는 오브젝트를 식별할 수 있는 알고리즘 등과 관련된 다양한 종류의 머신 러닝 모듈이 포함될 수 있다.
도 4b를 참조하면 일 실시예에 따라 이동 로봇(450a, 450b, 450c)은 장애물(410)에 대한 다양한 상대 방향에서 센싱(455a, 455b, 455c)을 수행하여 장애물(410)에 대한 다양한 방향에서의 영상 데이터를 획득할 수 있다. 일 실시예에 따라 이동 로봇(450a, 450b, 450c)은 미리 설정된 동작을 수행하는 과정에서 다양한 방향으로 장애물(410)에 인접하게 위치될 수 있고 다양한 방향에서 센싱(455a, 455b, 455c)을 수행할 수 있다. 다양한 방향에서 수행되는 센싱(455a, 455b, 455c)을 통해 이동 로봇(450a, 450b, 450c)은 장애물(410)에 대한 특성 정보를 생성 및 갱신할 수 있다. 즉, 처음 센싱(예를 들면, 455a)하여 생성된 특성 정보는 이후에 재차 센싱(455b, 455c)되는 과정을 통해 더욱 상세한 특성 정보로서 갱신될 수 있다. 예를 들면, 이동 로봇(450a, 450b, 450c)은 다양한 방향에서의 센싱(455a, 455b, 455c)을 통해 장애물(410)의 크기, 종류, 카테고리 등을 더욱 자세히 결정할 수 있다.
도 5는 일 실시예에 따라 장애물의 종류를 결정할 수 있는지 여부에 따라 장애물의 종류 및 크기를 결정하는 방법에 대한 흐름도이다. 도 5의 S510, S540 및 S550 과정에 대한 특징은 도 2의 S210, S240 및 S250 과정에 대한 특징과 동일하거나 유사할 수 있으므로 자세한 설명은 생략한다.
S520단계에서 이동 로봇(100)은 일 실시예에 따라 센싱부(120)를 통해 장애물을 센싱하여 위치 정보, 영상 데이터 및 3D 센싱 데이터를 획득할 수 있다. 일 실시예에 장애물의 위치 정보, 영상 데이터 및 3D 센싱 데이터를 획득하는 과정에 대한 설명은 상술한 실시예들을 통해 구현될 수 있다.
일 실시예에 따라 이동 로봇(100)은 S520단계에서 획득된 정보 중 3D 센싱 데이터를 머신 러닝으로 미리 학습된 모듈에 입력하여 출력되는 데이터에 기초하여 장애물의 종류를 결정할 수 있다. 일 실시예에 따라 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 있는지 여부는 장애물의 종류에 따라 다르게 결정될 수 있다.
일 실시예에 따라 이동 로봇(100)은 장애물의 종류, 크기, 타입(예를 들면, 이동성, 위험성 등) 등에 대한 관계를 미리 설정하여 저장할 수 있으며, 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 있는 경우라면 장애물의 종류에 대응하여 미리 설정된 장애물의 크기, 타입 등과 같은 장애물의 특징을 나타내는 다양한 정보를 특성 정보로서 결정할 수 있다. 일 실시예에 따라 장애물의 종류, 크기, 타입(예를 들면, 이동성, 위험성 등) 등에 대한 관계를 미리 설정한 결과는 아래 표 1과 같이 표현될 수 있다.
S522단계에서 이동 로봇(100)은 일 실시예에 따라 3D 센싱 데이터에 기초하여 장애물의 종류를 결정할 수 있는지 여부를 결정할 수 있다.
일 실시예에 따라 3D 센싱 데이터에 기초하여 결정된 장애물의 종류를 결정할 수 있는 경우, S524단계에서 이동 로봇(100)은 3D 센싱 데이터에 기초하여 장애물의 크기 및 종류를 나타내는 특성 정보를 결정할 수 있다. 즉, 이동 로봇(100)은 3D 센싱 데이터에 기초하여 결정된 장애물의 종류를 결정할 수 있는 경우라면 결정된 장애물의 종류에 대응하여 미리 설정된 장애물의 크기를 매칭시켜서 장애물의 크기를 추정할 수 있다. 이동 로봇(100)은 3D 센싱 데이터에 기초하여 결정된 장애물의 종류 및 그에 기초하여 추정된 장애물의 크기에 기초하여 장애물의 특성 정보를 결정할 수 있다.
일 실시예에 따라 S522단계에서 3D 센싱 데이터에 기초하여 결정된 장애물의 종류를 결정할 수 없는 경우, 이동 로봇(100)은 S526단계에서 영상 데이터에 기초하여 장애물의 종류를 결정하고 3D 센싱 데이터에 기초하여 장애물의 크기를 결정하여 장애물의 크기 및 종류를 나타내는 특성 정보를 결정할 수 있다. 일 실시예에 따라 이동 로봇(100)은 센싱부(120)를 통해 획득되는 영상 데이터에 기초하여 장애물의 종류를 결정할 수 있다. 일 실시예에 따라 영상 데이터에 기초하여 장애물의 종류를 식별하기 위해 이동 로봇(100)은 머신러닝을 통해 미리 학습된 모듈에 영상 데이터를 입력하여 출력되는 결과를 이용할 수 있다. 일 실시예에 따라 영상 데이터에 기초하여 결정된 장애물의 종류 및 3D 센싱 데이터에 기초하여 해당 장애물의 크기, 타입(예를 들면, 이동성, 위험성 등) 등에 대한 관계를 미리 설정한 결과는 아래 표 2과 같이 표현될 수 있다.
일 실시예에 따라 이동 로봇(100)이 이용할 수 있는 머신 러닝 모듈에서는 CNN(convolutional Neural Network), RNN(Recurrent Neural Network), LSTM(Long Short Term Memory) 등 다양한 모델이 활용될 수 있다.
일 실시예에 따라 이동 로봇(100)은 영상 데이터에 기초하여 장애물의 종류가 결정하고 장애물의 크기는 3D 센싱 데이터로부터 획득되는 장애물의 형상 등에 대한 정보에 기초하여 결정할 수 있다.
S530 단계에서 이동 로봇(100)은 일 실시예에 따라 S524단계 또는 S526단계를 통해 결정된 장애물의 위치 정보 및 특성 정보를 저장부(140) 및/또는 외부 서버의 데이터베이스에 저장할 수 있다. 저장된 장애물의 위치 정보 및 특성 정보는 맵 상에 장애물을 등록하는 데 이용될 수 있고, 이동 로봇(100)의 이동 및 미리 설정된 동작 과정에서 갱신될 수 있다.
도 6a 및 도 6b는 일 실시예에 따라 영상 데이터 및 3D 센싱 데이터 중 적어도 하나를 이용하여 장애물의 크기 및 종류를 결정하여 맵 상에 등록하는 과정을 설명하기 위한 흐름도이다.
도 6a를 참조하면, 이동 로봇(100)은 맵에 기초하여 이동 및/또는 미리 설정된 적어도 하나의 동작을 시작할 수 있다.
일 실시예에 따라 이동 로봇(100)은 3D 센서를 통해 장애물의 종류를 판단할 수 있는지 결정할 수 있다. 일 실시예에 따라 장애물의 종류가 3D 센서를 통해 장애물의 종류가 결정될 수 있는 경우, 장애물의 종류를 판단하기 위해 센싱부(120)를 통해 획득된 영상 데이터(RGB 이미지)가 추가적으로 이용될 수 있다. 해당 장애물에 대한 영상 데이터는 누적하여 장애물 종류의 결정에 활용될 수 있다. 일 실시예에 따라 획득된 영상 데이터는 영상인식DNN을 통해 장애물의 종류를 결정하는 데 이용될 수 있다.
일 실시예에 따라 이동 로봇(100)은 3D 센서를 통해 장애물의 종류를 판단할 수도 있고 영상 데이터에 기초하여 장애물의 종류가 판단될 수도 있는 경우 선택적으로 임의의 데이터에 기초하여 장애물의 종류를 결정할 수 있다.
일 실시예에 따라 재차 센싱되어 획득된 장애물에 대한 영상 데이터는 장애물에 대한 위치 및/또는 방향과 관련하여 획득된 영상 데이터로서 데이터 베이스에 저장될 수 있다.
일 실시예에 따라 이동 로봇(100)은 맵에 기초하여 이동 및/또는 미리 설정된 동작을 수행하면서 센싱된 장애물에 대한 정보에 기초하여 장애물을 맵 상에 등록할 수 있다. 등록된 장애물은 맵 상에서 장애물의 위치, 형상, 크기 등이 설정될 수 있다. 일 실시예에 따라 이동 로봇(100)은 미리 설정된 동작을 수행하는 과정에서 장애물의 등록을 위한 로우(raw) 맵을 생성하여 개시된 동작 과정에서 장애물 등록에 이용할 수 있다. 일 실시예에 따라 이동 로봇(100)은 맵에 기초하여 이동 및/또는 미리 설정된 동작을 수행하면서 획득되는 정보에 기초하여 장애물 로우 맵의 정보를 갱신해 나갈 수 있다.
도 6b를 참조하면, 이동 로봇(100)은 도 6a와는 달리 일 실시예에 따라 이동 로봇(100)은 3D 센서를 통해 장애물의 종류를 판단할 수 있다면 영상 데이터에 기초하여 장애물의 종류가 판단될 수 있는 경우와는 무관하게 3D 센서를 통해 획득된 3D 센싱 데이터에 기초하여 장애물의 종류를 우선적으로 결정할 수 있다. 일 실시예에 따라 3D 센싱 데이터에 기초하여 장애물의 종류가 결정되는 경우 이동 로봇(100)은 미리 설정된 장애물의 종류, 크기, 타입 등에 대한 관계에 기초하여 센싱된 장애물의 특성 정보(예를 들면, 크기)를 결정할 수 있다. 일 실시예에 따라 이동 로봇(100)은 센싱부(120)를 통해 획득되는 정보에 기초하여 특성 정보를 추정하고, 이에 따라 장애물의 위치/크기/형상 등을 결정하여 장애물과 연관시켜서 장애물 맵 상에 등록시킬 수 있다.
일 실시예에 따라 이동 로봇(100)은 맵에 기초하여 수행하는 미리 설정된 동작이 종료되었는지 여부를 결정할 수 있다. 일 실시예에 따라 동작이 종료되지 않은 것으로 결정되는 경우 이동 로봇(100)은 계속하여 이동 및/또는 미리 설정된 동작을 수행하면서 센싱되는 장애물의 등록 과정을 재귀적으로 수행할 수 있다.
도 7은 일 실시예에 따라 이동 로봇(100)의 동작이 종료된 이후에 수행될 수 있는 다양한 데이터 처리 과정을 설명하기 위한 도면이다.
일 실시예에 따라 이동 로봇(100)의 이동 및/또는 미리 설정된 동작이 종료된 것이라고 결정되는 경우, 이동 로봇(100)은 획득된 장애물에 대한 정보를 클러스터링(clustering) 할 수 있다. 이동 로봇(100)은 클러스터링된 장애물에 대한 정보에 대한 아웃라이어(outlier) 제거 과정을 수행할 수 있다. 아웃라이어 제거된 장애물에 대한 정보는 이동 로봇(100)이 장애물에 관한 위치/특성 정보를 반영한 장애물 히트(heat) 맵 상에 갱신함으로써 노이즈가 제거된 정확한 장애물에 대한 정보를 이용하여 히트 맵 상에서 갱신할 수 있다.
일 실시예에 따라 이동 로봇(100)은 아웃라이어 제거된 장애물에 대한 정보에 따라 갱신된 장애물 히트 맵을 이용하여 장애물의 외곽 영역을 결정할 수 있다. 장애물의 외곽 영역은 이동 로봇(100)이 추후에 다시 이동 및/또는 미리 설정된 동작을 수행할 때 맵 상에 반영되어 이동 로봇(100)이 더욱 정확한 장애물 센싱 및 회피를 통한 작업의 효율성을 증대시키는 효과가 도출될 수 있다.
일 실시예에 따라 이동 로봇(100)은 장애물 히트 맵에 저장된 장애물에 관한 정보를 이용하여 맵 상의 다양한 공간 및 공간 내의 오브젝트 간 관계를 추정하고 이에 기초한 장애물 토폴로지(topology) 맵을 생성 및/또는 갱신할 수 있다.
도 8은 일 실시예에 따라 장애물의 센싱을 통해 획득되는 영상 데이터 또는 3D 센싱 데이터에 기초하여 장애물의 크기를 나타내는 특성 정보를 결정하는 방식을 설명하기 위한 도면이다.
일 실시예에 따라 이동 로봇(100)이 수행하는 미리 설정된 적어도 하나의 동작의 종료 이후에 이동 로봇(100)은 장애물에 대한 위치 정보 및/또는 특성 정보를 저장하기 위하여 장애물 히트 맵을 생성 및/또는 갱신할 수 있다. 일 실시예에 따라 장애물 히트 맵은 이동 로봇(100)이 장애물을 센싱하는 과정을 통해 생성 및/또는 갱신될 수 있다. 예를 들면, 이동 로봇(100)에 의해 센싱된 장애물(800, 850)에 대한 위치 정보 및/또는 특성 정보에 기초하여 장애물 히트 맵 상의 특정 위치에 장애물의 크기 등에 따라 윤곽이 설정될 수 있다. 일 실시예에 따라 이동 로봇(100)은 특정 위치에서 장애물이 센싱되는 횟수에 기초하여 윤곽을 설정할 수 있다. 예를 들면, 특정 위치에서 장애물이 센싱되는 횟수에 대한 정보는 장애물 히트 맵의 각 픽셀에 할당될 수 있으며, 장애물 히트 맵을 표시할 때 센싱되는 횟수에 기초하여 픽셀의 표시 형식이 달라질 수 있다(예를 들면, 세싱되는 횟수가 많은 픽셀은 진하게 표시함). 일 실시예에 따라 센싱되는 횟수에 기초하여(예를 들면, 센싱되는 횟수가 미리 설정된 임계 횟수를 초과하는 픽셀을 결정하여) 장애물의 윤곽 정보가 결정될 수 있고, 장애물 윤곽 정보는 장애물 히트 맵 상에 등록되어 장애물의 윤곽이 맵 상에 표시될 수 있다.
일 실시예에 따라 이동 로봇(100)은 장애물을 센싱하여 획득되는 정보에 기초하여 장애물의 형태, 크기, 부피 중 적어도 하나를 포함하는 장애물 윤곽 정보를 생성하여 맵 상에 등록할 수 있다. 일 실시예에 따라 이동 로봇(100)은 센싱부(120)를 통해 획득되는 영상 데이터 및/또는 3D 센싱 데이터에 기초하여 장애물 윤곽 정보를 생성할 수 있다.
일 실시예에 따라 장애물의 윤곽 정보를 생성하는 방식은 3D 센싱 데이터에 기초하여 장애물의 종류를 추정할 수 있는지 여부에 따라 다를 수 있다.
일 실시예에 따라 3D 센싱 데이터에 기초하여 장애물의 종류를 추정할 수 있는 경우, 이동 로봇(100)은 장애물의 종류에 대응하여 미리 설정된 장애물의 형태, 크기, 부피 등과 같은 장애물의 특징을 나타내는 다양한 정보를 특성 정보에 기초하여 추정된 장애물의 형태, 크기, 부피를 결정할 수 있다. 도 8을 참조하면 장애물(800)은 3D 센싱 데이터에 기초하여 장애물의 종류를 추정할 수 있고, 이동 로봇(100)은 추정된 장애물의 종류에 대응하여 미리 설정된 장애물의 특성 정보에 기초하여 장애물 히트 맵 상에 장애물의 윤곽 정보를 등록할 수 있다. 이에 따라 이동 로봇(100)은 장애물 히트 맵 상에 장애물의 윤곽 정보를 등록하기 위해 장애물 히트 맵 상 각 픽셀 별로 장애물이 센싱되는 횟수를 반영하지 않을 수 있다. 일 실시예에 따라 3D 센싱 데이터에 기초하여 장애물 히트 맵 상에 등록된 장애물 윤곽 정보는 추후 이동 로봇(100)의 추가적인 센싱 과정을 통해 센싱되는 횟수를 고려하여 갱신될 수 있다. 즉, 이동 로봇(100)이 이동하는 과정에서 재차 장애물이 센싱되는 과정을 통해 장애물 히트 맵 상에 등록된 장애물의 윤곽 정보는 수정될 수 있다.
일 실시예에 따라 3D 센싱 데이터에 기초하여 장애물의 종류를 추정할 수 없는 경우, 이동 로봇(100)은 센싱부(120)를 통해 획득되는 영상 데이터에 기초하여 장애물의 종류를 결정하고 센싱부(120)를 통해 획득되는 3D 센싱 데이터에 기초하여 장애물의 크기, 부피 등에 대한 특성 정보를 결정할 수 있다. 실시예에 따라 이동 로봇(100)은 3D 센싱 데이터에 기초하여 추정된 장애물의 종류와 관련하여 미리 설정된 장애물의 크기 등에 대한 정보를 이용할 수 없는 경우, 장애물에 대한 센싱을 통해 획득되는 영상 데이터 및/또는 3D 센싱 데이터를 누적하여 장애물의 크기 등에 대한 특성 정보를 결정할 수 있다.
도 8을 참조하면, 이동 로봇(100)은 장애물(850)를 센싱하는 과정을 재차 수행하면서 이동할 수 있으며, 이동하면서 센싱되는 장애물(850)에 대한 정보를 누적시켜 장애물(850)의 윤곽 정보를 결정해 나갈 수 있다. 이동 로봇(100)이 장애물(850)의 주변을 이동하여 센싱을 완료하는 경우 장애물(850)의 윤곽 정보가 결정될 수 있다.
일 실시예에 따라 센싱된 장애물(850)의 윤곽을 결정하기 위해 이동 로봇(100)은 센싱된 장애물(850)의 윤곽을 따라 우선적으로 이동할 수 있다.
일 실시예에 따라 이동 로봇(100)은 장애물(850)이 센싱되더라도 장애물(850)의 주변을 우선적으로 이동하지 않고 맵 상에서 수행하여야 하는 것으로 미리 설정된 동작을 수행하는 과정에서 장애물(850)을 재차 센싱할 수 있고 재차 센싱하는 과정을 통해 다양한 상대 방향에서 획득되는 영상 데이터를 누적시켜서 장애물(850)의 윤곽 정보를 결정할 수 있다.
도 9는 일 실시예에 따라 영상 데이터에 기초하여 장애물의 센싱하여 획득되는 정보를 이용하여 장애물의 위치 정보를 수정하는 과정을 설명하기 위한 도면이다.
일 실시예에 따라 이동 전(#1)에 맵 상에 센싱되었던 장애물(900)이 이동(#2)하게 되는 경우 이동 후(#3) 장애물(950)에 대한 위치 정보 및/또는 특성 정보가 갱신되지 못하는 경우 이동 로봇(100)의 이동 및 미리 설정된 동작 수행의 효율성이 떨어지게 된다. 따라서 일 실시예에 따라 이동 로봇(100)은 맵 상에서 센싱되었던 장애물(900)이 센싱되지 않는 경우 맵 상에서 장애물(900)의 위치를 갱신할 수 있다.
일 실시예에 따라 이동 전(#1)에서 센싱되었던 장애물(900)에 대한 위치 정보 및/또는 특성 정보는 맵 상에 미리 등록된 상태일 수 있다. 일 실시예에 따라 이동 로봇(100)은 장애물(900)을 센싱하는 경우 해당 장애물이 이미 맵 상에 등록된 장애물임을 장애물(900)의 위치 정보 및/또는 특성 정보에 기초하여 결정할 수 있다.
일 실시 따라 이동(#2)을 통해 장애물(900)이 위치 정보에 대응하는 맵 상의 위치에서 센싱되지 않는 경우 이동 로봇(100)은 장애물(900)이 이동한 것으로 결정할 수 있다. 일 실시예에 따라 이동 로봇(100)은 장애물(900)의 윤곽 정보를 결정하기 위하여 장애물 히트 맵 상의 각 픽셀 마다 장애물(900)의 센싱 횟수를 반영할 수 있다. 일 실시예에 따라 장애물(900)이 등록된 위치에서 사라진 경우 등록된 위치에서 장애물(900)이 센싱되는 횟수가 더 이상 증가하지 않게 되며 따라서 장애물 히트 맵의 각 픽셀마다 장애물(900)이 센싱되는 횟수가 반영되는 정도는 점차 희석될 수 있고 종국적으로는 이동 로봇(100)은 장애물(900)이 이동한 것으로 결정할 수 있다.
일 실시예에 따라 장애물(900)의 이동(#2)을 통해 맵 상에서 다른 위치로 이동하게 된 경우, 이동 로봇(100)은 이동 후(#3)의 장애물(950)에 대하여 센싱할 것이다. 일 실시예에 따라 이동 로봇(100)은 센싱부(120)를 통해 획득되는 영상 데이터 및/또는 3D 센싱 데이터를 이용하여 결정된 위치 정보 및/또는 특성 정보에 기초하여, 이동 후(#3)의 장애물(950)이 이동 전(#1) 장애물(900)에 대응하는 것임을 결정할 수 있다. 일 실시예에 따라 이동 로봇(100)은 이동 후(#3)의 장애물(950)이 이동 전(#1) 장애물(900)에 대응하는 것으로 결정한 경우, 미리 결정되었던 장애물(900)의 윤곽 정보를 이용하여 이동 후(#3)의 장애물(950)의 윤곽 정보를 결정할 수 있다. 장애물(900)의 윤곽은 이미 결정된 바 있으므로 장애물(950)의 윤곽 정보를 결정하기 위하여 장애물(950)의 센싱을 통해 획득되는 데이터를 누적시키는 과정은 생략될 수 있다. 일 실시예에 따라 이동 로봇(100)은 장애물(950)의 위치 및 윤곽을 구체적으로 갱신하기 위하여 장애물(900)의 윤곽 정보를 이용하여 이동 후(#3)의 장애물(950)의 윤곽 정보를 결정하고 장애물(950)의 센싱을 통해 장애물(950)의 배치 방향을 구체적으로 결정하여 장애물 히트 맵을 갱신할 수 있다.
도 10은 일 실시예에 따라 방법에 따라 센싱되고 등록된 장애물들 사이의 관계를 나타내는 토폴로지 맵(topology map)을 도시한다.
일 실시예에 따라 이동 로봇(100)은 소정의 공간에서 이동하면서 센싱한 복수의 장애물 간의 관계를 구체적으로 설정할 수 있다. 일 실시예에 따라 이동 로봇(100)은 주어진 공간(예를 들면, 건물)을 이동하면서 센싱된 외벽 등의 윤곽을 통해 복수의 공간(예를 들면, 도 10의 A, B, C, D)으로 주어진 공간을 구분할 수 있다. 더 구체적으로 예를 들면, 주어진 공간은 집일 수 있고, 집은 큰방, 서재, 거실, 부엌 등의 복수의 공간으로 구분될 수 있다.
일 실시예에 따라 이동 로봇(100)은 복수의 공간들 사이에 인접 관계, 포함 관계 등이 있는지 여부를 결정하여 저장할 수 있다. 일 실시예에 따라 이동 로봇(100)은 복수의 공간(A, B, C, D) 사이를 연결하거나 사이에 배치된 공간 또는 구조물(예를 들면, E1, E2, F)에 대한 관계를 설정할 수 있다. 더 구체적으로 예를 들면, 복수의 공간 중 거실과 서재 사이를 연결하는 문이 식별되어 토폴로지 맵에서 거실과 서재에 포함/인접한 구조물로서 등록될 수 있다. 또 다른 구체적인 예를 들면, 서재와 부엌이 벽으로 구분되어 있는 경우 서재와 부엌 배치된 벽이 식별되어 서재와 부엌 사이에 포함/인접한 구조물로서 등록될 수 있다.
일 실시예에 따라 복수의 공간 각각에는 적어도 하나의 장애물들이 배치되어 있을 수 있고 이동 로봇(100)은 각 공간에 배치된 장애물을 센싱하여 장애물 히트 맵 상에 등록할 수 있다. 일 실시예에 따라 장애물을 센싱하여 맵 상에 등록하는 과정에 대해서는 상술하였으므로 생략하도록 한다.
일 실시예에 따라 장애물 히트 맵 상에 등록된 장애물 각각에 대한 위치 정보 및/또는 특성 정보에 기초하여 복수의 공간 중 장애물이 배치된 공간을 식별하여 각 공간 및 장애물 사이의 포함 관계를 설정하는 토폴로지 맵을 생성할 수 있다. 예를 들어 도 10을 참조하면, 공간 A에는 장애물 a 및 b가 배치되어 있을 수 있으며 이에 따라 공간 A와 장애물 a 및 b사이에는 포함관계에 있다는 점을 나타내는 토폴로지 맵이 생성될 수 있다.
일 실시예에 따라 이동 로봇(100)은 각 공간마다 배치된 장애물들 사이에서의 인접 관계를 반영한 토폴로지 맵을 생성할 수 있다. 일 실시예에 따라 도 10을 참조하면, 공간 B에는 장애물 c, d, e 및 f가 배치되어 있을 수 있으며 장애물에 대하여 결정된 위치 정보에 기초하여 장애물 c, d, e 및 f 사이의 거리가 미리 설정된 임계 거리 미만인 것으로 결정되는 경우 이동 로봇(100)은 해당 장애물 사이에는 인접 관계에 있다는 점이 반영된 토폴로지 맵을 생성할 수 있다. 도 10은 장애물 c 및 d 사이에는 서로 인접 관계에 있고 장애물 d 및 e 사이에는 서로 인접 관계에 있고 장애물 e 및 f 사이에는 서로 인접 관계에 있다는 점이 반영된 토폴로지 맵이 도시된 것이다.
도 11은 일 실시예에 따라 외부 장치(1150)로부터 수신되는 정보에 기초하여 목표 장애물에 대하여 미리 설정된 동작 중 적어도 하나의 동작을 수행하는 특징을 설명하기 위한 도면이다. 도 11의 이동 로봇(1100)은 도 1의 이동 로봇(100)에 대응되는 것일 수 있다.
일 실시예에 따라 이동 로봇(1100)은 송수신부를 더 포함할 수 있다. 이동 로봇(1100)은 송수신부를 통해 다른 디바이스 및/또는 서버 사이의 통신할 수 있다. 일 실시예에 따라 송수신부는 유무선 통신 기술을 이용하여 다른 장치(예를 들면, 사용자 단말기, 서버, 또는 다른 이동 로봇 등)와 데이터를 송수신할 수 있다.
일 실시예에 따라 송수신부가 이용할 수 있는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있으나 이에 한정하여 해석될 필요는 없다.
일 실시예에 따라 이동 로봇(1100)은 맵(11)에 기초하여 이동하면서 미리 설정된 동작을 수행할 수 있으며, 이동 과정에서 장애물(1120)을 만날 수 있다. 일 실시예에 따라 이동 로봇(1100)은 센싱부(120)를 통해 장애물(1120)을 센싱(1110)하여 장애물(320)에 관련된 다양한 정보를 획득할 수 있다. 일 실시예에 따라 이동 로봇(300)은 장애물(1120)에 관련된 정보를 획득하여 장애물(1120)에 대한 위치 정보 및/또는 특성 정보를 결정하여 저장할 수 있다. 일 실시예에 따라 이동 로봇(300)은 장애물에 대한 위치 정보 및/또는 특성 정보를 결정하여 저장함으로써 장애물(1120)을 맵(11)과 연관하여 등록시킬 수 있다. 즉, 장애물(1120)의 위치 정보에 기초하여 장애물(1120)이 맵(11) 상의 특정 위치에 등록될 수 있으며, 특정 위치에 등록된 장애물의 특성은 특성 정보에 기초하여 파악될 수 있다. 이동 로봇(1100)이 장애물(1120)을 센싱하여 장애물(1120)의 위치 정보 및/또는 특성 정보를 맵(11)상의 특정 위치에 등록함으로써 장애물에 대한 맵을 생성 및 갱신하는 과정에 대해서는 다양한 실시예를 통해 상술하였으므로 자세한 설명은 생략한다.
일 실시예에 따라 이동 로봇(1100)은 외부 장치(1150)로부터 동작 지시 정보를 수신할 수 있다. 일 실시예에 따라 동작 지시 정보는 장애물(1120)을 특정하기 위한 정보(즉, 장애물(1120)의 위치 정보 및/또는 특성 정보) 및 장애물(1120)에 대하여 수행할 적어도 하나의 동작(1170)을 나타내는 동작 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 동작 지시 정보는 "테이블"에 대한 "일반 청소 동작"을 수행하는 것을 지시하는 정보가 포함될 수 있다.
일 실시예에 따라 이동 로봇(1100)은 동작 지시 정보를 수신하면 장애물(1120)이 위치한 곳으로 이동(1160)할 수 있다. 일 실시예에 따라 이동 로봇(100)은 동작 지시 정보에 포함된 적어도 하나의 동작(1170)을 수행할 수 있다.
일 실시예에 따라 동작 지시 정보에는 복수의 장애물에 대한 적어도 하나의 동작(1170)을 수행하는 것을 지시하는 정보가 포함될 수 있다.
일 실시예에 따라 동작 지시 정보에는 적어도 하나의 특정 공간에 포함된 적어도 하나의 장애물에 대하여 적어도 하나의 동작(1170)을 수행하는 것을 지시하는 정보가 포함될 수 있다. 예를 들면, 동작 지시 정보는 "서재"에 배치된 "테이블"에 대한 "일반 청소 동작"을 수행하는 것을 지시하는 정보가 포함될 수 있다. 또 다른 예를 들면 동작 지시 정보는 "큰방 및 아이방"에 배치된 "침대"에 대한 "물걸레 청소 동작"을 수행하는 것을 지시하는 정보가 포함될 수 있다.
일 실시예에 따라 동작 지시 정보에는 적어도 하나의 특정 공간에 포함된 적어도 하나의 장애물에 대하여 적어도 하나의 동작(1170)을 수행하는 것을 지시하는 정보가 포함될 수 있으며, 각 공간 및/또는 각 장애물에 대하여 수행하는 것으로 지시하는 동작(1170)은 구분될 수 있다. 예를 들면 예를 들면 동작 지시 정보는 "큰방"에 배치된 "침대"에 대한 "일반 청소 동작"을 수행하고 "아이방"에 배치된 "침대"에 대한 "물걸레 청소 동작"을 수행하는 것을 지시하는 정보가 포함될 수 있다.
다만 위 실시예들은 이동 로봇(1100)이 외부 장치(1150)로부터 수신한 동작 지시 정보에 기초하여 적어도 하나의 장애물(1120)에 대하여 특정 동작을 수행할 수 있다는 특징을 설명하기 위한 예이므로 위 실시예들로 한정하여 본원의 특징이 해석될 필요는 없다. 즉, 이동 로봇(1100)의 위 실시예를 통한 동작들은 외부 장치(1150)로부터 장애물을 특정할 수 있는 정보 및 장애물에 대하여 수행할 동작에 대한 정보를 포함하는 동작 지시 정보에 기초하여 특정 장애물에 대한 특정 동작을 수행할 수 있는 다양한 방식을 조합하여 구현될 수 있다.
일 실시예에 따라 이동 로봇(1100)은 이동 및/또는 적어도 하나의 미리 설정된 동작을 수행하는 과정에서 센싱되는 장애물에 대한 정보를 외부 장치(1150)로 송신하여 외부 장치(1150)의 사용자가 센싱된 장애물에 대한 정보를 확인하고 장애물에 관련된 다양한 동작을 지시하도록 할 수 있다. 예를 들면, 이동 로봇(1100)은 이동 및/또는 적어도 하나의 미리 설정된 동작을 수행하는 과정에서 센싱되는 장애물을 등록할 것인지 여부에 대하여 외부 장치(1150)로 질의할 수 있다. 외부 장치(1150)의 사용자는 등록할지 여부를 질의받은 장애물에 대한 정보를 확인하여 장애물을 등록할 것인지 장애물에 대한 정보를 수정하여 등록할 것인지, 장애물을 등록하지 않을 것인지 등에 대한 정보를 이동 로봇(1100)으로 송신할 수 있다. 이동 로봇(100)은 외부 장치(1150)로의 질의에 대한 응답으로서 수신되는 정보에 기초하여 수신된 정보가 따라 수행할 수 있다.
일 실시예에 따라 이동 로봇(100)은 상술한 다양한 방법을 수행하기 위한 프로그램을 수록하기 위한 컴퓨터 판독 가능 기록매체를 더 포함할 수 있다. 상기에서 설명한 본 개시에 따라 수행되는 방법은, 컴퓨터에서 실행시키기 위한 프로그램으로 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공될 수 있다. 일 실시예에 따라 상술한 다양한 방법을 수행하기 위한 프로그램은 저장부(140)에 저장될 수도 있다.
본 개시의 방법은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 개시의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는, ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 설명한 본 개시는, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 또한 본 개시에서 설명된 실시예들은 한정되게 적용될 수 있는 것이 아니라, 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
전술한 개시 내용들은, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 실시예들의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
Claims (20)
- 이동 로봇에 있어서,
맵에 기초하여 상기 이동 로봇의 이동 및 미리 설정된 적어도 하나의 동작을 수행하도록 구성된 구동부;
장애물을 센싱하도록 구성된 센싱부;
상기 센싱부를 통해 획득되는 정보에 기초하여 상기 장애물의 위치 정보 및 특성 정보를 결정하고, 상기 위치 정보 및 상기 특성 정보에 기초하여 상기 맵 상에 상기 장애물을 등록하고, 상기 위치 정보에 대응되는 위치에 상기 이동 로봇이 위치하게 되는 경우 상기 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행하도록 상기 구동부를 제어하도록 구성되는 프로세서; 및
상기 장애물의 위치 정보 및 특성 정보를 저장하도록 구성되는 저장부를 포함하는, 이동 로봇. - 제 1 항에 있어서,
상기 센싱부는 상기 장애물에 대한 영상 데이터 및 3D 센싱 데이터를 획득하도록 구성되는, 이동 로봇. - 제 2 항에 있어서,
상기 프로세서는 상기 3D 센싱 데이터에 기초하여 상기 장애물의 크기를 결정하도록 구성되는, 이동 로봇. - 제 3 항에 있어서,
상기 특성 정보는 상기 장애물의 종류 및 크기 중 적어도 하나를 포함하고,
상기 프로세서는 상기 3D 센싱 데이터를 머신러닝(machine learning)으로 미리 학습된 모듈에 입력하여 출력되는 데이터에 기초하여 상기 특성 정보를 결정하도록 구성되는, 이동 로봇. - 제 4 항에 있어서,
상기 프로세서는 상기 3D 센싱 데이터에 기초하여 상기 장애물의 종류를 결정할 수 없는 경우, 상기 영상 데이터에 기초하여 상기 장애물의 종류를 결정하고 상기 3D 센싱 데이터에 기초하여 상기 장애물의 크기를 결정하도록 구성되는, 이동 로봇. - 제 4 항에 있어서,
상기 프로세서는 상기 3D 센싱 데이터에 기초하여 상기 장애물의 종류를 결정할 수 있는 경우, 상기 3D 센싱 데이터에 기초하여 상기 장애물의 종류를 결정하고 상기 종류에 대하여 미리 결정된 크기에 기초하여 상기 장애물의 크기를 결정하도록 구성되는, 이동 로봇. - 제 2 항에 있어서,
상기 프로세서는 상기 센싱부를 통해 획득되는 정보에 기초하여 상기 장애물에 대한 상기 영상 데이터를 누적시키도록 구성되고,
상기 누적되는 영상 데이터는 기존에 저장된 영상 데이터가 획득된 방향과 다른 방향에서 획득된 영상 데이터인, 이동 로봇. - 제 1 항에 있어서,
상기 프로세서는 상기 영상 데이터 및 상기 3D 센싱 데이터에 기초하여 맵 상에 미리 등록된 적어도 하나의 장애물에 대한 정보를 갱신하도록 구성되는, 이동 로봇. - 제 8 항에 있어서,
상기 프로세서는 상기 맵에 기초하여 이동하면서 미리 설정된 적어도 하나의 동작의 수행이 완료된 것으로 결정되면 상기 갱신된 정보에 기초하여 상기 적어도 하나의 장애물을 클러스터링(clustering)하고, 상기 적어도 하나의 장애물의 위치 정보 및 특성 정보에 기초하여 상기 맵 상에서의 상기 적어도 하나의 장애물의 윤곽을 결정하도록 구성되는, 이동 로봇. - 제 9 항에 있어서,
상기 프로세서는 상기 맵 상에서의 상기 적어도 하나의 장애물 간의 포함 관계 및 인접 관계 중 적어도 하나를 결정하여 상기 저장부에 저장하도록 구성되는, 이동 로봇. - 제 10 항에 있어서,
상기 이동 로봇은 송수신부를 더 포함하고,
상기 프로세서는 상기 송수신부를 통해 수신되는 동작 지시 정보에 기초하여 동작을 수행할 대상에 대응하는 목표 장애물, 상기 목표 장애물의 위치 및 상기 목표 장애물에 대하여 수행할 미리 설정된 동작 중 적어도 하나를 결정하여 상기 이동 로봇이 상기 목표 장애물로 이동하여 상기 미리 설정된 동작 중 적어도 하나를 수행하도록 더 구성되는, 이동 로봇. - 이동 로봇이 동작하는 방법에 있어서,
맵에 기초하여 상기 이동 로봇이 이동하면서 미리 설정된 적어도 하나의 동작을 수행하는 단계;
장애물을 센싱하는 단계;
상기 센싱을 통해 획득되는 정보에 기초하여 상기 장애물의 위치 정보 및 특성 정보를 결정하여 저장하는 단계;
상기 위치 정보 및 상기 특성 정보에 기초하여 상기 맵 상에 상기 장애물을 등록하는 단계; 및
상기 위치 정보에 대응되는 위치에 상기 이동 로봇이 위치하게 되는 경우 상기 특성 정보에 대응하는 것으로 미리 설정된 동작을 수행하는 단계를 포함하는, 방법. - 제 12 항에 있어서, 상기 센싱하는 단계는,
상기 장애물에 대한 영상 데이터 및 3D 센싱 데이터를 획득하는 단계를 포함하는, 방법. - 제 13 항에 있어서, 상기 장애물의 위치 정보 및 특성 정보를 결정하고 저장하는 단계는,
상기 3D 센싱 데이터에 기초하여 상기 장애물의 크기를 결정하고 저장하는 단계를 포함하는, 방법. - 제 14 항에 있어서,
상기 특성 정보는 상기 장애물의 종류 및 크기 중 적어도 하나를 포함하고,
상기 장애물의 위치 정보 및 특성 정보를 결정하여 저장하는 단계는, 상기 3D 센싱 데이터를 머신러닝으로 미리 학습된 모듈에 입력하여 출력되는 데이터에 기초하여 상기 특성 정보를 결정하여 저장하는 단계를 포함하는, 방법. - 제 15 항에 있어서, 상기 특성 정보를 결정하여 저장하는 단계는,
상기 3D 센싱 데이터에 기초하여 상기 장애물의 종류를 결정할 수 없는 경우, 상기 영상 데이터에 기초하여 상기 장애물의 종류를 결정하고 상기 3D 센싱 데이터에 기초하여 상기 장애물의 크기를 결정하는 단계를 포함하는, 방법. - 제 15 항에 있어서, 상기 특성 정보를 결정하여 저장하는 단계는,
상기 3D 센싱 데이터에 기초하여 상기 장애물의 종류를 결정할 수 있는 경우, 상기 3D 센싱 데이터에 기초하여 상기 장애물의 종류를 결정하고 상기 종류에 대하여 미리 결정된 크기에 기초하여 상기 장애물의 크기를 결정하는 단계를 포함하는, 방법. - 제 13 항에 있어서, 상기 방법은,
상기 획득되는 정보에 기초하여 상기 장애물에 대한 상기 영상 데이터를 누적시키는 단계를 더 포함하고,
상기 누적되는 영상 데이터는 기존에 저장된 영상 데이터가 획득된 방향과 다른 방향에서 획득된 영상 데이터인, 방법. - 제 12 항에 있어서, 상기 방법은,
상기 영상 데이터 및 상기 3D 센싱 데이터에 기초하여 맵 상에 미리 등록된 적어도 하나의 장애물에 대한 정보를 갱신하는 단계를 더 포함하는, 방법. - 제 1 항의 방법을 실행하기 위한 컴퓨터 프로그램을 수록한 컴퓨터 판독가능 기록매체.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210025612A KR20220121483A (ko) | 2021-02-25 | 2021-02-25 | 지능적 맵 생성 방법 및 그 이동 로봇 |
| PCT/KR2021/009712 WO2022181901A1 (ko) | 2021-02-25 | 2021-07-27 | 지능적 맵 생성 방법 및 그 이동 로봇 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210025612A KR20220121483A (ko) | 2021-02-25 | 2021-02-25 | 지능적 맵 생성 방법 및 그 이동 로봇 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20220121483A true KR20220121483A (ko) | 2022-09-01 |
Family
ID=83048562
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020210025612A Pending KR20220121483A (ko) | 2021-02-25 | 2021-02-25 | 지능적 맵 생성 방법 및 그 이동 로봇 |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR20220121483A (ko) |
| WO (1) | WO2022181901A1 (ko) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4157731B2 (ja) * | 2002-07-01 | 2008-10-01 | 日立アプライアンス株式会社 | ロボット掃除機及びロボット掃除機制御プログラム |
| KR101394335B1 (ko) * | 2007-11-08 | 2014-05-14 | 삼성전자주식회사 | 로봇 거치대를 이용한 로봇 맵 좌표 설정 방법 및 장치 |
| KR20180023302A (ko) * | 2016-08-25 | 2018-03-07 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
| KR102070067B1 (ko) * | 2017-10-25 | 2020-01-28 | 엘지전자 주식회사 | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 |
| CN108344414A (zh) * | 2017-12-29 | 2018-07-31 | 中兴通讯股份有限公司 | 一种地图构建、导航方法及装置、系统 |
-
2021
- 2021-02-25 KR KR1020210025612A patent/KR20220121483A/ko active Pending
- 2021-07-27 WO PCT/KR2021/009712 patent/WO2022181901A1/ko not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022181901A1 (ko) | 2022-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3813623B1 (en) | A plurality of autonomous cleaners and a controlling method for the same | |
| AU2019335977B2 (en) | A robot cleaner and a controlling method for the same | |
| US11787041B2 (en) | Mobile robot and method of controlling a plurality of mobile robots | |
| US11409308B2 (en) | Robot cleaner and a controlling method for the same | |
| US11693427B2 (en) | Plurality of autonomous mobile robots and controlling method for the same | |
| AU2019262467B2 (en) | A plurality of robot cleaner and a controlling method for the same | |
| CN112384119B (zh) | 多个自主移动机器人及其控制方法 | |
| AU2020208074B2 (en) | Mobile robot and method of controlling mobile robot | |
| CN112739244A (zh) | 移动机器人清洁系统 | |
| KR20200103203A (ko) | 복수의 자율주행 이동 로봇 | |
| KR102309303B1 (ko) | 로봇 청소기 및 그 제어 방법 | |
| US12161275B2 (en) | Plurality of autonomous cleaner and controlling method for the same | |
| US20220047135A1 (en) | Robot cleaner and method for operating same | |
| US11915475B2 (en) | Moving robot and traveling method thereof in corner areas | |
| US20230225580A1 (en) | Robot cleaner and robot cleaner control method | |
| EP4116044B1 (en) | Mobile robot and control method therefor | |
| EP4117497B1 (en) | Robot cleaner and method for controlling the same | |
| KR20220121483A (ko) | 지능적 맵 생성 방법 및 그 이동 로봇 | |
| EP4117496B1 (en) | Robot cleaner and method for controlling the same | |
| CN121232797A (zh) | 自主移动设备、方法、存储介质和程序产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D21 | Rejection of application intended |
Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D21-EXM-PE0902 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11 | Amendment of application requested |
Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |

