KR102033143B1 - 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇 - Google Patents

3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
KR102033143B1
KR102033143B1 KR1020170012254A KR20170012254A KR102033143B1 KR 102033143 B1 KR102033143 B1 KR 102033143B1 KR 1020170012254 A KR1020170012254 A KR 1020170012254A KR 20170012254 A KR20170012254 A KR 20170012254A KR 102033143 B1 KR102033143 B1 KR 102033143B1
Authority
KR
South Korea
Prior art keywords
robot
sensing
unit
protrusion
height
Prior art date
Application number
KR1020170012254A
Other languages
English (en)
Other versions
KR20180087769A (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 KR1020170012254A priority Critical patent/KR102033143B1/ko
Priority to US15/875,235 priority patent/US10620636B2/en
Publication of KR20180087769A publication Critical patent/KR20180087769A/ko
Application granted granted Critical
Publication of KR102033143B1 publication Critical patent/KR102033143B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4052Movement of the tools or the like perpendicular to the cleaning surface
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0019End effectors other than grippers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • 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
    • 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/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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
    • 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/30End effector
    • Y10S901/41Tool
    • 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/49Protective device

Abstract

본 발명은 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 3차원 공간에서 기능 영역을 식별하는 로봇은 로봇의 외부에 배치된 돌출물을 센싱하여 높이 및 깊이 정보를 제공하는 센싱 모듈, 외부에 미리 설정된 기능을 제공하는 기능부, 로봇을 이동시키는 이동부, 로봇의 이동에 필요한 맵을 저장하는 맵 저장부 및 이들 구성요소를 제어하는 제어부를 포함한다.

Description

3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇{METHOD OF IDENTIFYING FUNCTIONING REGION IN 3-DIMENSIONAL SPACE AND ROBOT IMPLEMENTING THEREOF}
본 발명은 기능 영역을 식별하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 전체 공간에 대한 맵을 가져야 한다. 한편, 맵에서 로봇은 주어진 특정한 기능을 수행할 수 있는 영역을 식별하여 해당 영역에서 기능을 수행하는 것이 필요하다.
일반적으로 로봇은 전체 공간 내에서 기능을 수행하되 벽이나 유리, 돌출된 구조물 등을 회피하여 특정한 기능을 수행해야 한다. 그런데, 대면적의 공간에서 특정한 기능을 수행하는 로봇은 주변의 공간에 대해 3차원적으로 식별하는 것이 필요하다. 특히, 공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에는 구조물이 일률적으로 배치되지 않으며, 또한 임시적으로도 안내데스크 같은 구조물이 배치된 후 다시 제거되는 경우도 많으므로, 최초에 맵을 구성한 후에 발생하는 다양한 공간의 변화를 로봇이 식별하여 기능을 수행하는 것이 필요하다. 따라서, 본 명세서에서는 로봇이 공간을 3차원으로 판단하여 기능을 수행할 수 있는 공간인지를 식별하여 이를 분석하고 분석한 결과에 따라 로봇이 이동하는 방안을 제시하고자 한다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 로봇의 주변에 배치되는 돌출물의 높이와 깊이 등의 정보를 산출하여 진입 가능한지를 확인하고 이에 대응하여 기능을 수행하는 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇을 제공하고자 한다.
또한, 본 명세서에서는 벽 또는 유리 외에도 돌출된 외부 객체를 인식하여 이들에 대한 정보를 3차원으로 맵 내에 저장하는 방법과 장치를 제공하고자 한다.
또한, 본 명세서에서는 돌출된 공간에 대해서도 로봇이 제공해야 하는 기능을 수행하며, 기능 수행에 대한 정보를 저장 및 서버 등으로 업로드하여 전체 공간에서 기능이 수행된 영역을 확인할 수 있는 방법과 장치를 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 3차원 공간에서 기능 영역을 식별하는 로봇은 로봇의 외부에 배치된 돌출물을 센싱하여 높이 및 깊이 정보를 제공하는 센싱 모듈, 외부에 미리 설정된 기능을 제공하는 기능부, 로봇을 이동시키는 이동부, 로봇의 이동에 필요한 맵을 저장하는 맵 저장부 및 이들 구성요소를 제어하는 제어부를 포함한다.
본 발명의 다른 실시예에 의한 3차원 공간에서 기능 영역을 식별하는 로봇은, 센싱 모듈이 제공하는 정보 및 맵 저장부에 저장된 정보를 비교하여 돌출물을 포함하는 3차원 공간에서 기능 영역을 식별하여 이동부 및 기능부를 제어한다.
본 발명의 또다른 실시예에 의한 3차원 공간에서 로봇이 기능 영역을 식별하는 방법은 로봇의 센싱 모듈이 로봇의 외부에 배치된 돌출물의 높이와 깊이를 센싱하는 단계, 센싱한 돌출물의 높이 및 깊이 정보를 제어부에 제공하는 단계, 및 로봇의 제어부는 돌출물의 높이 및 깊이 정보와 로봇의 맵 저장부에 저장된 정보를 비교하여 돌출물을 포함하는 3차원 공간에서 기능 영역을 식별하여 로봇의 이동부 및 기능부를 제어하는 단계를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇이 이동하는 과정에서 주변에 배치되는 돌출물의 높이와 깊이 등의 정보를 산출하여 진입 가능한지를 확인할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 로봇이 벽 또는 유리뿐만 아니라 돌출된 객체들이 배치된 공간에서 기능 영역을 식별하여 소정의 기능을 수행하는 방법 및 이를 구현하는 로봇을 제공할 수 있다.
또한, 본 발명의 실시예를 적용할 경우, 로봇은 벽 또는 유리 외에도 돌출된 외부 객체를 인식하여 이들에 대한 정보를 3차원으로 맵 내에 저장하고 이를 다른 로봇과 공유할 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 공간을 3차원적으로 센싱하는 센싱 모듈의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 공간을 단위 영역으로 구성되는 맵으로 구성한 실시예를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 의한 다양한 센싱부들이 배치되는 구성을 보여주는 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 의한 상단 돌출물을 적외선 센싱부가 검출하는 도면이다.
도 7은 본 발명의 다른 실시예에 의한 중간 돌출물을 적외선 센싱부가 검출하는 도면이다.
도 8 및 도 9는 본 발명의 또다른 실시예에 의한 하단 돌출물을 적외선 센싱부가 검출하는 도면이다.
도 10은 본 발명의 일 실시예에 의한 돌출물의 정보가 저장된 맵을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 기능부를 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 청소완료 영역에 대한 맵을 보여주는 도면이다.
도 13 내지 15는 본 발명의 또다른 실시예에 의한 벽이 확인되지 않은 공간에서의 돌출물을 센싱하는 도면이다.
도 16은 본 발명의 일 실시예에 의한 바닥의 돌출물을 센싱하는 도면이다.
도 17은 본 발명의 일 실시예에 의한 상단과 하단의 돌출물의 거리가 상이한 경우를 보여주는 도면이다.
도 18은 본 발명의 일 실시예에 의한 로봇의 각 구성요소들이 돌출물을 센싱하고 이에 따라 동작하는 과정을 보여주는 도면이다.
도 19는 본 발명의 일 실시예에 의한 센싱 모듈 내의 구성요소들과 제어부의 상호 동작의 과정을 보여주는 도면이다.
도 20은 본 발명의 일 실시예에 의한 다수의 로봇 사이에, 혹은 로봇과 서버 사이에 돌출물에 대한 정보를 교환하는 과정을 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등에 대한 정보를 의미한다. 또한, 로봇은 맵 위에 별도의 객체들에 대한 정보를 저장할 수 있다. 예를 들어, 고정된 벽에 부착된 안내 플랫폼, 새로이 설치된 자판기 등은 고정된 물체는 아니지만 일정 시간동안 고정성을 가지고 있으므로, 이들은 맵에 추가적인 고정물로 저장되는 것이 필요하다.
또한, 본 명세서에서 로봇은 공간을 3차원적으로 저장하여 벽이나 유리가 3차원 상에 배치되어도 로봇이 진입 가능한 영역 혹은 기능 가능한 영역인지를 확인할 로봇이 확인하고, 이에 대한 정보를 저장할 수 있다.
특히, 본 명세서에서는 공항과 같은 대면적의 공간에서 특정 기능(예를 들어 실면적대비 청소면적과 같은 청소 효율)을 높이기 위해 로봇 진입 가능한 구간과 기능을 수행할 수 있는 기능 영역을 정확하게 판단해야 한다.
공항환경에서 바닥으로부터 80~100cm 높이에 튀어 나와 있는 안내데스크, 공중전화 등의 구조물을 미리 장애물로 인식하여 로봇이 진입하지 않으면 청소 효율을 떨어뜨릴 수 있다. 따라서, 최대한 이들 구조물에 근접하여 청소와 같은 기능을 수행하는 것이 필요하다.
로봇의 높이 대비 장애물이 상단/중단/하단에 어느 위치에 위치하느냐에 따라 청소 알고리즘이 달라지므로, 본 발명의 실시예를 적용할 경우, 초음파 센서 데이터와 적외선 센서 데이터를 융합하여 로봇이 진입 가능한 영역과 진입 불가능한 영역, 그리고 진입이 불가능할 경우 특정한 기능을 수행할 수 있는 기능 영역을 로봇의 제어부가 정확히 판단할 수 있다. 특히, 다양한 센서들을 이용하여 로봇의 정면/측면/후면의 3차원 장애물 정보를 수집 및 저장한다. 라이더 센서는 전/후/좌/우의 공간에서 벽, 유리, 장애물에 대한 정보를 수집하여 맵을 생성한다. 라이더 센서는 특정한 높이에서의 장애물들을 원거리에서 센싱할 수 있다. 라이더 센서가 센싱한 정보들과 다른 센서들이 근거리에서 센싱한 정보를 비교하여 로봇의 진행 방향 혹은 주변에 배치된 객체들이 벽이나 유리와 같은 객체인지 아니면 돌출된 종류의 객체인지를 확인할 수 있으며, 이에 따라 로봇의 기능을 달리 수행할 수 있다.
또한, 각각의 센서들이 수집한 3차원 장애물 정보를 맵에 업데이트 하여 다음 주행 시 활용할 수 있다.
본 명세서에서 로봇의 높이, 즉 로봇이 통과하는데 필요한 높이를 TOP_H 라고 한다. 로봇의 진행 방향의 바닥에 배치된 객체의 높이로, 로봇이 통과할 수 있는 높이를 BOTTOM_H라 한다. 예를 들어, 로봇은 높이 상으로 TOP_H 보다 큰 공간이 확보되면 진입할 수 있다. 또한, 로봇은 바닥에 배치된 객체의 높이가 BOTTOM_H 보다 낮으면 진입할 수 있다. 따라서, 로봇은 BOTTOM_H 보다 높으면서 TOP_H 보다 낮은 범위 내에 장애물이 있으면 통과할 수 없다.
로봇은 장애물이 있는 경우의 기능과 장애물이 없는 경우의 기능을 달리 할 수 있다. 예를 들어, 청소 로봇의 경우, 돌출된 장애물이 없어서 로봇이 일반적인 주행 상태에 있는 경우, 로봇의 청소 기능은 주행 중 청소 기능을 일 실시예로 한다. 반면, 돌출된 장애물이 있는 경우, 로봇은 주행 상태를 중지하고 돌출물에 가장 근접해가는 접근 상태를 유지하며 청소 기능을 수행할 수 있다. 이때 청소 기능은 근접 청소 기능을 일 실시예로 한다. 또한, 청소 가능 영역을 확보하기 위해 청소를 수행하는 구성요소를 로봇 외부로 확장 또는 이동시킬 수 있다.
도 1은 본 발명의 일 실시예에 의한 공간을 3차원적으로 센싱하는 센싱 모듈의 구성을 보여주는 도면이다. 로봇에 하나 또는 다수가 장착될 수 있다.
센싱 모듈(100)은 초음파 센싱부(110), 적외선 센싱부(120), 라이다 센싱부(130), 그리고 뎁스 센싱부(140)와 같은 센싱을 수행하는 구성요소와, 센싱된 값을 분석하는 센싱 데이터 분석부(150)를 포함한다. 센싱 모듈(100)을 구성하는 각각의 구성요소들은 논리적 구성요소들이므로, 이들이 반드시 물리적으로 하나의 장치 내에 구현될 필요는 없다. 예를 들어, 적외선 센싱부(120)는 로봇의 경계 영역에 배치되고, 초음파 센싱부(110)는 로봇의 전면 중심 영역에 배치될 수 있다. 또한 뎁스 센싱부(140)와 라이다 센싱부(130)는 로봇의 상면에 배치될 수 있다.
또한, 이들 각각의 센싱부들과 센싱 데이터 분석부(150)는 데이터 링크 또는 무선 신호를 통해 센싱된 정보를 송수신할 수 있다. 또한 각각의 센싱부들은 다양한 센서들의 집합일 수 있다. 예를 들어 적외선 센싱부(120)가 전면에 배치된 사물을 센싱하기 위해, 물리적으로 적외선 송신부 및 적외선 수신부가 한쌍 또는 다수 배치되는 것을 통합하여 논리적으로 적외선 센싱부(120)로 지시할 수 있다. 마찬가지로 초음파 센싱부(110) 역시 물리적으로 초음파 송신부 및 초음파 수신부가 한쌍 또는 다수 배치되는 것을 통합하여 논리적으로 초음파 센싱부(110)로 지시할 수 있다.
진행 방향에 돌출된 장애물이 배치될 경우 이를 로봇이 통과할 수 있는지를 각각의 센싱부들을 조합하여 확인할 수 있다. 일 실시예로, 벽에 튀어나온 장애물에 대해서 어떤 센싱부를 적용하느냐에 따라 이를 통과할 수 있는 장애물로 판단하거나 혹은 통과가 불가능한 장애물로 판단할 수 있다.
로봇이 특정한 공간을 통과하기 위해서는 바닥에 배치된 하단 장애물의 높이가 로봇이 통과할 수 있는 높이인지를 판단하는 것이 필요하다. 또한, 전면에 벽과 같은 평면적이고 전면적인 장애물이 아닌 돌출된 장애물이 있다면, 이 장애물이 특정한 높이 상에서 점유하는 공간에 따라 로봇이 통과할 수 있는지 여부를 판단할 수 있다.
따라서, 돌출형 장애물(돌출물)의 위치에 따라 로봇의 근접하여 소정의 기능(청소, 안내, 보안, 검색 등)을 수행하거나 혹은 해당 장애물을 회피하도록 동작할 수 있다. 또한, 장애물의 상단 높이가 BOTTOM_H보다 낮거나 장애물의 하단의 높이가 TOP_H 보다 높은 경우 무시하고 주행하도록 동작할 수 있다. 로봇이 외부의 장애물에 대응하여 동작하기 위해서는 로봇은 3차원적으로 장애물을 센싱하는 것이 필요하다. 즉, 로봇은 다양한 종류의 센싱부들을 이용하여 3차원의 맵을 구현할 수 있다.
특히, 공항, 터미널, 병원, 호텔, 학교 등 유동인구 또는 사용인구가 많은 공간에서 청소, 안내, 보안 검색 등의 역할을 수행하는 로봇의 키는 일정 크기 이상 높아야 한다. 이 경우 로봇은 전체 공간을 3차원적으로 센싱하여 이에 기반한 3차원 맵을 작성하고 이동할 수 있다. 이에, 본 명세서의 센싱 모듈(100)은 전방에 장애물이 존재하는지도 센싱하면서, 동시에 해당 장애물의 높이와 깊이까지 센싱하여 더 진입할 수 있는지, 혹은 통과할 수 있는지, 아니면 회피해서 이동해야 하는지를 판단하는 정보를 로봇에게 제공한다.
다양한 센싱부들은 각각의 특징에 따라 장애물을 X-Y-Z축으로 센싱한다. X축은 로봇이 이동하는 공간의 X축이며, Y축은 로봇이 이동하는 공간의 Y축이다. Z축은 로봇의 높이 방향을 의미하며 로봇이 Z축으로 이동하지는 않으나 로봇이 장애물에 대해 어떻게 이동할 것인지를 판단하기 위해 장애물의 Z축 상의 크기를 센싱하는 것이 필요하다.
본 발명의 일 실시예로, 초음파 센싱부(110)는 장애물이 존재하는지 여부를 확인할 수 있다. 초음파 센싱부(110)는 초음파를 발산하는 초음파 발산부와 발산된 초음파가 장애물로부터 반사되어 돌아오는 반사파를 수신하는 초음파 수신부로 구성될 수 있다. 초음파 센싱부(110)는 초음파 발산 및 수신 시간을 이용하여 장애물을 가지하고 장애물까지의 거리를 산출할 수 있다. 다만, 초음파 센싱부(110)는 장애물의 정확한 높이를 파악하지 못한다. 따라서, 초음파 센싱부(110)에서 센싱한 장애물의 정보는 장애물과의 거리를 판단하며 이는 로봇이 이동하는 축(X-Y)에서의 거리 정보를 판단할 수 있다.
다음으로 적외선 센싱부(120)는 로봇이 진행하는 방향에 배치되는 장애물의 높이를 센싱할 수 있다. 예를 들어, 로봇의 최상단 양쪽 끝에 적외선 센싱부(120)가 배치될 경우, 로봇의 상단 부분에 배치된 장애물이 존재하는지, 혹은 로봇이 통과할 수 있는 높이의 장애물인지를 판단하기 위해 전방에 배치된 장애물을 센싱한다. 적외선 센싱부(120)는 로봇의 최하단 양쪽 끝에도 배치될 수 있다. 이는 로봇이 통과할 수 있는 높이의 장애물이 배치되는지를 판단하기 위해 전방의 하단에 배치된 장애물을 센싱한다.
라이다(Lidar) 센싱부(130)는 특정한 높이에 배치되는 장애물들을 스캔한다. 따라서 특정한 높이(Z축으로 H 크기만큼의 높이) 기준으로 장애물이 배치되는지를 확인하지만, 이는 H보다 높거나 혹은 낮은 위치에 배치되는 장애물을 확인하지 못한다. 한편 라이다 센싱부(130)는 센싱 거리가 매우 길고 방향 또한 270도 이상 혹은 360까지 포괄하는 넓은 범위의 장애물을 센싱할 수 있다. 따라서, 라이다 센싱부(130)는 넓은 범위의 장애물을 센싱하여 맵을 생성할 수 있다. 이 맵은 특정한 높이에 배치되는 장애물들의 위치를 저장하고 있다.
뎁스 센싱부(140)는 전방에 배치된 장애물의 거리를 센싱한다. 뎁스 센싱부(140)는 각각의 기준영역(예를 들어 픽셀) 단위로 촬영된 사물까지의 거리를 센싱하여 3차원의 거리 정보가 반영된 촬영 이미지를 생성할 수 있다. 뎁스 센싱부(140)는 센싱 범위가 특정한 높이에 한정되지 않으므로, 적외선 센싱부(120)가 배치되지 않은 높이에서의 장애물을 확인할 수 있다. 특히, 적외선 센싱부(120)가 센싱한 위치의 장애물이 상하로 길게 배치되는 장애물인지 여부를 뎁스 센싱부(140)에서 센싱한 정보를 이용할 수 있다.
또한, 라이다 센싱부(130)와 뎁스 센싱부(140)의 센싱 정보를 취합하여 유리가 배치된 공간을 확인할 수 있다. 뎁스 센싱부(140)는 빛이 투과하는 유리를 센싱하는 정확도가 100%가 되기 어려우므로, 라이다 센싱부(130)에서 센싱한 값과 뎁스 센싱부(140)가 센싱한 값을 조합하여 통유리와 같은 사물들이 배치된 공간을 파악할 수 있다.
이하, 적외선 센싱부(120)에서 로봇의 상측 또는 하측 전면에 배치된 장애물을 센싱하여 산출된 정보를 장애물의 경계선이라고 한다. 경계선에는 거리 정보가 포함된다. 초음파 센싱부(110)에서 로봇의 전면부에 배치된 장애물을 센싱하여 산출된 정보를 장애물의 거리라고 한다. 뎁스 센싱부(140)에서 전면에 배치된 장애물의 뎁스 값을 센싱하여 산출된 정보를 뎁스 정보라고 한다. 뎁스 정보는 전술한 장애물의 경계선과 거리 정보와 취합하여 장애물의 전체적인 윤곽과 이들 장애물의 뎁스를 산출하는데 기여한다.
또한 라이더 센싱부(130)는 로봇이 배치된 공간의 맵을 작성하고 다른 센싱부에서 파악한 장애물 정보를 비교하거나 판단하는 토대가 된다 예를 들어, 라이더 센싱부(130)에서 특정한 공간에 유리 혹은 벽이 배치된 것으로 확인된 상태에서 다른 센싱부들이 돌출한 장애물을 센싱할 경우, 로봇이 해당 장애물을 통과할 수 없는 것으로 판단할 수 있도록 한다.
도 2는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(1000)은 외부의 장애물을 센싱하는 센싱 모듈(100), 맵을 저장하는 맵 저장부(200), 이동을 제어하는 이동부(300), 로봇의 소정의 기능을 수행하는 기능부(400), 다른 로봇과 맵 또는 무빙워크 또는 에스컬레이터와 같은 진입 불가 영역에 관한 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 포함한다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 정보를 이용하여 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 또한, 센싱 모듈(100)에서 센싱된 외부의 장애물에 대한 정보를 제어부(900)가 분석하여 진행 방향에 장애물이 배치되어 있는지를 확인한 후, 이동부(300)의 이동을 제어할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있다. 또한, 외부의 장애물의 크기나 특성에 따라 제어부(900)는 기능부(400)가 특정한 기능을 수행하도록 제어하거나, 혹은 기능부(400)가 기능을 수행하지 않도록 제어할 수 있다.
맵 저장부(200)는 맵을 저장한다. 맵은 로봇(1000)이 이동할 수 있는 공간에 대한 정보를 의미한다. 맵은 전체 공간을 세분화된 단위 영역으로 나누어 단위 영역에 벽, 유리와 같은 고정 객체가 배치되어 있는지, 혹은 해당 고정 객체의 높이나 재질이 무엇인지 등을 저장할 수 있다. 또한, 맵 저장부는 맵 뿐만 아니라 유동적이거나 임시적인 장애물 혹은 고정된 장애물에 대한 3차원적인 정보도 함께 저장할 수 있다. 예를 들어, 라이다 센싱부(130)에서 벽으로 판단한 영역에 돌출된 장애물이 배치되는 경우 이를 맵에 표시할 수도 있다.
맵은 다양한 방식으로 구성될 수 있다. 일 실시예로 전체 공간을 X축 및 Y축으로 하고, 일정한 단위 영역으로 나누어 각 단위 영역에 고정된 객체가 존재하는지, 혹은 돌출된 장애물이 존재하는지에 대한 정보를 저장할 수 있다. 또한 각 단위영역에 Z축을 기준으로 특정한 높이의 돌출물과 같은 장애물이 배치되어 있는지를 확인할 수 있다.
도 2에서 맵 저장부(200)는 로봇(1000) 내에 포함되어 있으나, 다른 실시예에 의하면 맵 저장부(200)가 서버에 배치될 수 있다. 이 경우, 로봇(1000)은 실시간으로 혹은 일정한 시간 간격을 두고 서버에 저장된 맵을 서버의 통신부와 통신을 이용하여 수신할 수 있다. 또한, 로봇(1000)이 추가로 저장해야 할 정보를 서버에 전송할 수 있다.
또한, 맵 저장부(200)에 저장되는 맵은 라이다(Lidar) 센서를 이용하여 생성될 수 있다. 예를 들어, 도 1에 추가적으로 라이다 센서가 배치되어 로봇은 지속적으로 맵을 생성 및 업데이트할 수 있다. 또한, 라이다 센서가 돌출물에 대한 정보를 파악하기 위해서 다른 센싱부들(110, 120, 140)을 이용하여 맵을 구성하는데 필요한 정보를 제공할 수 있다.
도 3은 본 발명의 일 실시예에 의한 공간을 단위 영역으로 구성되는 맵으로 구성한 실시예를 도시한 도면이다. 맵의 단위 영역이 하얀 색인 경우 해당 공간은 장애물과 같은 객체가 존재하지 않아 로봇(1000)이 이동할 수 있는 공간이다.
도 3의 210은 일종의 비트맵과 같이 구성할 수 있다. 이미지 파일의 비트맵에서 각 비트가 하나의 단위 영역을 나타내도록 구성할 수 있다. 각 단위 영역은 좌측 하단을 (0, 0)으로, 우측 상단을 (19, 19)로 지시할 수 있다. 도 3의 210과 같이 단위 영역을 20x20으로 구성하여 맵의 단위 영역의 컬러가 211과 같은 검은 색인 경우 벽, 유리 등과 같은 고정 객체가 배치된 공간으로 정보를 저장한다.
212 내지 214는 돌출물이 배치된 정보를 의미한다. 돌출물은 로봇의 키보다 낮게 배치되는 외부의 객체를 의미한다. 212는 로봇의 높이보다 일정크기보다 작은 높이로 배치된 돌출물을 의미한다. 일 실시예로 상단 돌출물이라고 지시한다. 이는 전술한 로봇의 상단에 배치된 적외선 센신부(120)에서 센싱될 수 있다.
213은 로봇의 높이의 중간 높이에 배치된 돌출물을 의미한다. 본 발명의 일 실시예로 초음파 센싱부(110) 또는 뎁스 센싱부(140)에서 센싱될 수 있다.
214는 로봇이 진행하는 방향의 바닥에 배치된 돌출물을 의미한다. 바닥의 전선, 몰딩 등으로, 로봇의 이동부(도 2의 300)가 진행할 수 있는지를 판단하기 위한 것이다.
맵에 저장되는 212 내지 214의 돌출물들의 높이는 모두 TOP_H 보다 작은 것을 의미한다. 또한 214의 돌출물의 높이는 BOTTOM_H 보다 높은 것을 의미한다.
전술한 라이다 센싱부(130)가 맵을 생성하는 과정에서 돌출물은 라이다 센싱부(130)가 센싱하는 높이 영역에 배치되지 않을 수 있으며, 이로 인해 맵에 저장되지 않을 수 있다. 그리고 본 발명의 실시예를 적용하는 과정에서 센싱 모듈(100)이 돌출물의 정보를 파악하여 맵에 저장할 수 있다. 도 3의 맵(210)은 로봇의 이동공간의 고정 객체를 211과 같이 2차원으로 저장하며, 돌출물을 212, 213, 214와 같이 3차원으로 저장할 수 있다. 돌출물이 배치된 높이는 로봇의 높이보다 작을 수 있다.
도 3에서는 고정 구조물인지, 아니면 돌출물인지에 대해 맵 상에 무늬 혹은 색상으로 구별하였으나, 이외에도 숫자를 이용하여 구분할 수 있다. 예를 들어, 211과 같은 고정 구조물에 대해서는 10이라는 값을 할당하고, 212와 같은 상단 돌출물에 대해서는 1을, 213가 같은 중간 돌출물에 대해서는 2를, 214와 같은 하단 돌출물에 대해서는 3이라는 값으로 맵(210)을 구성할 수 있다.
이외에도, 돌출물의 하단의 높이와 상단의 높이에 대한 정보도 함께 저장할 수 있다. 돌출물이 가질 수 있는 높이에서의 범위를 다음 표와 같이 일정한 범위로 나눌 수 있다. 아래 표는 예시적이며 돌출물의 성격에 따라 다양하게 구성될 수 있다.
Group 하단 시작 높이 상단 시작 높이
1 TOP_H * 0.8 보다 높음 TOP_H 보다 낮음
2 TOP_H * 0.4 보다 높음 TOP_H * 0.6 보다 낮음
3 0 이상 BOTTOM_H * 1.2 보다 낮으며 BOTTOM_H * 0.9 보다 높음
4 0 이상 TOP_H * 0.6 보다 낮음
5 0 이상 TOP_H 보다 낮으며 TOP_H * 0.6 보다 높음
정리하면, 본 발명의 일 실시예에 의한 로봇(1000)은 센싱 모듈(100)에서 로봇(1000)이 진입하거나 근접하고자 하는 영역에 배치되는 돌출물을 센싱하여 돌출물의 높이 정보를 반영하여 도 3과 같은 맵을 작성한다. 또한, 도 3의 맵에 기반하여 돌출물의 높이에 따라 주어진 기능을 수행할 수 있다.
예를 들어, 돌출물의 돌출된 정도와 높이를 반영하여 청소 기능을 수행하는 로봇(1000)이 돌출물이 배치된 영역의 바닥을 청소하는 기능을 수행할 수 있다. 이를 위해, 센싱모듈(100)은 로봇의 크기에 대응하여 돌출물의 높이, 바닥에 배치된 돌출된 장애물의 높이, 또는 로봇의 중간 영역에 배치되는 돌출물의 존재 여부 등을 확인하기 위해 도 1의 다양한 센싱부들을 이용할 수 있다.
도 4는 본 발명의 일 실시예에 의한 다양한 센싱부들이 배치되는 구성을 보여주는 도면이다. 로봇(1000a)의 전면에는 적외선 센싱부(120a~120d), 초음파 센싱부(110a, 110b), 라이다 센싱부(130a), 뎁스 센싱부(140a)가 배치되어 있다. 실시예에 따라 다양한 종류의 센싱부들이 하나 혹은 다수가 배치될 수 있다. 도 4에서는 적외선 센싱부(120a~120d)가 로봇(1000a)의 상하에 배치되어 돌출된 장애물의 높이를 확인할 수 있도록 한다. 또한, 초음파 센싱부(110a, 110b)는 센싱부(120a~120d)가 센싱하는 높이가 아닌 중간 영역에 배치된 돌출물을 효과적으로 센싱하기 위해 배치된다.
라이다 센싱부(130a)는 전체 맵을 작성할 수 있다. 뎁스 센싱부(140a)는 전면부에 배치되는 장애물의 뎁스를 센싱하여, 적외선 센싱부(120a~120d)와 초음파 센싱부(110a, 110b)가 센싱한 정보에 정확도를 높일 수 있다.
또한 진행 방향으로 바닥에 가까운 영역에 별도의 장애물이 있는지를 확인하는 하면 센싱부(190a)가 선택적으로 배치될 수 있다. 이는 아래쪽에 배치되는 적외선 센싱부(120b, 120d)와 함께 바닥에 가까이 배치되어 바닥에서 돌출한 장애물 혹은 바닥에 인접한 공간의 재질 등을 확인할 수 있다. 하면 센싱부(190a)의 일 실시예로는 초음파 센싱부가 될 수 있다. 또한, 하면의 재질을 센싱하거나, 하면의 이미지를 센싱하는 등 다양한 센서가 하면 센싱부(190a)에 적용될 수 있다.
그 외 기능부(400a)가 배치될 수 있다. 도 4에서 기능부(400a)는 청소를 수행하는 구성요소로 솔이나 걸레, 혹은 먼지 흡입구 등이 될 수 있다. 기능부(400a)가 보안을 수행하는 경우, 폭탄 탐지를 수행하는 구성요소가 포함될 수 있다. 이동부(300)는 로봇의 아래에 배치되어 도 4에 도시되지 않은 형태이다.
도 3 및 도 4의 로봇을 정리하면 다음과 같다. 센싱 모듈(100)은 로봇의 외부에 배치된 돌출물을 센싱하여 높이 및 깊이 정보를 제공한다. 높이 및 깊이 정보는 적외선 센싱부(120a~120d), 초음파 센싱부(110a, 110b), 라이다 센싱부(130a), 뎁스 센싱부(140a)에서 센싱된 값을 조합하여 산출할 수 있다.
높이는 지면에서의 돌출물의 높이를 의미한다. 돌출물의 깊이는 돌출물이 돌출된 길이를 의미하는데, 예를 들어, 벽에 설치된 돌출물의 깊이는 돌출물의 끝단에서 벽까지의 거리를 일 실시예로 한다.
예를 들어 상단에 위치하는 적외선 센싱부(120a, 120c)는 TOP_H 높이 부근에 배치되는 돌출물을 센싱할 수 있다. 또한 하단에 위치하는 적외선 센싱부(120b, 120d)는 BOTTOM_H 높이 부근에 배치되는 돌출물을 센싱할 수 있다. 초음파 센싱부(110a, 110b)는 BOTTOM_H와 TOP_H 사이의 돌출물을 센싱할 수 있다.
그리고 기능부(400a)는 외부에 미리 설정된 기능을 제공한다. 도 4에서는 청소 기능이지만, 이외에도 안내, 보안 등 특화된 기능을 제공하는 구성요소가 로봇(1000a)에 배치될 수 있다. 이동부(도 3의 300)가 로봇을 이동시키며, 맵 저장부(200)가 로봇의 이동에 필요한 맵을 저장하는 것은 도 3에서 살펴보았다.
제어부(900)는 센싱 모듈(100), 이동부(300), 맵 저장부(200)를 제어하며 센싱 모듈(100)이 제공하는 정보(예를 들어 돌출물의 높이와 깊이 정보)와 맵 저장부(200)에 저장된 정보를 비교하여 장애물을 포함하는 3차원 공간에서 기능부(400a)가 기능할 수 있는 기능 영역을 식별한다. 이에 제어부(900)는 전방에 돌출물이 배치되어 있어도 기능부(400a), 예를 들어 청소 기능을 제공하는 기능부(400a)가 청소를 수행할 수 있을 만큼 이동부(300)를 제어하고, 기능부(400)를 제어할 수 있다.
도 4를 적용할 경우, 다양한 센싱부들을 이용하여 상단, 중간, 또는 하단의 로봇의 높이보다 높은 장애물을 판단할 수 있다. 특히, 특정 높이의 돌출물을 판단하는데 정확한 적외선 센싱부(120a~120d), 높이 보다는 돌출물의 존재 여부를 정확하게 센싱하는 초음파 센싱부(110a, 110b), 전방의 돌출물의 윤곽과 뎁스를 확인하는 뎁스 센싱부(140a), 로봇의 주변에 대한 통합적인 맵을 형성할 수 있는 라이다 센싱부(130a)를 융합하여 도 3에서 살펴본 바와 같이, 로봇주변에 대한 가상의 3차원 맵을 만든다.
맵을 이용하여 로봇이 상단 또는 중간에 돌출한 장애물을 만날 경우, 최대한 근접하여 기능부(400a)가 청소를 수행할 수 있도록 하여 청소 효율을 높일 수 있다. 또한, 로봇 크기보다 높은 장애물이 존재할 경우에는 이를 무시하고 로봇의 기능, 예를 들어 청소, 보안 점검 등을 진행할 수 있다.
특히, 공항, 터미널, 병원 등과 같이 대면적의 공간을 청소로봇이 이동하는 과정에서는 다양한 변수들이 발생할 수 있다. 이들 청소로봇은 일반적인 가정용 로봇 보다 높은 형상이므로 공간을 3차원 상에서 판단해야 한다. 따라서, 돌출물과 같은 장애물이 로봇이 통과할 수 있는 높이인지를 적외선 센싱부(120a~120d)와 초음파 센싱부(110a, 110b), 그리고 추가적으로 뎁스 센싱부(140a)와 라이다 센싱부(130a)를 이용하여 로봇이 청소할 수 있는 기능 영역을 식별하여 기능을 완성시키는 효율(예를 들어 청소 효율)을 높일 수 있다.
전선의 몰딩과 같이 바닥 면에 배치되는 다양한 돌출물들(예를 들어 BOTTOM_H 보다 높은)을 감지하기 위해서는 다양한 센서들을 이용할 수 있다. 특히, 초음파를 이용하여 센싱된 데이터와 적외선을 이용하여 센싱된 데이터를 조합하면 돌출된 장애물을 감지하여 로봇이 돌출물에 접근하는 것과 접근 후 청소하는 기능 영역을 식별할 수 있으며 이로 인해 청소 효율을 향상시킬 수 있다.
본 발명을 적용할 경우, 하단에 배치된 BOTTOM_H 보다 낮은 장애물과 BOTTOM_H보다 높은 장애물을 구분할 수 있다. 그 결과 로봇이 넘을 수 있는 장애물이 센싱될 경우 로봇은 진입하여 청소와 같은 기능을 수행할 수 있다. 이는 도16에 자세히 설명되어 있다.
도 3에서는 돌출물의 높이에 따라 맵을 구성함을 살펴보았다. 이하 본 발명의 실시예에 의한 로봇이 다양하게 구성되는 돌출물을 센싱하는 과정에 대해 살펴본다. 도 4의 로봇을 중심으로 설명한다.
도 5 및 도 6은 본 발명의 일 실시예에 의한 상단 돌출물을 적외선 센싱부가 검출하는 도면이다.
도 5를 살펴보면, 로봇(1000a)의 상단에 배치되는 상단에 배치되는 적외선 센싱부(120a, 120c)는 진행 방향에 배치되는 돌출물(10a)을 센싱한다. 센싱되는 값인 r1은 적외선 센싱부(120a, 120c)와 돌출물(10a) 사이의 거리를 일 실시예로 한다. 또한, 센싱 데이터 분석부(150)가 센싱된 값을 돌출물(10a)과 로봇(1000a) 사이의 거리 정보로 변환할 수도 있다.
한편, 하단에 배치되는 적외선 센싱부(120b, 120d)는 진행 방향에 배치되는 벽(20)을 센싱한다. 센싱되는 값인 r0는 적외선 센싱부(120b, 120d)와 벽(20) 사이의 거리를 일 실시예로 한다.
초음파 센싱부(110a, 110b) 역시 진행 방향에 배치되는 벽(20)을 센싱한다. 센싱되는 값인 u1은 초음파 센싱부(110a, 110b)와 벽(20) 사이의 거리를 일 실시예로 한다. 또한, 센싱 데이터 분석부(150)가 센싱된 값을 벽(20)과 로봇(1000a) 사이의 거리 정보로 변환할 수도 있다. r0와 u1은 유사한 값을 가질 수 있다. 뎁스 센싱부(140a)는 전방의 벽(20)과 돌출물(10a)의 뎁스를 산출할 수 있다.
센싱 데이터 분석부(150)는 r1 및 u1이 상이한 값임을 확인하면, 돌출물이 전방에 배치된 것으로 확인할 수 있다. 또한, 뎁스 센싱부(140a)에서 전방의 물체들의 뎁스 정보를 이용한다. 센싱 데이터 분석부(150)는 각각의 센싱부들이 센싱한 값들을 제어부(900)에게 제공한다.
제어부(900)는 맵 저장부(200)에 저장된 맵과 현재 로봇(1000a)의 위치 및 센싱된 정보를 이용하여 돌출물(10a)이 배치되어 있음을 확인한다. 또한, 해당 돌출물(10a)의 높이가 로봇이 통과하지 못하는 높이라는 것을 확인하고, 돌출물의 깊이(u1-r1) 영역에 대해서는 기능부(도 4의 400a)를 확장하여 해당 기능을 수행할 수 있다. 예를 들어, 로봇(1000a)을 돌출물(10a) 까지 근접시킨 후, 기능부(400a)가 특정한 기능(예를 들어 청소, 보안 등)을 수행하도록 할 수 있다. 그 결과 로봇(1000a)은 돌출물(10a)로 인해 접근이 어려워도 청소와 같은 기능을 수행할 수 있다.
제어부(900)는 돌출물(10a)에 대해 도 3에서 살펴본 바와 같이 상단 돌출물로 맵(210)에 저장할 수 있다. 일 실시예로, 돌출물의 높이는 TOP_H로 하고, 돌출물의 깊이는 (u1-r1)으로 할 수 있다.
도 6은 본 발명의 일 실시예에 의한 상단의 돌출부(10a)에 근접한 로봇이 기능부(400a)를 확장하여 소정의 기능을 수행하는 도면이다. 상단에 배치되는 적외선 센싱부(120a, 120c) 및 중간에 배치되는 초음파 센싱부(110a, 110b)를 이용하여 로봇(1000a)은 상단의 돌출물(10a)에 근접한다. 그리고 기능부(400a)를 그대로 이용하거나 혹은 기능부(400a)를 확장하여 돌출물(10a) 아래의 영역에서 소정의 기능을 수행한다. 일 실시예로 청소를 포함한다.
도 7은 본 발명의 다른 실시예에 의한 중간 돌출물을 적외선 센싱부가 검출하는 도면이다.
로봇(1000a)의 중간에 배치되는 초음파 센싱부(110a, 110b)가 진행 방향에 배치되는 돌출물(10b)을 센싱한다. 센싱되는 값인 u2은 초음파 센싱부(110a, 110b)와 돌출물(10b) 사이의 거리를 일 실시예로 한다. 또한, 센싱 데이터 분석부(150)가 센싱된 값을 돌출물(10b)과 로봇(1000a) 사이의 거리 정보로 변환할 수도 있다.
그리고 적외선 센싱부(120a, 120c) 역시 진행 방향에 배치되는 벽(20)을 센싱한다. 센싱되는 값인 r2는 적외선 센싱부(120a, 120c)와 벽(20) 사이의 거리를 일 실시예로 한다. 또한, 센싱 데이터 분석부(150)가 센싱된 값을 벽(20)과 로봇(1000a) 사이의 거리 정보로 변환할 수도 있다. 또한, 뎁스 센싱부(140a)는 전방의 벽(20)과 돌출물(10b)의 뎁스를 산출할 수 있다.
센싱 데이터 분석부(150)는 r2 및 u2가 상이한 값임을 확인하면, 돌출물이 전방에 배치된 것으로 확인할 수 있다. 또한, 뎁스 센싱부(140a)에서 전방의 물체들의 뎁스 정보를 이용한다.센싱 데이터 분석부(150)는 각각의 센싱부들이 센싱한 값들을 제어부(900)에게 제공한다.
제어부(900)는 맵 저장부(200)에 저장된 맵과 현재 로봇(1000a)의 위치 및 센싱된 정보를 이용하여 돌출물(10b)이 배치되어 있음을 확인한다. 또한, 해당 돌출물(10b)의 높이가 로봇이 통과하지 못하는 높이라는 것을 확인하고, 돌출물의 깊이(r2-u2) 영역에 대해서는 기능부(도 4의 400a)를 확장하여 해당 기능을 수행할 수 있다. 예를 들어, 로봇(1000a)을 돌출물(10b) 까지 근접시킨 후, 기능부(400a)가 특정한 기능(예를 들어 청소, 보안 등)을 수행하도록 할 수 있다. 그 결과 로봇(1000a)은 돌출물(10b)로 인해 접근이 어려워도 청소와 같은 기능을 수행할 수 있다.
제어부(900)는 돌출물(10b)에 대해 도 3에서 살펴본 바와 같이 중간 돌출물로 맵(210)에 저장할 수 있다. 일 실시예로, 돌출물의 높이는 (TOP_H-BOTTOM_H)/2로 하고, 돌출물의 깊이는 (r2-u2)으로 할 수 있다.
도 5 내지 도 7에서 하단의 적외선 센싱부(120b, 120d) 역시 계속 벽(20)과의 거리를 센싱할 수 있다. 도 5에서 하단의 적외선 센싱부(120b, 120d)가 벽(20)을 센싱하는 거리는 u1과 동일할 수 있으며, 도 6에서 하단의 적외선 센싱부(120b, 120d)가 벽(20)을 센싱하는 거리는 u1-r1과 동일할 수 있으며, 도 7에서 하단의 적외선 센싱부(120b, 120d)가 벽(20)을 센싱하는 거리는 r2와 동일할 수 있다. 다만, 로봇(1000a)의 전면의 구조에 따라 다소 차이가 발생할 수 있으나, 센싱 데이터 분석부(150)에서는 이러한 차이를 모두 보정할 수 있다.
도 8 및 도 9는 본 발명의 또다른 실시예에 의한 하단 돌출물을 적외선 센싱부가 검출하는 도면이다.
도 8에서 로봇(1000a)의 상단에 배치되는 적외선 센싱부(120a, 120c) 및 중간에 배치되는 초음파 센싱부(110a, 110b)가 진행 방향에 배치되는 벽(20)을 센싱한다.
센싱되는 값인 r3 및 u3는 각각의 센싱부들과 벽(20) 사이의 거리를 일 실시예로 한다. 또한, 센싱 데이터 분석부(150)가 센싱된 값을 돌출물(10b)과 로봇(1000a) 사이의 거리 정보로 변환할 수도 있다.
한편, 하단에 배치되는 적외선 센싱부(120b, 120d)는 진행 방향에 배치되는 돌출물(10c)을 센싱한다. 센싱되는 값인 r4는 적외선 센싱부(120b, 120d)와 돌출물(10c) 사이의 거리를 일 실시예로 한다. 또한, 센싱 데이터 분석부(150)가 센싱된 값을 돌출물(10c)과 로봇(1000a) 사이의 거리 정보로 변환할 수도 있다. 또한, 뎁스 센싱부(140a)는 전방의 벽(20)과 돌출물(10c)의 뎁스를 산출할 수 있다.
센싱 데이터 분석부(150)는 r3 및 u3가 같거나 거의 유사한 값임을 확인하고, r4가 r3 및 u3와는 상이한 값임을 확인하면, 돌출물이 하단에 배치된 것으로 확인할 수 있다. 또한, 뎁스 센싱부(140a)에서 전방의 물체들의 뎁스 정보를 이용한다. 특히, 뎁스 센싱부(140a)가 이전부터 저장했던 값을 이용하여 뎁스 센싱부(140a)가 돌출물(10c)에 근접하기 전에 저장했던 뎁스 정보를 반영하여 하단에 돌출물이 배치된 것을 확인할 수 있다.
센싱 데이터 분석부(150)는 각각의 센싱부들이 센싱한 값들을 제어부(900)에게 제공한다.
제어부(900)는 맵 저장부(200)에 저장된 맵과 현재 로봇(1000a)의 위치 및 센싱된 정보를 이용하여 돌출물(10c)이 배치되어 있음을 확인한다. 또한, 해당 돌출물(10c)의 높이(BOTTOM_H)가 로봇이 진입하지 못하는 높이라는 것을 확인하여, 돌출물의 깊이(r3-r4)를 고려하여 접근할 수 있다.
즉, 도 8의 실시예를 적용할 경우, 로봇(1000a)이 벽(20)만을 센싱하여 하단에 배치되는 돌출물(10c)를 확인하지 못해 로봇이 진입하는 문제를 해결할 수 있다. 특히, 기능부(400a)는 솔, 걸레와 같이 로봇 하면에 배치되는 암(arm)을 이용하여 확장될 수 있는데, 하단의 돌출물(10c)을 확인하지 못할 경우 암이 부서질 수도 있다. 또는, 하단의 돌출물(10c)의 높이보다 높은 위치로 기능부(400a)를 이동시켜 소정의 기능을 수행할 수 있다.
도 9는 본 발명의 일 실시예에 의한 하단의 돌출부(10c)에 근접한 로봇이 기능부(400a)를 이동 또는 확장하여 소정의 기능을 수행하는 도면이다. 상단에 배치되는 적외선 센싱부(120a, 120c) 및 중간에 배치되는 초음파 센싱부(110a, 110b), 그리고 하단에 배치되는 적외선 센싱부(120b, 120d)를 이용하여 로봇(1000a)은 하단의 돌출물(10c)에 근접한다. 그리고 기능부(400a)를 위로 확장 또는 이동하여 돌출물(10c) 상에서 소정의 기능을 수행한다. 일 실시예로 청소를 포함한다.
도 5 내지 도 9의 실시예를 중심으로 정리하면 다음과 같다.
제1 적외선 센싱부(120a, 120c)는 로봇의 상단에 배치되어 TOP_H라는 높이에서 외부에 배치된 객체와의 거리를 센싱할 수 있다. 제2 적외선 센싱부(120b, 120d)는 로봇의 하단에 배치되어 BOTTOM_H의 높이에서 외부에 배치된 객체와의 거리를 센싱할 수 있다.
초음파 센싱부(110a, 110b)는 제1적외선 센싱부(120a, 120c) 보다 낮고 제2 적외선 센싱부(120b, 120d) 보다는 높은 위치에 배치되어 외부에 배치된 객체와의 거리를 센싱할 수 있다. 그리고 뎁스 센싱부(140a)는 전방의 하나 이상의 객체들의 뎁스를 센싱한다. 그리고 센싱 데이터 분석부(150)는 이들 센싱부들이 센싱한 값들의 차이를 분석할 수 있다. 분석된 값은 제어부(900)에게 전달되고, 제어부는 센싱부들이 센싱한 값들(r1~r4, u1~u3 등)을 이용하여 이들 값들이 가지는 차이에 따라 돌출물의 정보를 맵 저장부(200)에 저장할 수 있다.
본 발명의 실시예에 의하면, 기능부(400a)가 로봇의 하단에 배치되어 바닥을 청소하는 기능을 제공할 경우, 기능부(400a)가 전술한 돌출물의 깊이에 대응하는 바닥의 영역에 대해 청소 기능을 수행하도록 제어부(900)가 기능부(400a)를 제어할 수 있다.
도 5 및 도 6에서는 r1 < u1 이며, 돌출물의 깊이 정보는 (u1-r1)이 저장될 수 있다. 도 7에서는 u2 < r2 이며, 돌출물의 깊이 정보는 (r2-u2)가 저장될 수 있다. 도 8 및 도 9에서는 r4 < r3 및 r4 < u3 이므로, 돌출물의 깊이 정보는 (r3-r4) 또는 (u3-r4)가 저장될 수 있다.
또한, 제어부(900)는 돌출물이 상단/중간/하단에 배치되는지에 대한 정보를 맵 저장부(200)에 저장할 수 있다.
돌출물의 돌출 정도와 돌출물의 높이(상단, 중간, 하단)의 정보는 도 3과 같이 맵(210)에 저장될 수 있다. 특히, 도 5 내지 도 9의 돌출물들은 모두 고정된 객체, 즉 벽(20)에 부착된 형태이다. 따라서, 돌출물의 돌출 정도는 맵 상의 고정 객체(벽)과의 관계 하에서 저장될 수 있다. 한편, 돌출물의 깊이가 맵의 단위 영역보다 작을 경우 높이 정보와 깊이 정보가 모두 결합된 값을 맵에 저장할 수 있다.
도 10은 본 발명의 일 실시예에 의한 돌출물의 정보가 저장된 맵을 보여주는 도면이다. 도 10은 로봇이 이동하는 영역 내의 돌출물과 벽과 같은 장애물들에 대한 3차원의 맵을 도시하고 있다.
일 실시예로, 100은 고정된 벽과 같은 구조물을 지시한다. 단위 영역이 1 미터(1 m)인 경우를 기준으로 한다.
상단/중간/하단 돌출물은 각각 백단위 숫자가 200, 300, 400을 의미한다. 이와 달리, 앞의 표 1에서 살펴본 그룹 부분이 숫자의 백단위의 값으로 설정되도록 설정할 수도 있다.
돌출물의 깊이가 벽을 기준으로 단위 길이 비율로 10자리 값을 가지도록 한다. 예를 들어, 상단 돌출물이면서, 벽을 기준으로 깊이가 25cm 인 경우, 상단 돌출물은 225의 값을 가진다. 도 5 및 도 6에서의 돌출물(10a)의 깊이(u1-r1)의 값을 단위영역(1미터)을 기준으로 산출하여 그 값을 반영하여 숫자로 돌출물의 높이 및 깊이를 맵 저장부(200)에 저장할 수 있다(1010a 참조).
마찬가지로, 중간 돌출물이면서 벽을 기준으로 깊이가 50cm 인 경우, 중간 돌출물은 350의 값을 가진다. 도 7에서의 돌출물(10b)의 깊이(r2-u2)의 값을 단위영역(1미터)을 기준으로 산출하여 그 값을 반영하여 숫자로 돌출물의 높이 및 깊이를 맵 저장부(200)에 저장할 수 있다(1010b 참조).
또한, 하단 돌출물이면서 벽을 기준으로 깊이가 10cm인 경우, 하단 돌출물은 410의 값을 가진다. 도 8 및 도 9에서 돌출물(10c)의 깊이 (r3-r4 또는 u3-r4)의 값을 단위영역(1미터)을 기준으로 산출하여 그 값을 반영하여 숫자로 돌출물의 높이 및 깊이를 맵 저장부(200)에 저장할 수 있다(1010c 참조).
정리하면, 본 발명의 일 실시예에 의한 로봇은 벽에 인접한 돌출물의 경우, 해당 벽과의 거리, 즉 돌출물의 깊이 정보와 높이 정보를 맵(210a)에 저장할 수 있다. 이 정보는 다른 로봇 또는 서버에게 제공할 수 있다.
전술한 본 발명의 실시예를 적용할 경우, 공항, 터미널과 같은 대면적에서 운용하는 로봇에 적용할 수 있다. 이 로봇은 크기가 큰 자율 주행 로봇을 일 실시예로 하며, 맵을 이용하여 주행 가능 영역을 판단하는 알고리즘이 탑재될 수 있다. 또한, 전술한 다양한 센싱부들에서 산출하는 데이터를 이용하여 도 10과 같이 로봇 주변의 장애물에 대한 3차원의 맵을 생성하거나, 혹은 업데이트할 수 있다.
본 발명의 일 실시예를 적용하면, 각 장애물의 높이는 센싱 모듈(100)을 통해 확인할 수 있고, 높이 정보는 맵에 저장되므로, 로봇은 장애물의 높이에 알맞게 특수한 기능(예를 들어 청소, 보안, 안내)을 수행할 수 있다. 특히, 장애물의 높이에 따라 기능을 수행할 수 영역이 확보되면 확보된 영역에 기능을 수행함으로써 전체 공간에서의 로봇의 기능 효율을 높일 수 있다.
도 11은 본 발명의 일 실시예에 의한 기능부를 보여주는 도면이다. 설명의 편의를 위해 이동부(300a) 혹은 다른 구성요소들은 도시하지 않았다. 로봇(1000a)의 하단부를 확대한 도면이다. 본 명세서에서 기능부(400a)는 청소기능을 수행하기 위해 상하 또는 좌우로 이동이 가능한 암(ARM)(1140)을 포함하며, 제어부(900)는 이동부(300a)가 상기 기능 영역에 진입하지 못할 경우 암(1140)을 확장시켜 기능 영역에서 청소 기능을 수행하도록 제어할 수 있다. 보다 상세히 살펴보면 다음과 같다.
청소를 수행하는 기능부(400a)는 상하 또는 좌우로 이동이 가능한 암(ARM)(1140)과 암(1140)에 부착되어 바닥의 먼지와 오물 등을 로봇(1000a) 내로 이동시키는 클리닝부(1145)로 구성된다. 암(1140)은 로봇(1000a)의 제어부(900)가 돌출물에 의해 진입이 불가능하지만 돌출물 하에 청소가 가능한 기능 영역을 확인하면, 암(1140)을 확장하여 기능 영역에서 청소를 수행할 수 있다.
암(1140)은 상하로 "Moving_height" 만큼 이동 가능하다. 또한 암(1140)은 전후 혹은 좌우로 "Moving_width" 만큼 이동 가능하다. 따라서, 하단 돌출물이 있는 경우, 암(1140)을 상하로 조정하여 청소 기능을 수행할 수 있다. 또한, 중간 돌출물 또는 상단 돌출물이 있고 로봇의 진입이 불가능할 경우, 암(1140)을 좌우 혹은 전후로 조정하여 청소 기능을 수행할 수 있다.
암(1140)이 외부의 전후 또는 좌우로 확장할 수 있는 길이와 돌출물의 높이 및 깊이를 통하여 기능 영역을 확정할 수 있다. 암(1140)이 로봇의 전면을 기준으로 30cm까지 확장이 가능한 실시예를 중심으로 살펴본다.
도 10에서 1010a에서 지시하는 돌출물의 깊이가 25cm 이므로 돌출물의 아래 부분들은 암(1140)의 확장을 통해 청소가 가능하다.
도 10에서 1010b에서 지시하는 돌출물의 깊이는 50cm이므로, 돌출물의 아래 부분 중에서 벽에서 20cm까지 떨어진 영역이 기능 영역이며, 이 영역에 대해서는 암(1140)의 확장을 통해 청소가 가능하다.
한편, 암(1140)이 로봇의 바닥을 기준으로 30cm까지 확장이 가능한 경우, 도 10에서 1010c에서 지시하는 돌출물에 대해 암(1140)의 높이를 조정하여 청소가 가능하다.
돌출물의 깊이와 높이, 그리고 암(1140)의 확장 가능한 영역을 조합하여 산출된 기능 영역에 대해 로봇이 청소 기능을 수행한 후, 청소가 완료되지 않은 영역(예를 들어, 1010b 의 벽쪽 20cm 영역)에 대한 정보는 서버에 전송하여, 서버에서 해당 영역에 청소가 완료되지 않았음을 확인할 수 있도록 한다.
이를 위해, 제어부(900)는 청소가 완료된 공간에 대한 맵을 별도로 저장할 수 있다.
도 11에서 암(1140)의 확장 혹은 이동가능한 범위와 돌출물의 깊이를 고려하여 로봇(1000a)은 이동부(300)를 이동시켜 방향을 전환할 수 있다. 예를 들어, 도 4에 제시된 바와 같이 기능부(400a)가 좌측 전방에 배치된 로봇에 있어서, 진행 방향으로 직진하는 과정에서 돌출물을 센싱한 경우, 로봇은 기능부(400a)가 보다 돌출물의 하단 영역에서의 기능 영역을 넓히기 위해 로봇의 진행 방향을 바꿀 수 있다. 예를 들어, 직진 방향에서 우회전을 하여 로봇의 기능부(400a)가 돌출물 하단에 보다 깊이 접근할 수 있도록 제어할 수 있다.
도 12는 본 발명의 일 실시예에 의한 청소완료 영역에 대한 맵을 보여주는 도면이다. 도 12의 맵(1200)은 도 10 또는 도 3의 장애물이 등록된 맵과 다른 종류의 맵이다. 도 12의 맵은 청소 완료 영역에 대한 맵으로, 청소가 완료된 공간에 대해서는 0의 값을 저장한다. 접근이 불가능한 벽과 같은 공간은 100으로 설정한다. 그 외, 앞서 도 10의 돌출물들에 대해서는 각각 1210a, 1210b, 1210c와 같이 청소가 진행된 상태를 나타낸다.
보다 상세히, 도 10에서 1010a에서 지시하는 돌출물의 바닥 부분에 대해서는 청소가 완료되었음을 1210a에서 확인할 수 있다. 마찬가지로 도 10에서 1010c에서 지시하는 하단 돌출물에 대해서도 1210c와 같이 0의 값이 저장되어 청소가 완료되었음을 확인할 수 있다.
도 10에서 1010b에서 지시하는 돌출물의 바닥 부분에 대해서는 청소가 완료되지 않았음을 1210b에서 확인할 수 있다. 20이라는 숫자는 벽을 기준으로 20cm 영역은 청소가 완성되지 않았음을 나타낸다.
도 10 내지 도 12를 정리하면, 본 발명의 제어부(900)는 돌출물이 센싱되면, 돌출물의 하부 영역에서 소정의 기능이 가능한 기능 영역을 확인하여 기능부(400a)를 상하 또는 전후 또는 좌우로 이동시켜 해당 기능 영역에서 청소와 같은 기능을 완료하도록 한다. 그리고 청소가 완료된 영역과 완료되지 않은 영역을 구분하여 별도의 맵에 저장하고, 저장된 맵은 다시 서버로 전송된다.
도 13 내지 15는 본 발명의 또다른 실시예에 의한 벽이 확인되지 않은 공간에서의 돌출물을 센싱하는 도면이다. 로봇(1000a)의 구성은 앞서 살펴본 것과 동일하다. 전방의 돌출물은 도 13 내지 도 15와 같이, 10d, 10e, 10f와 같이 배치될 수 있다. 벽과 독립하여 배치되는 돌출물의 예로는 책상과 같은 테이블이 일 실시예가 될 수 있다. 또는 차단봉의 상측에 배치되는 바(bar)가 될 수 있다. 벽과 독립했다는 것은 로봇의 진행 방향을 기준으로 좌우측으로 적외선/초음파/뎁스 등의 센싱부가 센싱할 수 있는 일정 범위 내에 벽이 없다는 것을 의미하며, 도 13 내지 도 15가 전혀 벽이 경우에만 한정되는 것은 아니다.
도 13 내지 도 15에서는 돌출물(10f)의 뎁스를 확인하기 어려우므로 돌출물(10f)에 최대한 로봇이 근접하여 기능부를 확장하거나 기능부의 위치를 조절하여 미리 설정된 기능을 수행할 수 있다.
도 13에서는 상단의 적외선 센싱부들(120a, 120c)은 돌출물(10d)을 센싱하고, 하단의 적외선 센싱부들(120b, 120d)과 초음파 센싱부(110a, 110b)는 장애물이 없는 것으로 센싱한다. 뎁스 센싱부(140a)에서 센싱한 돌출물(10d)의 뎁스를 이용하여 전방에 벽과 독립한 돌출물(10d)이 배치되어 있음을 센싱한다. 이에 로봇(1000a)은 돌출물(10d)의 전면부 영역(1310)까지 근접하여 소정의 기능을 수행한다. 이 과정에서 돌출물(10d)의 위치를 맵에 저장할 수 있다. 벽이 없으므로 돌출물의 깊이(폭) 정보를 확인할 수 없으므로, 돌출물의 높이 정보만을 맵에 저장할 수 있다. 또한, 청소와 같은 기능을 수행한 영역에 대해 도 12와 같이 맵을 저장할 수 있다.
이후, 로봇(1000a)이 돌출물(10d)의 주변을 따라 이동하여 반대편(1320)에 이동한 경우, 앞서 저장되었던 돌출물의 맵 상의 정보 및 로봇의 이동 거리 등을 이용하여 돌출물의 깊이 정보를 산출할 수 있으며, 이 정보를 이용하여 돌출물의 깊이 정보를 맵에 업데이트 할 수 있다.
도 14에서는 적외선 센싱부들(120a~120d)과 초음파 센싱부(110a, 110b)는 장애물이 없는 것으로 센싱하지만 뎁스 센싱부(140a)에서 센싱한 돌출물(10e)의 뎁스를 이용하여 전방에 벽과 독립한 돌출물(10e)이 배치되어 있음을 센싱한다. 이에 로봇(1000a)은 돌출물(10e)의 전면부 영역(1410)까지 근접하여 소정의 기능을 수행한다. 이 과정에서 돌출물(10e)의 위치를 맵에 저장할 수 있다. 벽이 없으므로 돌출물의 깊이(폭) 정보를 확인할 수 없으므로, 돌출물의 높이 정보만을 맵에 저장할 수 있다. 또한, 청소와 같은 기능을 수행한 영역에 대해 도 12와 같이 맵을 저장할 수 있다.
이후, 로봇(1000a)이 돌출물(10e)의 주변을 따라 이동하여 반대편(1420)에 이동한 경우, 앞서 저장되었던 돌출물의 맵 상의 정보 및 로봇의 이동 거리 등을 이용하여 돌출물의 깊이 정보를 산출할 수 있으며, 이 정보를 이용하여 돌출물의 깊이 정보를 맵에 업데이트 할 수 있다.
도 15에서는 적외선 센싱부들(120a~120d)은 장애물이 없는 것으로 센싱하지만 초음파 센싱부(110a, 110b)는 전방에 돌출물(10f)를 센싱한다. 뎁스 센싱부(140a)에서 센싱한 돌출물(10f)의 뎁스를 이용하여 전방에 벽과 독립한 돌출물(10f)이 배치되어 있음을 센싱한다. 이에 로봇(1000a)은 돌출물(10f)의 전면부 영역(1510)까지 근접하여 소정의 기능을 수행한다. 이 과정에서 돌출물(10f)의 위치를 맵에 저장할 수 있다. 벽이 없으므로 돌출물의 깊이(폭) 정보를 확인할 수 없으므로, 돌출물의 높이 정보만을 맵에 저장할 수 있다. 또한, 청소와 같은 기능을 수행한 영역에 대해 도 12와 같이 맵을 저장할 수 있다.
이후, 로봇(1000a)이 돌출물(10f)의 주변을 따라 이동하여 반대편(1520)에 이동한 경우, 앞서 저장되었던 돌출물의 맵 상의 정보 및 로봇의 이동 거리 등을 이용하여 돌출물의 깊이 정보를 산출할 수 있으며, 이 정보를 이용하여 돌출물의 깊이 정보를 맵에 업데이트 할 수 있다.
도 16은 본 발명의 일 실시예에 의한 바닥의 돌출물을 센싱하는 도면이다. 로봇의 진행 방향으로 두 개의 돌출물(10g, 10f)이 배치되어 있다. 바닥의 돌출물의 일 실시예로는 전선을 몰딩한 것을 포함한다.
로봇은 BOTTOM_H 보다 낮은 돌출물은 통과할 수 있다. 따라서, 하단의 적외선 센싱부(120b, 120d)를 이용하여 하단에 배치된 돌출물을 확인할 수 있다. 도 16에서 첫번째 돌출물(10g)은 적외선 센싱부(120b, 120d)에서 센싱되지 않는다. 이는 로봇(1000a)이 통과할 수 있음을 의미한다. 그 뒤의 돌출물(10h)은 적외선 센싱부(120b, 120d)에서 센싱된다. 이는 로봇(1000a)이 통과할 수 없음을 의미한다. 따라서, 로봇(1000a)은 두 번째 돌출물(10f)에 가까이 가서 소정의 청소 기능을 수행할 수 있다. 두번째 돌출물(10f)에 대한 정보는 맵에 저장할 수 있다.
도 17은 본 발명의 일 실시예에 의한 상단과 하단의 돌출물의 거리가 상이한 경우를 보여주는 도면이다.
로봇의 진행 방향으로 두 개의 돌출물(10i, 10j)이 배치되어 있다. 상단의 적외선 센싱부(120a, 120c)가 제1돌출물(10i)을 센싱한 거리는 r7이며, 하단의 적외선 센싱부(120b, 120d)가 제2돌출물(10j)을 센싱한 거리는 r8이며, 중간의 초음파 센싱부(110a, 110b)가 벽(20)을 센싱한 거리는 u7이다. 이들 각각의 센싱된 정보를 조합하여 제어부(900)는 r8-r7 의 영역에 대해 청소 등의 기능을 수행할 수 있는지를 확인할 수 있다. 만약 r8-r7의 값이 기능부(400a)가 확장할 수 있는 길이보다 작으면 제1돌출물(10i)의 아래 바닥 부분에 대해 기능을 완료할 수 있다. 반면 r8-r7의 값이 기능부(400a)가 확장할 수 있는 길이보다 큰 경우, 제1돌출물(10i)의 아래 바닥 부분 중 일부에 대해서만 기능을 완료할 수 있다.
도 18은 본 발명의 일 실시예에 의한 로봇의 각 구성요소들이 돌출물을 센싱하고 이에 따라 동작하는 과정을 보여주는 도면이다. 앞서 살펴본 로봇의 구성요소들을 참고한다. 로봇은 주행 상태를 유지한다(S1810). 이 과정에서 선택적으로 제어부는 고정 객체를 맵 저장부에 2차원으로 저장할 수 있다(S1810). 예를 들어 라이다 센싱부(130)를 이용하여 로봇 주변의 벽 또는 유리와 같은 고정 객체들의 위치 정보를 맵 저장부에 저장할 수 있다(S1820). 고정 객체는 2차원으로 저장할 수 있다. 또는 전술한 적외선 센싱부(120)와 초음파 센싱부(110)등을 이용하여 3차원 정보로도 저장할 수 있다. S1820 단계는 맨 처음 로봇이 주행하는 단계에서만 진행할 수도 있고, 매번 주행할 경우에 진행될 수 있다. 매번 주행하면서 벽과 같은 고정 객체가 변경되거나 오차가 있는 경우 이를 맵 저장부에 업데이트한다.
이후 로봇의 주행 과정에서 센싱 모듈이 돌출물의 높이와 깊이를 센싱한다(S1830). 센싱 모듈(100) 또는 센싱 모듈(100)을 구성하는 센싱 데이터 분석부(150)가 돌출물의 높이와 깊이 정보를 제어부에게 제공할 수 있다(S1840). 이후, 제어부는 돌출물의 높이와 깊이 정보, 그리고 맵 저장부에 저장된 정보(고정 객체 또는 앞서 센싱된 돌출물의 정보 등)를 비교하여 돌출물을 포함하는 3차원 공간에서 기능 영역을 식별하여 이동부와 기능부를 제어할 수 있다.
보다 상세히, 돌출물의 깊이에 따라, 돌출물의 하단 영역이 기능부를 확장하여 동작할 수 있는 영역인지, 혹은 돌출물의 높이에 따라 돌출부의 상단 영역이 기능부를 수직으로 상승시켜 동작할 수 있는 영역인지 등을 식별할 수 있다. 앞서 도 6, 도 9 및 도 11에서 기능부를 제어하는 실시예를 살펴보았다. 이후 제어부는 돌출물을 맵 저장부에 3차원으로 저장한다(S1860). 3차원으로 저장한다는 의미는 돌출물의 높이와 깊이 정보가 반영되도록 저장하는 것을 의미한다. 앞서 도 3 및 도 12에서 살펴보았다.
또한, 전술한 식별된 기능 영역 외에 돌출물의 하부 영역이 존재할 경우에는 기능부가 동작하지 않은 공간에 대한 정보를 별도의 맵에 저장할 수 있다. 도 12에서 살펴본 바와 같이 돌출물의 깊이가 깊어서 로봇의 기능부가 확장 또는 이동하여 청소 등의 기능을 수행할 수 없는 영역이 존재하는 경우(도 12의 1210b)에 대한 정보를 맵으로 저장하여, 해당 영역이 별도의 조치가 필요함을 서버 또는 중앙 관제 센터에서 확인할 수 있도록 한다.
도 19는 본 발명의 일 실시예에 의한 센싱 모듈 내의 구성요소들과 제어부의 상호 동작의 과정을 보여주는 도면이다.
센싱 모듈(100)을 구성하는 각각의 센싱부들은 외부의 객체와의 거리를 센싱한다. 초음파 센싱부(110)는 외부에 배치된 객체와의 거리를 센싱하고(S1901), 센싱된 값을 센싱 데이터 분석부(150)에게 제공한다(S1911).
로봇의 상단에 배치되는 제1적외선 센싱부(120e)는 TOP_H 높이에서 외부에 배치된 객체와의 거리를 센싱하고(S1902), 센싱된 값을 센싱 데이터 분석부(150)에게 제공한다(S1912).
로봇의 하단에 배치되는 제2적외선 센싱부(120f)는 BOTTOM_H 높이에서 외부에 배치된 객체와의 거리를 센싱하고(S1903), 센싱된 값을 센싱 데이터 분석부(150)에게 제공한다(S1913).
로봇의 전방 혹은 상부에 배치되는 뎁스 센싱부(140)는 전방의 하나 이상의 객체들의 뎁스를 센싱하고(S1904), 센싱된 값을 센싱 데이터 분석부(150)에게 제공한다(S1914).
전술한 S1911 내지 S1914는 센싱 모듈(100)내에서 데이터 버스 등을 이용하여 데이터를 전송하는 것을 일 실시예로 한다.
센싱 데이터 분석부(150)는 수신한 센싱 값을 보정하거나 분석하거나 혹은 중복되는 값들을 제외하고 가장 정확한 것으로 분석된 값을 제어부(900)에게 제공한다(S1925). 제어부(900)는 센싱한 데이터를 이용하여 외부의 객체가 돌출물인지 여부를 판단한다(S1930).
돌출물로 판단하는 과정의 일 실시예로는 앞서 도 5 내지 9에서 살펴본 바와 같이 센싱 데이터 분석부(150)가 초음파 센싱부가 센싱한 객체와의 거리 u와 적외선 센싱부들이 센싱한 객체와의 거리 r을 제어부(900)에게 제공하면, 제어부(900)는 u 와 r, 그리고 선택적으로 뎁스 센싱부(140)가 센싱한 값과 맵 상의 현재 로봇의 위치, 그리고 센싱한 객체의 맵 상의 위치 등을 이용하여 돌출물인지 여부를 판단한다. 일 실시예로 센싱한 객체의 위치가 맵 상의 고정 객체와 동일한 경우, 혹은 오차 범위(예를 들어 5 cm 이내)라면 돌출물로 판단하지 않는다.
한편, 로봇이 취득한 돌출물에 대한 정보는 도 3 및 도 10과 같이 맵 저장부(200)내에 저장될 수 있으며, 저장된 내용은 통신부(500)를 통하여 다른 로봇과 정보를 교환할 수도 있다.
도 20은 본 발명의 일 실시예에 의한 다수의 로봇 사이에, 혹은 로봇과 서버 사이에 돌출물에 대한 정보를 교환하는 과정을 보여주는 도면이다.
서버(2000)는 다수의 로봇들(1000a, ..., 1000z)에게 돌출물에 대한 정보를 다운로드(S2001, S2002) 송신한다. 돌출물에 대한 정보는 돌출물이 배치된 위치와 높이, 돌출물의 깊이 등을 의미한다. 로봇들(1000a, ..., 1000z)은 수신된 돌출물에 대한 정보를 맵 저장부(200)에 업데이트한다. 서버(2000)는 다수의 로봇들(1000a, ..., 1000z)이 전송한 돌출물에 대한 정보를 분석하여 동일한 위치에서 중복하여 센싱된 정보는 새로이 업데이트 하여 하나의 돌출물에 대한 정보로 저장할 수 있다. 또한, 가장 최신으로 수신된 정보들을 이용하여 돌출물이 제거된 경우, 이를 수정하여 다운로드 송신을 할 수 있다.
이후 로봇들(1000a, ..., 1000z)은 주행 과정에서 돌출물을 센싱하여 정보를 업데이트한다(S2010, S2020). 일 실시예로 각 로봇이 보유하는 맵 저장부의 정보를 업데이트하는 것을 포함한다. 또한, 로봇 중에서 인접하여 위치하는 로봇 사이에서는 새로이 습득한 돌출물에 대한 정보를 근거리 통신으로 쉐어링할 수 있다(S2015). 이때 돌출물에 대한 정보의 쉐어링은 일정한 범위 내에 근접해있는 로봇들에게만 한정하여 제공할 수 있다. 또는, 로봇 이후에 해당 공간으로 이동하는 것이 예정된 로봇에게 제공할 수도 있다.
그리고 각각의 로봇들(1000a, ..., 1000z)은 주행 중 취득한 돌출물 정보를 서버로 업로드(S2011, S2021) 송신한다.
서버(2000)는 수신한 돌출물 정보를 업데이트 하며(S2030) 이 과정에서 중복된 정보를 하나의 정보로 정리하거나, 혹은 돌출물이 새로이 센싱되었거나 혹은 기존에 센싱된 돌출물이 제거되는 등 변화 상황을 반영하여 새로운 돌출물 정보를 다운로드한다(S2031, S2032).
또한, 이 과정에서 돌출물 뿐만 아니라 청소와 같이 돌출물에 의해 특정한 기능을 수행한 영역과 수행하지 않은 영역에 대한 맵 정보(도 12)도 함께 전송될 수 있다. 예를 들어, 어떠한 돌출물로 인해 청소가 완료되지 않은 공간이 있다면, 이 공간에 대한 정보를 로봇들(1000a, ..., 1000z)에게 제공할 수 있다. 그리고 돌출물이 제거된 경우 해당 공간으로 이동하는 로봇들(1000a, ..., 1000z) 중 어느 하나는 완료되지 않은 공간에 대해 일정한 기능을 수행할 수 있다.
본 발명을 적용할 경우, 각각의 다양한 센싱 성능과 검출 가능한 장애물의 차이를조합하여 공항, 터미널, 병원 등과 같은 대면적의 공간에서 다양한 장애물이 존재하는 공간을 로봇이 주행하는 과정에서 특정한 기능인 청소 또는 보안 검사를 하지 못하는 구간이 많이 발생하여 효율을 떨어뜨리는 문제를 해결할 수 있다. 즉, 로봇의 높이보다 높은 장애물이 라이다와 같은 센서를 통해 확인될 경우에도 초음파 센서나 적외선 센서를 이용하여 해당 장애물의 높이가 로봇 보다 높다면 통과하도록 구성할 수 있다.
또한, 로봇의 상단/중단(중간)/하단의 깊이가 다른 경우, 예를 들어 유선형 외형을 가지는 경우 상단/중단(중간)/하단의 어느 위치에 장애물이 위치하는지 판별하여 각 위치에 맞게 근접 청소 또는 근접 보안과 같은 기능을 수행해야 가능한 많은 면적에 대해 기능을 수행할 수 있다.
본 명세서에서는 IR 센서, 초음파 센서, 라이다, 뎁스 카메라를 포함하는 뎁스 센서 등 각 센서가 가지고 있는 측정 영역한계와 동작한계를 융합하여 로봇 주변 장애물, 특히 돌출물에 대해 3차원의 맵을 생성하고 주기적으로 업데이트하고 다른 로봇들에게도 이를 제공하여 다음 주행 시 다시 이용할 수 있도록 한다.
본 명세서에서는 로봇의 일 실시예로 청소 기능이 탑재된 로봇을 중심으로 설명하였으나, 본 발명이 이에 한정되는 것은 아니며, 모든 자율 주행 가능한 로봇제품에 적용 가능한 기술이다. 특히, 본 발명의 로봇은, 다양한 센서들의 융합으로 주행가능 및 기능 가능한 영역을 판별 기술 적용이 가능하며, 주행 가능 및 기능 가능 영역을 판별함으로써 로봇이 진입하지 않고 기능을 수행하거나, 혹은 로봇이 가장 효과적인 위치에서 기능을 수행할 수 있도록 한다.
본 발명을 적용할 경우, 전술한 맵 저장부(200)에 저장되는 맵이 라이다 센서로 구성되는 경우, 벽과 유리를 이용하여 생성된 고정된 구조물만을 기준으로 로봇(1000)이 이동할 경우, 본 발명의 센싱 모듈(100)은 돌출된 장애물들을 식별하고 해당 돌출물의 높이를 판별하여 로봇이 진입할 것인지 혹은 진입하지 않을 것인지를 판단할 수 있다. 또한, 로봇이 진입하지 않는 경우에라도 로봇의 기능(청소, 보안 등)의 기능을 수행할 수 있는 기능 영역을 식별할 수 있다. 특히 본 발명을 적용할 경우, 공항, 터미널, 항구, 기차역 등과 같이 많은 사람들이 오가는 장소에서 다양한 구조물들이 배치될 수 있으며, 이 과정에서 벽이나 유리에서 돌출된 객체들이 배치될 경우, 2차원 정보로 구성되는 맵 만을 통해서는 로봇의 주행을 제어할 수 없다.
본 발명을 적용할 경우, 돌출물로 인해 로봇이 진입 불가능 영역을 판별하여, 해당 영역에서 소정의 기능(청소, 보안 등)을 최대한 넓은 범위로 수행할 수 있도록 하여 로봇에 부과된 기능의 효율을 높일 수 있다. 또한 돌출물에 대한 정보를 3차원 상으로 맵에 저장할 수 있으며, 또한 청소 등의 기능이 수행된 영역에 대한 정보 역시 맵에 저장할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
1000: 로봇 100: 센싱 모듈
110: 초음파 센싱부 120: 적외선 센싱부
130: 라이다 센싱부 140: 뎁스센싱부
150: 센싱 데이터 분석부 200: 맵 저장부
300: 이동부 400:기능부
500: 통신부 2000: 서버

Claims (12)

  1. 로봇의 외부에 배치되며 상기 로봇의 키보다 낮게 배치되는 돌출물을 센싱하여 높이 및 깊이 정보를 제공하며 공간을 3차원적으로 센싱하는 센싱 모듈;
    외부에 미리 설정된 기능을 제공하는 기능부;
    상기 로봇을 이동시키는 이동부;
    상기 돌출물의 높이 및 깊이 정보와 상기 로봇의 이동에 필요한 3차원 맵을 저장하는 맵 저장부; 및
    상기 센싱 모듈, 상기 이동부, 및 상기 맵 저장부를 제어하며 상기 로봇이 진입 가능한 영역과 진입 불가능한 영역을 판단하고, 상기 센싱 모듈이 제공하는 정보 및 상기 맵 저장부에 저장된 정보를 비교하여 상기 돌출물을 포함하는 3차원 공간에서 상기 진입 가능한 영역과 상기 진입 불가능한 영역을 식별하여 상기 이동부 및 상기 기능부를 제어하는 제어부를 포함하며,
    상기 기능부는 청소기능을 수행하기 위해 상하 또는 좌우로 이동이 가능한 암(ARM)을 포함하며,
    상기 제어부는 상기 이동부가 진입 불가능한 영역에 진입하지 못할 경우 상기 암을 확장시켜 상기 진입 불가능한 영역에서 청소 기능을 수행하도록 상기 기능부를 제어하는, 3차원 공간에서 기능 영역을 식별하는 로봇.
  2. 제1항에 있어서,
    상기 맵은 로봇의 이동공간의 고정 객체를 2차원으로 저장하며, 상기 돌출물을 3차원으로 저장하며, 상기 돌출물이 배치된 높이는 상기 로봇의 높이보다 작은, 3차원 공간에서 기능 영역을 식별하는 로봇.
  3. 제1항에 있어서,
    상기 센싱 모듈은
    로봇의 상단에 배치되어 TOP_H의 높이에서 외부에 배치된 객체와의 거리를 센싱하는 제1적외선 센싱부;
    상기 제1적외선 센싱부보다 낮은 위치에 배치되어 외부에 배치된 객체와의 거리를 센싱하는 초음파 센싱부;
    전방의 하나 이상의 객체들의 뎁스를 센싱하는 뎁스 센싱부; 및
    상기 제1적외선 센싱부와 상기 초음파 센싱부와 상기 뎁스 센싱부에서 센싱한 데이터를 분석하는 센싱 데이터 분석부를 포함하는, 3차원 공간에서 기능 영역을 식별하는 로봇.
  4. 제3항에 있어서,
    상기 센싱 데이터 분석부는 상기 초음파 센싱부가 센싱한 객체와의 거리 u와 상기 제1적외선 센싱부가 센싱한 객체와의 거리 r을 상기 제어부에게 제공하며,
    상기 제어부는 상기 u 및 상기 r의 차이에 따라 상기 외부의 객체를 돌출물로 판단하는, 3차원 공간에서 기능 영역을 식별하는 로봇.
  5. 제3항에 있어서,
    상기 센싱 모듈은
    상기 초음파 센싱부 보다 낮은 로봇의 하단에 배치되어 BOTTOM_H의 높이에서 외부에 배치된 객체와의 거리를 센싱하는 제2적외선 센싱부를 더 포함하는, 3차원 공간에서 기능 영역을 식별하는 로봇.
  6. 삭제
  7. 로봇의 센싱 모듈이 로봇의 외부에 배치되며 상기 로봇의 키보다 낮게 배치되는 돌출물의 높이와 깊이를 센싱하며 공간을 3차원적으로 센싱하는 단계;
    상기 센싱한 돌출물의 높이 및 깊이 정보를 제어부에 제공하는 단계; 및
    상기 로봇의 제어부는 상기 돌출물의 높이 및 깊이 정보와 상기 로봇의 맵 저장부의 3차원 맵에 저장된 상기 돌출물의 높이 및 깊이 정보를 비교하여 상기 로봇이 진입 가능한 영역과 진입 불가능한 영역을 판단하고 상기 돌출물을 포함하는 3차원 공간에서 상기 진입 가능한 영역과 상기 진입 불가능한 영역을 식별하여 상기 로봇의 이동부 및 기능부를 제어하는 단계를 포함하며,
    상기 기능부는 청소기능을 수행하기 위해 상하 또는 좌우로 이동이 가능한 암(ARM)을 포함하며,
    상기 제어부는 상기 이동부가 상기 진입 불가능한 영역에 진입하지 못할 경우 상기 암을 확장시켜 상기 진입 불가능한 영역에서 청소 기능을 수행하도록 상기 기능부를 제어하는 단계를 더 포함하는, 3차원 공간에서 로봇이 기능 영역을 식별하는 방법.
  8. 제7항에 있어서,
    상기 제어부는
    상기 로봇의 이동공간의 고정 객체를 상기 맵 저장부에 2차원으로 저장하는 단계; 및
    상기 로봇의 높이보다 작은 돌출물을 상기 맵 저장부에 3차원으로 저장하는 단계를 더 포함하는, 3차원 공간에서 로봇이 기능 영역을 식별하는 방법.
  9. 제7항에 있어서,
    상기 센싱하는 단계는
    로봇의 상단에 배치된 제1 적외선 센싱부가 TOP_H의 높이에서 외부에 배치된 객체와의 거리를 센싱하는 단계;
    상기 제1적외선 센싱부보다 낮은 위치에 배치된 초음파 센싱부가 외부에 배치된 객체와의 거리를 센싱하는 단계;
    뎁스 센싱부가 전방의 하나 이상의 객체들의 뎁스를 센싱하는 단계; 및
    센싱 데이터 분석부가 상기 제1적외선 센싱부와 상기 초음파 센싱부와 상기 뎁스 센싱부에서 센싱한 데이터를 분석하는 단계를 더 포함하는, 3차원 공간에서 로봇이 기능 영역을 식별하는 방법.
  10. 제9항에 있어서,
    상기 분석하는 단계 이후에
    상기 센싱 데이터 분석부가 상기 초음파 센싱부가 센싱한 객체와의 거리 u와 상기 제1적외선 센싱부가 센싱한 객체와의 거리 r을 상기 제어부에게 제공하는 단계; 및
    상기 제어부가 상기 u 및 상기 r의 차이에 따라 상기 외부의 객체를 돌출물로 판단하는 단계를 더 포함하는, 3차원 공간에서 로봇이 기능 영역을 식별하는 방법.
  11. 제9항에 있어서,
    상기 초음파 센싱부 보다 낮은 로봇의 하단에 배치된 제2적외선 센싱부가 BOTTOM_H의 높이에서 외부에 배치된 객체와의 거리를 센싱하는 단계를 더 포함하는, 3차원 공간에서 로봇이 기능 영역을 식별하는 방법.
  12. 삭제
KR1020170012254A 2017-01-25 2017-01-25 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇 KR102033143B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170012254A KR102033143B1 (ko) 2017-01-25 2017-01-25 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇
US15/875,235 US10620636B2 (en) 2017-01-25 2018-01-19 Method of identifying functional region in 3-dimensional space, and robot implementing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170012254A KR102033143B1 (ko) 2017-01-25 2017-01-25 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇

Publications (2)

Publication Number Publication Date
KR20180087769A KR20180087769A (ko) 2018-08-02
KR102033143B1 true KR102033143B1 (ko) 2019-10-16

Family

ID=62907023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170012254A KR102033143B1 (ko) 2017-01-25 2017-01-25 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇

Country Status (2)

Country Link
US (1) US10620636B2 (ko)
KR (1) KR102033143B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022019399A1 (ko) * 2020-07-22 2022-01-27 엘지전자 주식회사 로봇 청소기 및 이의 제어방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11835343B1 (en) 2004-08-06 2023-12-05 AI Incorporated Method for constructing a map while performing work
US10809071B2 (en) * 2017-10-17 2020-10-20 AI Incorporated Method for constructing a map while performing work
KR102326077B1 (ko) * 2017-06-15 2021-11-12 엘지전자 주식회사 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
US11274929B1 (en) * 2017-10-17 2022-03-15 AI Incorporated Method for constructing a map while performing work
US11009882B2 (en) * 2018-01-12 2021-05-18 Pixart Imaging Inc. Method, system for obstacle detection and a sensor subsystem
CN110850859B (zh) * 2018-08-01 2023-03-07 深圳市优必选科技有限公司 一种机器人及其避障方法和避障系统
CN110788853B (zh) * 2018-08-01 2022-06-24 纳恩博(北京)科技有限公司 运动轨迹生成方法及电子设备、计算机可读存储介质
CN110838144B (zh) 2018-08-15 2022-09-30 杭州萤石软件有限公司 一种充电设备识别方法、移动机器人和充电设备识别系统
KR102577785B1 (ko) * 2018-09-20 2023-09-13 삼성전자주식회사 청소 로봇 및 그의 태스크 수행 방법
WO2020060091A1 (ko) * 2018-09-20 2020-03-26 삼성전자주식회사 청소 로봇 및 그의 태스크 수행 방법
KR102220865B1 (ko) * 2018-10-02 2021-02-25 엘지전자 주식회사 청소로봇이 지면의 단차에 적응적으로 동작하는 방법 및 청소로봇
CN111185900B (zh) * 2018-11-14 2023-08-29 科沃斯机器人股份有限公司 机器人控制方法及清洁机器人
JP2020135526A (ja) * 2019-02-21 2020-08-31 株式会社豊田自動織機 移動体の障害物検知装置
CN109909989A (zh) * 2019-03-22 2019-06-21 驿涛项目管理有限公司 一种沙滩垃圾收集机器人
KR20200117772A (ko) * 2019-04-05 2020-10-14 삼성전자주식회사 전자 장치 및 그 제어 방법
CN110027018B (zh) * 2019-04-28 2020-12-01 森思泰克河北科技有限公司 全向探测系统及方法
US11511785B2 (en) * 2019-04-30 2022-11-29 Lg Electronics Inc. Cart robot with automatic following function
US11585934B2 (en) * 2019-04-30 2023-02-21 Lg Electronics Inc. Cart robot having auto-follow function
CN111726591B (zh) * 2020-06-22 2021-11-23 珠海格力电器股份有限公司 地图更新方法、装置、存储介质及电子设备
CN111702738B (zh) * 2020-06-27 2021-10-08 上海工程技术大学 一种气化设备内部的检修机器人
CN111928899A (zh) * 2020-08-17 2020-11-13 合肥德泰科通测控技术有限公司 基于护栏机器人的桥梁安全性评估系统
KR102402091B1 (ko) * 2020-09-15 2022-05-25 엘아이지넥스원 주식회사 복합 센서 시스템
WO2024016101A1 (en) 2022-07-18 2024-01-25 Intelligent Cleaning Equipment Holdings Co., Ltd. Systems and methods for robotic navigation, teaching and mapping

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE518392C2 (sv) * 1998-12-22 2002-10-01 Jan Sandberg Metod för rengöring av djurstallar med en automatisk rengöringsanordning samt automatisk rengöringsanordning
KR20020080900A (ko) * 2001-04-18 2002-10-26 삼성광주전자 주식회사 로봇 청소기의 장애물 감지 장치 및 그 방법
EP2668008A4 (en) * 2011-01-28 2018-01-24 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
KR101938703B1 (ko) * 2011-10-18 2019-04-11 삼성전자주식회사 로봇 청소기 및 그 제어방법
US8958911B2 (en) * 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
KR101985188B1 (ko) * 2012-09-20 2019-06-04 엘지전자 주식회사 이동 로봇 및 이동 로봇의 주행방법
US9020637B2 (en) * 2012-11-02 2015-04-28 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US9675222B2 (en) * 2013-03-28 2017-06-13 Yujin Robot Co., Ltd. Cleaning robot having expanded cleaning territory
WO2015029318A1 (ja) * 2013-08-26 2015-03-05 パナソニックIpマネジメント株式会社 3次元表示装置および3次元表示方法
US9946263B2 (en) * 2013-12-19 2018-04-17 Aktiebolaget Electrolux Prioritizing cleaning areas
KR102286005B1 (ko) * 2016-12-28 2021-08-04 한화디펜스 주식회사 주행 제어 시스템 및 주행 제어 방법
TWM543044U (zh) * 2017-02-22 2017-06-11 微星科技股份有限公司 測距裝置
US11009882B2 (en) * 2018-01-12 2021-05-18 Pixart Imaging Inc. Method, system for obstacle detection and a sensor subsystem
US11331796B2 (en) * 2018-02-12 2022-05-17 Brain Corporation Autonomous multi-tasking modular robotic system
JP7083463B2 (ja) * 2018-02-23 2022-06-13 株式会社日立ハイテク 真空処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022019399A1 (ko) * 2020-07-22 2022-01-27 엘지전자 주식회사 로봇 청소기 및 이의 제어방법

Also Published As

Publication number Publication date
US20180210448A1 (en) 2018-07-26
US10620636B2 (en) 2020-04-14
KR20180087769A (ko) 2018-08-02

Similar Documents

Publication Publication Date Title
KR102033143B1 (ko) 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR102326077B1 (ko) 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
US11927450B2 (en) Methods for finding the perimeter of a place using observed coordinates
EP3785093B1 (en) Robot contextualization of map regions
US11709489B2 (en) Method for controlling an autonomous, mobile robot
US10913148B2 (en) Operational service plan disruption and return optimization for a service robot
KR102461938B1 (ko) 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
KR102527645B1 (ko) 청소 로봇 및 그 제어 방법
CN112739505A (zh) 自主移动机器人对机器人工作区域的勘察
CN105813526B (zh) 机器人清扫装置以及用于地标识别的方法
US20200047337A1 (en) Robotic platform with event based mode change
JP6054425B2 (ja) 自己位置推定を自動的に実行する方法
EP3104194B1 (en) Robot positioning system
KR102350533B1 (ko) 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇
US10534367B2 (en) Experience-based roadmap for a robotic cleaning device
EP3549726A2 (en) Robotic vacuum cleaner, cleaning function control apparatus equipped in robotic vacuum cleaner, and multi-channel lidar-based obstacle detection apparatus equipped in robotic vacuum cleaner
Burhanpurkar et al. Cheap or robust? the practical realization of self-driving wheelchair technology
Nickerson et al. The ARK project: Autonomous mobile robots for known industrial environments
US20220139086A1 (en) Device and method for generating object image, recognizing object, and learning environment of mobile robot
KR102012548B1 (ko) 로봇의 진입 가능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR20220140566A (ko) 산업 차량의 제어 자동화
KR20180112622A (ko) 고정객체와 이동객체의 식별에 기반하여 위치를 설정하는 방법 및 이를 구현하는 로봇
KR102420090B1 (ko) 이동 객체를 식별하여 맵을 작성하는 방법 및 이를 구현하는 로봇
EP3979029A1 (en) Systems and methods for enabling navigation in environments with dynamic objects
KR20180105984A (ko) 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇

Legal Events

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