[go: up one dir, main page]

KR20210057582A - 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법 - Google Patents

잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법 Download PDF

Info

Publication number
KR20210057582A
KR20210057582A KR1020190144515A KR20190144515A KR20210057582A KR 20210057582 A KR20210057582 A KR 20210057582A KR 1020190144515 A KR1020190144515 A KR 1020190144515A KR 20190144515 A KR20190144515 A KR 20190144515A KR 20210057582 A KR20210057582 A KR 20210057582A
Authority
KR
South Korea
Prior art keywords
identified
robot cleaner
image
artificial intelligence
intelligence model
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.)
Ceased
Application number
KR1020190144515A
Other languages
English (en)
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 KR1020190144515A priority Critical patent/KR20210057582A/ko
Priority to PCT/KR2020/015231 priority patent/WO2021096144A1/en
Priority to US17/093,010 priority patent/US11641994B2/en
Publication of KR20210057582A publication Critical patent/KR20210057582A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • A47L9/281Parameters or conditions being sensed the amount or condition of incoming dirt or dust
    • A47L9/2815Parameters or conditions being sensed the amount or condition of incoming dirt or dust using optical detectors
    • 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/2805Parameters or conditions being sensed
    • 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/009Carrying-vehicles; Arrangements of trollies or wheels; Means for avoiding mechanical obstacles
    • 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/2805Parameters or conditions being sensed
    • A47L9/2826Parameters or conditions being sensed the condition of the floor
    • 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
    • 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
    • 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/2889Safety or protection devices or systems, e.g. for prevention of motor over-heating or for protection of the user
    • 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/2894Details related to signal transmission in suction cleaners
    • 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
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • G05D1/249Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons from positioning sensors located off-board the vehicle, e.g. from cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • G05D1/622Obstacle avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • 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
    • 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/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/10Specific applications of the controlled vehicles for cleaning, vacuuming or polishing

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Image Analysis (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

로봇 청소기가 개시된다. 흡입부, 충격 감지 센서, 카메라, 메모리, 흡입부, 프로세서를 포함하고, 메모리는, 객체를 식별하도록 학습된 인공지능 모델을 포함하고, 프로세서는, 흡입부에 의해 흡입된 객체에 기초한 충격이 충격 감지 센서를 통해 감지되면, 카메라를 통해 획득된 복수의 이미지 중 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하고, 서로 다른 크기의 복수의 패치를 이용하여, 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 획득된 복수의 영역을 인공지능 모델에 입력하여 식별된 이미지에 포함되는 객체를 식별한다.

Description

잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법 { MISTAKENLY SUCKED OBJECT IDENTIFYING ROBOT CLEANER AND CONTROLLING METHOD THEREOF }
본 개시는 로봇 청소기에 관한 것이다. 보다 상세하게는, 카메라를 통해 획득되는 이미지를 통해 객체를 식별하고, 식별된 객체를 기반으로 주행 및 흡입을 수행하는 로봇 청소기에 관한 것이다.
최근의 로봇 청소기는 다양한 센서 및 카메라를 포함하는 객체 식별 모듈을 통해 주변의 객체 및 구조물을 감지 및 식별하고, 감지 및 식별 결과에 따라 주행 및 흡입을 수행하였다.
다만, 주행 중에 카메라를 통해 실시간으로 획득되는 이미지를 실시간으로 분석하여 객체를 식별하는 로봇 청소기는, 시간당 연산량에 제한이 있기 때문에, 객체의 감지 및 식별의 정확도에 한계가 있었다.
대표적인 예로, 도 1은 객체를 식별하지 못한 결과 객체를 잘못 흡입한 로봇 청소기의 상황을 설명하기 위한 도면이다.
도 1을 참조하면, 로봇 청소기(10)는 카메라를 통해 실시간으로 획득되는 이미지를 분석하여 전방의 객체를 실시간으로 식별한 결과, 전방에 객체가 없다(No Object)고 식별할 수 있다. 이 경우, 로봇 청소기(10)는 객체가 없음을 전제로 전방의 이물질을 흡입할 수 있다.
다만, 도 1을 참조하면, 로봇 청소기(10)가 미처 식별하지 못한 작은 크기의 객체(예를 들면, 귀걸이, 반지 등)가 흡입될 수 있고, 이 경우 사용자의 귀금속이 로봇 청소기(10) 내부로 흡입되는 문제는 물론 로봇 청소기(11)의 내부 구조에 이상(11)이 발생하는 문제도 발생할 수 있다.
본 개시는, 실시간 객체 식별의 연산량 한계로 인해 객체를 잘못 흡입한 경우, 흡입된 물체가 무엇인지 판단하여 판단 결과를 사용자에게 제공하는 로봇 청소기를 제공한다.
구체적으로, 본 개시는, 실시간 객체 식별을 수행하는 청소 모드가 종료된 이후 별도의 시간적 제약이 없는 휴식 모드상에서, 이미지에 대한 심층 분석을 수행하여 흡입된 객체가 무엇인지 판단할 수 있는 로봇 청소기를 제공한다.
본 개시의 일 실시 예에 따른 로봇 청소기는, 흡입부, 충격 감지 센서, 카메라, 메모리, 및 상기 흡입부, 상기 충격 감지 센서, 상기 카메라 및 상기 메모리와 연결되어 상기 로봇 청소기를 제어하는 프로세서를 포함하고, 상기 메모리는, 객체를 식별하도록 학습된 인공지능 모델을 포함하고, 상기 프로세서는, 상기 흡입부에 의해 흡입된 객체에 기초한 충격이 상기 충격 감지 센서를 통해 감지되면, 상기 카메라를 통해 획득된 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하고, 서로 다른 크기의 복수의 패치를 이용하여 상기 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 상기 획득된 복수의 영역을 상기 인공지능 모델에 입력하여 상기 식별된 이미지에 포함되는 객체를 식별한다.
본 개시의 일 실시 예에 따라 객체를 식별하도록 학습된 인공지능 모델이 저장된 메모리를 포함하는 로봇 청소기의 제어 방법은, 흡입부에 의해 흡입된 객체에 기초한 충격이 충격 감지 센서를 통해 감지되면, 카메라를 통해 획득된 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하는 단계, 서로 다른 크기의 복수의 패치를 이용하여 상기 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하는 단계, 상기 획득된 복수의 영역을 인공지능 모델에 입력하여 상기 식별된 이미지에 포함되는 객체를 식별하는 단계를 포함한다.
본 개시의 일 실시 예에 따른 시스템은, 카메라를 통해 획득되는 복수의 이미지를 제1 인공지능 모델에 입력하여 객체를 식별하고, 식별된 객체에 기초하여 주행 및 흡입을 수행하는 로봇 청소기, 제2 인공지능 모델이 저장된 서버 장치를 포함하고, 상기 로봇 청소기는, 상기 로봇 청소기에 흡입된 객체에 기초한 충격이 감지되면, 상기 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 상기 서버 장치로 전송하고, 상기 서버 장치는, 서로 다른 크기의 복수의 패치를 이용하여 상기 로봇 청소기로부터 수신된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 상기 획득된 복수의 영역을 상기 제2 인공지능 모델에 입력하여 상기 식별된 이미지에 포함되는 객체를 식별하고, 상기 식별된 이미지에서 식별된 상기 객체에 대한 정보를 상기 로봇 청소기로 전송한다.
본 개시에 따른 로봇 청소기는, 미처 식별되지 않은 작은 객체가 로봇 청소기에 흡입된 경우, 이미지에 대한 심층 분석을 통해 해당 객체를 식별하고 식별 결과를 제공할 수 있다.
그 결과, 본 개시에 따른 로봇 청소기는, 사용자가 로봇 청소기의 오동작에 의해 귀금속 등을 분실할 수 있는 위험을 줄여주고, 사용자가 로봇 청소기의 고장 또는 고장 원인을 빠르게 인식할 수 있도록 하는 효과가 있다.
도 1은 객체를 식별하지 못한 결과 객체를 잘못 흡입한 로봇 청소기의 상황을 설명하기 위한 도면,
도 2a는 본 개시의 일 실시 예에 따른 로봇 청소기의 구성을 설명하기 위한 블록도,
도 2b는 본 개시의 일 실시 예에 따른 로봇 청소기의 기능적 구성을 설명하기 위한 블록도,
도 3은 본 개시의 로봇 청소기가 흡입 중 충격이 감지된 시점 이전에 획득된 이미지를 식별하는 예를 설명하기 위한 도면,
도 4는 본 개시의 로봇 청소기가 Multi-Scale 패치를 이용하여 식별된 이미지 내 복수의 영역을 추출하는 예를 설명하기 위한 도면,
도 5a 내지 도 5b는 본 개시의 로봇 청소기가 Multi-Scale 패치를 이용하여 이미지 내 복수의 영역을 획득하고, 복수의 영역 각각을 인공지능 모델에 입력하는 예를 설명하기 위한 도면들,
도 5c 내지 도 5d는 복수의 영역 각각을 인공지능 모델에 입력한 결과 출력을 이용하여 이미지 내 객체를 식별하는 예를 설명하기 위한 도면들,
도 6a는 본 개시의 로봇 청소기가 객체를 잘못 흡입한 구역을 판단하는 예를 설명하기 위한 도면,
도 6b 및 도 6c는 본 개시의 로봇 청소기가 충격이 감지된 구역에 대한 정보 및 잘못 흡입된 객체에 대한 정보를 휴대 단말 장치로 제공하는 예를 설명하기 위한 도면들,
도 7은 본 개시의 일 실시 예에 따라 로봇 청소기 및 서버 장치를 포함하는 시스템이 잘못 흡입된 객체를 식별하는 예를 설명하기 위한 도면,
도 8은 본 개시의 다양한 실시 예에 따른 로봇 청소기의 상세한 구성을 설명하기 위한 블록도,
도 9는 본 개시의 일 실시 예에 따른 로봇 청소기의 제어 방법을 설명하기 위한 순서도,
도 10은 본 개시의 제어 방법이 청소 모드상에서 로봇 청소기를 제어하는 일 예를 설명하기 위한 알고리즘, 그리고
도 11은 본 개시의 제어 방법이 휴식 모드상에서 로봇 청소기를 제어하는 일 예를 설명하기 위한 알고리즘이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 2a는 본 개시의 일 실시 예에 따른 로봇 청소기의 구성을 설명하기 위한 블록도이다.
도 2a를 참조하면, 로봇 청소기(100)는 흡입부(110), 충격 감지 센서(120), 카메라(130), 메모리(140) 및 프로세서(150)를 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(150)는, 충격 감지 센서(120)를 통해, 흡입부(110)에 의해 흡입된 객체에 기초한 충격을 감지할 수 있다. 본 충격은, 흡입부(110)에 의해 흡입되는 중인 객체가 로봇 청소기(100)에 충돌함으로써 발생하는 충격을 의미할 수 있다.
충격이 감지되면, 프로세서(150)는 카메라(130)를 통해 획득된 복수의 이미지 중 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별할 수 있다.
복수의 이미지는, 로봇 청소기(100)의 동작 모드가 청소 모드인 상태에서 카메라(130)에 의해 실시간으로 획득되는 이미지들일 수 있다. 프로세서(150)는 실시간으로 획득되는 복수의 이미지를 메모리(140)에 저장된 인공지능 모델(145)에 입력하여 객체를 식별할 수 있다. 그리고, 프로세서(150)는 식별된 객체에 대한 정보를 기반으로, 흡입부(110)의 흡입 동작을 제어할 수 있다.
예를 들어, 카메라(130)에 의해 획득된 이미지로부터 시계 등이 식별된 경우, 프로세서(150)는 흡입부(110)를 통해 해당 객체를 흡입하지 않도록 로봇 청소기(100)의 주행 경로를 변경하거나 및/또는 흡입부(110)의 흡입 동작을 멈출 수 있다.
다만, 전방에 귀걸이 등이 있었음에도 카메라(130)에 의해 획득된 이미지로부터 귀걸이가 식별되지 않은 경우, 흡입부(110)를 통해 귀걸이가 흡입될 수도 있다.
이러한 경우, 흡입에 따른 충격이 충격 감지 센서(120)에 의해 감지될 수 있고, 프로세서(150)는 충격이 감지된 시점 이전의 기설정된 시간 내에 획득된 이미지를 식별할 수 있다.
그리고, 프로세서(150)는 서로 다른 크기의 복수의 패치를 이용하여, 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 획득된 복수의 영역을 인공지능 모델(145)에 입력하여 식별된 이미지에 포함되는 객체를 식별할 수 있다. 패치는 이미지의 적어도 일부 영역을 순차적으로 추출하기 위한 윈도우와 같은 개념으로 이해될 수 있다. 패치를 통해 추출된 영역들은 순차적으로 인공지능 모델(145)에 입력될 수 있다.
이때, 식별된 객체가 기설정된 객체(ex. 귀걸이, 반지 등의 귀금속)인 경우, 프로세서(150)는 식별된 객체에 대한 정보를 제공할 수 있다.
흡입부(110)는 공기의 압력차를 이용하여 이물질을 흡입하기 위한 구성이다. 흡입부(110)는 흡입구, 필터, 모터, 배기구 등을 포함할 수 있다. 흡입부(110)는 먼지봉투식 또는 원심분리식으로 구현될 수 있으나 이에 한정되지 않는다.
충격 감지 센서(120)는 흡입부(110)에 의해 흡입되는 객체와 로봇 청소기(100) 내부 및/또는 흡입부(110) 간의 충격을 감지하기 위한 센서이다. 충격 감지 센서(120)는 진동 센서, 압전 센서, 가속도 센서, 관성 센서, 로드 셀 센서 등으로 구현될 수 있으나 이에 한정되지 않는다. 흡입 시의 충격을 감지하기 위해, 충격 감지 센서(120)는 흡입부(110)의 흡입구, 흡입구 주변, 필터, 필터 주변 등에 부착될 수 있다.
카메라(130)는 로봇 청소기(100)의 주변에 대한 하나 이상의 이미지를 획득하기 위한 구성이다. 카메라(120)는 RGB 카메라, 3D 카메라 등으로 구현될 수 있다.
메모리(140)에는 로봇 청소기(100)의 기능과 관련된 다양한 정보가 저장될 수 있다. 메모리(140)는 ROM, RAM 외에도 하드 디스크, SSD, 플래시 메모리 등을 포함할 수 있다.
메모리(140)에는 객체를 식별하도록 학습된 인공지능 모델(145)이 저장될 수 있다. 인공지능 모델(145)에 이미지가 입력되면, 인공지능 모델(145)은 입력된 이미지로부터 객체에 대한 정보(명칭, 종류, 제품명 등)를 획득할 수 있다.
구체적으로, 이미지가 인공지능 모델(145)에 입력되면, 인공지능 모델(145)은 인공지능 모델(145)이 출력할 수 있는 정보 중 이미지에 포함된 객체에 대응되는 정보를 선별적으로 출력하는 분류기로서 동작할 수 있다.
프로세서(150)는 흡입부(110), 충격 감지 센서(120), 카메라(130) 및 메모리(140)와 연결되어 로봇 청소기(100)를 제어하기 위한 구성이다.
도 2b는 본 개시의 일 실시 예에 따른 로봇 청소기의 기능적 구성을 설명하기 위한 블록도이다. 도 2b를 참조하면, 로봇 청소기(100)는 충격 감지 모듈(210) 및 객체 식별 모듈(220)을 포함할 수 있다. 본 모듈들은 메모리(140)상에 소프트웨어 형태로 저장되어 프로세서(150)에 의해 실행되거나, 회로를 포함하는 하드웨어 형태로 프로세서(150)의 제어를 받도록 구현될 수 있다. 또한 본 모듈들은 소프트웨어 및 하드웨어가 조합된 형태로 구현되어 프로세서(150)에 의해 실행/제어될 수도 있다.
이하에서는, 도 2b의 구성들과 함께, 본 개시의 다양한 실시 예에 따른 프로세서(150)의 동작을 보다 상세하게 설명한다.
프로세서(150)는 충격 감지 모듈(210)을 통해 흡입부(110)의 흡입 시 발생하는 충격을 감지할 수 있다.
예를 들어, 흡입부(110)가 비교적 무겁거나 또는 단단한 물체를 흡입한 경우, 충격 감지 센서(120)를 통해 임계값 이상의 충격에 대응되는 센싱 데이터가 수신될 수 있고, 이 경우, 프로세서(150)는 충격이 감지된 것으로 식별할 수 있다.
한편, 프로세서(150)는 객체 식별 모듈(220)을 통해, 카메라(130)를 통해 획득되는 이미지에 포함된 객체를 식별할 수 있다. 구체적으로, 객체 식별 모듈(220)은 인공지능 모델(145)에 이미지를 입력할 수 있다.
객체 식별 모듈(220)은 실시간 추론 모듈(221) 및 Multi-scale 추론 모듈(222)을 포함할 수 있다.
실시간 추론 모듈(221)은 로봇 청소기(100)의 동작 모드가 청소 모드인 경우, 카메라(130)를 통해 실시간으로 획득되는 복수의 이미지를 인공지능 모델(145)에 입력하여 객체를 식별할 수 있다.
이때, 실시간 추론 모듈(221)은, 카메라(130) 외에 라이다 센서, 초음파 센서 등을 통해 수신되는 센싱 데이터를 추가로 이용하여 객체를 검출 및 식별할 수 있다.
그리고, 프로세서(150)는 실시간 추론 모듈(221)의 객체 식별 결과를 이용하여 흡입부(110)의 흡입 동작 및 로봇 청소기(100)의 주행부의 주행을 제어할 수 있다. 주행부는, 로봇 청소기(100)의 이동을 위한 구성으로 도 8을 통해 후술한다.
프로세서(150)는, 카메라(130)를 통해 획득된 복수의 이미지 중, 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별할 수 있다. 이때, 복수의 이미지는 실시간 추론 모듈(221)에 의해 이미 객체 식별이 완료된 이미지들일 수 있다.
도 3은 본 개시의 로봇 청소기가 흡입 중 충격이 감지된 시점 이전에 획득된 이미지를 식별하는 예를 설명하기 위한 도면이다.
도 3은 로봇 청소기(100)가 귀걸이(310)에 점점 다가가는 상황에서, 실시간 추론 모듈(221)이 시점들(301, 302) 별로 카메라(130)를 통해 획득된 이미지들(311, 312)에 대해 실시간 객체 식별을 수행했지만, 귀걸이(310)를 식별해내지 못한 상황을 도시한 것이다.
또한, 도 3을 참조하면, 실시간 추론 모듈(221)이 귀걸이(310)를 식별하지 못함에 따라 귀걸이(310)가 로봇 청소기(100)에 흡입된 결과, 특정 시점(305)에 충격 감지 센서(120)에 의해 충격이 감지되었다.
충격이 감지되면, 프로세서(150)는 충격이 감지된 시점(305) 이전의 기설정된 시간(306) 이내에 획득된 이미지(312)를 식별할 수 있다. 그리고, 프로세서(150)는 식별된 이미지(312)를 메모리(140)에 저장해둘 수 있다.
이때, 비록 도 3을 통해서는 단 하나의 이미지(312)만이 식별되었으나, 기설정된 시간의 크기에 따라서는 복수의 이미지가 식별될 수도 있다.
또한, 프로세서(150)는 충격이 감지된 시점으로부터 기설정된 프레임 수만큼의 이미지를 식별할 수도 있다. 예를 들어, 도 3의 경우, 프로세서(150)는 충격이 감지된 시점(305)에 가장 가까운 이전의 2 프레임에 해당하는 이미지들(311, 312)을 식별하여 메모리(140)에 저장할 수도 있다.
프로세서(150)는 Multi-scale 추론 모듈(222)을 이용하여, 식별된 이미지 내 객체를 식별할 수 있다. 이때, Multi-scale 추론 모듈(222)은 식별된 이미지에 대해 Multi-scale 패치 기반 객체 식별을 수행할 수 있다.
프로세서(150)는 로봇 청소기(100)가 청소 모드인 동안에는 식별된 이미지를 일단 메모리(140)에 저장해뒀다가, 로봇 청소기(100)가 휴식 모드인 때에 Multi-scale 추론 모듈(222)을 동작시켜 저장된(식별된) 이미지에 포함된 객체를 식별할 수도 있다.
그 결과, 로봇 청소기(100)의 제한된 연산량에 무리가 가지 않으면서, 청소 모드 상에서 실시간 추론 모듈(221)의 객체 식별이 문제 없이 계속 진행될 수 있다. 또한, Multi-scale 추론 모듈(222)이 수행하는 후술할 Multi-scale 패치 기반 객체 식별은, 동일한 수의 이미지에 대해 객체 식별을 수행한다고 했을 때 실시간 추론 모듈(221)보다 연산량이 더 많기 때문에, 휴식 모드상에서 시간의 제약 없이 Multi-scale 추론 모듈(222)을 통한 객체 식별을 수행할 수 있다.
Multi-scale 추론 모듈(222)은, 서로 다른 크기의 복수의 패치를 이용하여, 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 획득된 복수의 영역을 인공지능 모델(145)에 입력하여 식별된 이미지에 포함되는 객체를 식별할 수 있다.
도 4는 본 개시의 로봇 청소기가 Multi-Scale 패치를 이용하여 식별된 이미지 내 복수의 영역을 추출하는 예를 설명하기 위한 도면이다.
도 4를 참조하면, 프로세서(150)는 서로 다른 크기의 패치들(401, 402, 403) 각각을 통해 이미지(312) 내에 포함되는 다양한 영역들을 추출하고, 추출된 영역들 을 인공지능 모델(145)에 입력할 수 있다. 이하 보다 상세하게 설명한다.
프로세서(150)는, 각 패치에 대응되는 복수의 영역 각각을 인공지능 모델(145)에 입력하여 인공지능 모델(145)로부터 복수의 영역 각각에 대한 출력을 획득할 수 있다.
그리고, 프로세서(150)는 식별된 이미지 내 복수의 영역 각각의 위치 및 인공지능 모델로부터 획득된 출력에 기초하여 식별된 이미지에 포함되는 객체를 식별할 수 있다.
도 5a 내지 도 5b는 본 개시의 로봇 청소기가 Multi-Scale 패치를 이용하여 이미지 내 복수의 영역을 획득하고, 복수의 영역 각각을 인공지능 모델에 입력하는 예를 설명하기 위한 도면들이다.
도 5a를 참조하면, 프로세서(150)는 제1 크기를 가지는 제1 패치를 이용하여 이미지(312)로부터 복수의 영역(501, 502, 503, 504, ...)을 각각 추출할 수 있다.또한, 프로세서(150)는 제1 크기보다 작은 제2 크기를 가지는 제2 패치를 이용하여 이미지(312)로부터 복수의 영역(501', 502', 503', 504', ...)을 각각 추출할 수 있다. 또한, 프로세서(150)는 제2 크기보다 작은 제3 크기를 가지는 제3 패치를 이용하여 이미지(312)로부터 복수의 영역(501'', 502'', 503'', 504'', ...)을 각각 추출할 수 있다.
그리고, 도 5b를 참조하면, 프로세서(150)는 이렇게 획득된 복수의 영역들을 인공지능 모델(145)에 각각 입력하여, 각각에 대한 인공지능 모델(145)의 출력을 획득할 수 있다.
인공지능 모델(145)에 입력되는 이미지의 해상도가 기설정된 경우, 복수의 영역들은 각각 기설정된 해상도에 맞게 resizing되어 인공지능 모델(145)에 입력된다. 이렇듯, 다양한 크기의 이미지를 resizing하여 인공지능 모델(145)에 입력하는 경우, 다양한 크기의 객체를 식별할 수 있을 확률이 더 높아진다.
특히, 실시간 추론 모듈(221)과 같이 단순히 전체 이미지(312) 자체를 기설정된 해상도에 따라 resizing하여 인공지능 모델(145)에 입력한 경우와 비교했을 때, 복수의 영역을 resizing하여 입력한 경우, 상대적으로 작은 크기의 객체를 식별할 확률이 더 높아질 수 있다.
인공지능 모델(145)은 인공지능 모델(145)에 의해 식별된 객체에 대한 정보 및 식별된 객체에 대한 정보의 신뢰도를 출력하도록 학습된 모델일 수 있다.
프로세서(150)는, 인공지능 모델에 의해 출력되는, 복수의 영역 각각에서 식별된 객체에 대한 정보 및 복수의 영역 각각에서 식별된 객체에 대한 정보의 신뢰도에 기초하여, 식별된 이미지에 포함되는 객체를 식별할 수 있다. 신뢰도는, 입력된 영역에 (식별된) 객체가 존재할 확률을 의미할 수 있다.
구체적으로, 프로세서(150)는 Multi-scale 패치들에 의해 추출된 복수의 영역 중, 인공지능 모델(145)로부터 출력된 객체에 대한 정보의 신뢰도가 임계값 이상인 영역을 식별할 수 있다. 그리고, 식별된 해당 영역에 대해 인공지능 모델(145)이 출력한 객체에 대한 정보를 이용하여, 식별된 이미지 내 객체를 식별할 수 있다.
이 경우, 만약 출력된 객체에 대한 정보의 신뢰도가 임계값 이상인 영역이 복수 개인 경우, 프로세서(150)는 해당 영역들 각각의 이미지 내 위치도 이용할 수 있다.
예를 들어, 이미지 내에서 서로 동떨어진 복수의 영역 각각에 대해 서로 다른 객체가 식별된 경우, 프로세서(150)는 이미지 내에서 복수의 객체가 식별된 것으로 판단할 수 있다. 다른 예로, 이미지 내에서 서로 상당 부분 겹치는 복수의 영역 각각에 대해 서로 다른 객체가 식별된 경우, 프로세서(150)는 비교적 신뢰도가 더 높은 객체에 대한 정보를 기반으로 객체를 식별할 수 있다.
도 5c 내지 도 5d는 복수의 영역 각각을 인공지능 모델에 입력한 결과 출력을 이용하여 이미지 내 객체를 식별하는 예를 설명하기 위한 도면들이다.
도 5c는, 이미지(312) 내에서 Multi-scale 패치에 의해 추출된 복수의 영역 중 일부 영역들(510, 520, 510', 510'')에 대하여, 인공지능 모델(145)이 출력한 객체에 대한 정보의 신뢰도가 임계값을 넘은 경우를 가정한다.
도 5c에서, 해당 영역들(510, 520, 510', 510'') 각각에 대하여 인공지능 모델(145)이 출력한 객체에 대한 정보는 '귀걸이'에 해당할 수 있다.
그 결과, 도 5d와 같이, 프로세서(150)는 이미지(312)로부터 귀걸이(310)를 식별할 수 있다.
프로세서(150)는 충격 감지 시점 이전의 기설정된 시간 이내에 식별된 이미지로부터 도 5d와 같이 객체(ex. 귀걸이)가 식별되면, 식별된 객체에 대한 정보 및 식별된 이미지를 이용하여 인공지능 모델(145)을 학습시킬 수도 있다.
그 결과, 추후 실시간 추론 모듈(221)을 통해 해당 객체(ex. 귀걸이)를 포함하는 이미지가 인공지능 모델(145)에 다시 입력되는 경우, 해당 객체가 실시간 추론 모듈(221)에 의해 곧바로 식별될 가능성이 높아질 수 있다.
한편, 프로세서(150)는 Multi-scale 추론 모듈(222)을 통해 식별된 객체가 귀걸이, 반지, 목걸이, 동전 등 기설정된 객체인 경우, 식별된 객체에 대한 정보( ex. 객체의 명칭, 종류, 크기, 색깔 등)를 제공할 수 있다. 그 결과, 사용자는 잘못 흡입된 객체에 대한 정보를 제공받을 수 있다.
프로세서(150)는 식별된 객체에 대한 정보를 로봇청소기(100)에 구비된 디스플레이 또는 오디오 출력부 등을 통해 시각적/청각적으로 제공할 수 있다. 이 경우, 프로세서(150)는 식별된 객체에 대한 정보뿐만 아니라, 해당 객체가 식별된 이미지(: 충격 감지 시점 이전의 기설정된 시간 이내에 획득된 이미지) 자체를 시각적으로 제공할 수도 있다.
또는, 프로세서(150)는 로봇 청소기(100)의 통신부를 통해, 식별된 객체에 대한 정보를 사용자의 스마트폰 등으로 구현된 휴대 단말 장치로 전송할 수도 있다.
한편, 프로세서(150)는 충격이 감지된 시점에 로봇 청소기(100)가 위치한 구역을 식별하고, 식별된 구역에 대한 정보를 식별된 객체에 대한 정보와 함께 제공할 수도 있다.
이를 위해, 로봇 청소기(100)는 위치 감지 센서를 더 포함할 수 있으며, 메모리(140)는, 로봇 청소기의 주행을 위해 필요한 맵에 대한 정보를 저장할 수 있다. 맵은 로봇 청소기(100)가 운행되는 공간(place)의 물리적인 지형을 나타내는 데이터를 의미할 수 있으며, 메모리(140)상에 이미지의 형태로 저장될 수 있으나 이에 한정되지 않는다.
맵에 대한 정보는, 맵 자체에 대한 정보, 즉 로봇 청소기(100)가 운행되는 공간의 지형 정보를 포함할 수 있으며, 이외에도 맵에 포함된 복수의 구역 각각의 구역 정보 등을 더 포함할 수 있다.
지형 정보는 공간(place)의 구조(모양/크기)에 대한 정보, 공간에 포함되는 복수의 구역 각각의 구조(모양/크기)에 대한 정보, 복수의 구역 각각의 공간 내 위치에 대한 정보 등을 포함할 수 있다.
구역 정보는, 복수의 구역 각각을 식별하기 위한 정보를 의미할 수 있다. 구역 정보는, 복수의 구역 각각을 지칭하는 식별 명칭, 식별 번호 등으로 구성될 수 있다. 또한, 구역 정보는, 복수의 구역 각각의 용도에 대한 정보를 포함할 수 있으며, 일 예로, 구역 정보에 의해 복수의 구역은 각각 거실, 화장실, 침실 등으로 정의될 수도 있다.
프로세서(150)는, 위치 감지 센서를 통해 수신된 센싱 데이터를 기반으로, 맵에 포함된 복수의 구역 중 충격이 감지된 시점에 로봇 청소기가 위치한 구역을 식별할 수 있다.
도 6a는 본 개시의 로봇 청소기가 객체를 잘못 흡입한 구역을 판단하는 예를 설명하기 위한 도면이다. 도 6a는 메모리(140)에 집에 해당하는 맵(600)에 대한 정보가 저장된 상황을 가정한다.
프로세서(150)는 메모리(140)에 저장된 맵(600)에 대한 정보 및 위치 감지 센서의 센싱 데이터를 이용하여 로봇 청소기(100)가 위치하는 구역을 판단할 수 있다.
구체적인 예로, 위치 감지 센서가 라이다 센서인 경우, 프로세서(150)는 위치 감지 센서로부터 수신된 센싱 데이터와 메모리(140)에 저장된 맵(600)에 대한 정보를 비교하여, 로봇 청소기(100)가 위치하는 구역이 거실(600-10)임을 판단할 수 있다.
이 경우, 프로세서(150)는 센싱 데이터에 포함된 로봇 청소기(100)의 주변의 구조(모양/크기)에 대한 정보를 맵에 대한 정보에 포함된 맵(600)상 복수의 구역(600-10, 20, 30, 40) 각각의 구조(모양/크기)에 대한 정보와 비교하여, 맵상 복수의 구역 중 로봇 청소기(100)가 위치하는 구역(600-10)을 판단할 수 있다.
이때, 만약 충격 감지 센서(120)에 의해 충격이 감지되면, 프로세서(150)는 충격이 감지된 시점에 로봇 청소기(100)가 위치한 구역이 거실(600-10)임을 식별할 수 있다.
도 6b 및 도 6c는 본 개시의 로봇 청소기가 충격이 감지된 구역에 대한 정보 및 잘못 흡입된 객체에 대한 정보를 휴대 단말 장치로 제공하는 예를 설명하기 위한 도면들이다.
도 6b를 참조하면, 로봇 청소기(100)로부터 충격이 감지된 구역에 대한 정보 및 잘못 흡입된 객체에 대한 정보가 수신되면, 스마트폰으로 구현된 휴대 단말 장치(200)는 로봇 청소기(100)로부터 해당 정보가 수신되었다는 알림(610)을 디스플레이할 수 있다.
이때, 사용자는 YES(610-1) 또는 NO(610-2)를 터치 등을 통해 선택할 수 있으며, YES(610-1)를 선택하는 터치 입력 등이 휴대 단말 장치(200)에 수신되면, 휴대 단말 장치(200)는 수신된 정보를 도 6c와 같이 제공할 수 있다.
도 6c를 참조하면, 휴대 단말 장치(200)는 맵 이미지(600')와 함께 잘못 흡입된 객체에 대한 정보를 포함하는 User Interface(UI. 620)를 디스플레이할 수 있다.
도 6c를 참조하면, UI(620)는 "오늘 오후 1시 15분", "거실", "귀걸이" 등을 포함하는 텍스트를 표시함으로써 '귀걸이'가 잘못 흡입된 상황을 사용자에게 알릴 수 있다.
또한, 도 6c를 참조하면, UI(620)에 포함되는 맵 이미지(600')상에 '귀걸이'가 흡입된 '거실'(600'-10)이 다른 구역들과는 다르게 진하게 표시될 수 있으며, 이때, 충격이 감지된(: 귀걸이가 흡입된) 거실 내 구체적인 위치를 나타내는 영역(650)이 별도로 마킹되어 표시될 수 있다.
한편, Multi-scale 추론 모듈(222)을 통해서도 충격의 원인이 되는 객체가 식별되지 않는 경우, 프로세서(150)는 충격 감지 시점 이전의 기설정된 시간 이내에 식별된 이미지를 외부 서버 등으로 전송할 수 있다. 이 경우, 외부 서버는 이미지를 기반으로 이미지에 포함된 객체를 식별하여, 식별된 객체에 대한 정보를 로봇 청소기(100)로 전송할 수 있다. 이때, 프로세서(150)는 수신된 객체에 대한 정보를 기반으로 인공지능 모델(145)을 업데이트 내지는 훈련시킬 수 있다.
또는, 프로세서(150)는 식별된 이미지를 사용자에게 제공하여, 이미지 속에 포함된 객체(: 흡입된 객체)가 무엇인지에 대한 정보를 사용자로부터 입력받을 수도 있다. 이 경우, 식별된 이미지 및 사용자로부터 입력된 객체에 대한 정보를 기반으로 인공지능 모델(145)을 업데이트 내지는 훈련시킬 수 있다.
한편, 상술한 로봇 청소기(100)의 실시 예는, 로봇 청소기(100) 단독이 아니라 로봇 청소기(100) 및 서버 장치를 포함하는 시스템을 통해 구현될 수도 있다.
이 경우, 도 2b의 모듈들 중 Multi-scale 추론 모듈(222)은 로봇 청소기(100)가 아니라 서버 장치에 포함될 수 있다. 이를 위해, 서버 장치에는 객체를 식별하기 위한 별도의 인공지능 모델이 저장되어 있을 수 있다.
관련하여, 도 7은 본 개시의 일 실시 예에 따라 로봇 청소기 및 서버 장치를 포함하는 시스템이 잘못 흡입된 객체를 식별하는 예를 설명하기 위한 도면이다.
도 7을 참조하면, 로봇 청소기(100)는 실시간 추론 모듈(221)을 이용하여 주변의 객체를 식별할 수 있다(S710). 구체적으로, 로봇 청소기(100)는 카메라(130)를 통해 획득된 복수의 이미지에 대하여 객체 식별을 수행할 수 있다. 이때, 로봇 청소기(100)는 객체 식별 결과에 따라 주행 및 흡입을 달리할 수 있다.
여기서, 만약 충격 감지 센서(120)에 의해 충격이 감지되면(S720), 로봇 청소기(100)는 상술한 복수의 이미지 중 충격이 감지된 시점 이전의 기설정된 시간 이내의 이미지를 식별하고, 식별된 이미지를 서버 장치(200)로 전송할 수 있다(S730).
이때, 서버 장치(200)는 Multi-scale 추론 모듈을 이용하여 수신된 이미지에 포함된 객체를 식별할 수 있다(S740). 구체적으로, 서버 장치(200)는 서로 다른 크기의 복수의 패치를 이용하여 수신된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 획득된 복수의 영역을 서버 장치(200) 내 인공지능 모델에 입력하여 수신된 이미지에 포함되는 객체를 식별할 수 있다.
그리고, 서버 장치(200)는 식별된 객체에 대한 정보를 로봇 청소기(100)로 전송할 수 있다(S750).
이때, 식별된 객체가 기설정된 객체라면, 로봇 청소기(100)는 식별된 객체에 대한 정보를 제공할 수 있다.
이 경우, 비교적 연산량이 많은 Multi-scale 추론 모듈을 통한 객체 식별은 별도의 서버 장치(200)를 통해 수행되므로, 로봇 청소기(100)의 연산량에 무리가 가지 않으면서도, 잘못 흡입되었던 객체가 무리없이 식별될 수 있다.
도 8은 본 개시의 다양한 실시 예에 따른 로봇 청소기의 상세한 구성을 설명하기 위한 블록도이다.
도 8을 참조하면, 로봇 청소기(100)는 흡입부(110), 충격 감지 센서(120), 카메라(130), 메모리(140), 프로세서(150) 외에 위치 감지 센서(160), 주행부(170), 통신부(180), 디스플레이(190), 오디오 출력부(195) 중 적어도 하나를 더 포함할 수 있다.
상술하였듯, 카메라(130)는 RGB 카메라, 3D 카메라 등으로 구현될 수 있다. 3D 카메라는, TOF(Time Of Flight) 센서 및 적외선 라이트를 포함하는 TOF 카메라로 구현될 수 있다. 3D 카메라는 IR 스테레오 센서를 포함할 수 있다. 카메라(130)는 CCD(Carge-Coupled Device), CMOS(Complementary Metal-Oxide Semiconductor) 등의 센서를 포함할 수 있으나, 이에 한정되는 것은 아니다. 카메라(130)가 CCD를 포함하는 경우, CCD는 RGB(Red/Green/Blue) CCD, IR(Infrared) CCD 등으로 구현될 수 있다.
메모리(140)에는 하나 이상의 인공지능 모델(ex. 145)이 저장될 수 있다. 구체적으로는, 메모리(140) 중 하드 디스크 또는 SSD 등의 스토리지에 하나 이상의 인공지능 모델이 저장될 수 있다.
저장된 인공지능 모델의 기능은 프로세서(150) 및 메모리(140)를 통해 수행될 수 있다.
이를 위해, 프로세서(150)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP 등과 같은 범용 프로세서, GUP, VPU 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리(140)에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알골지즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)를 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN(Convolutional Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크(Deep Q-Networks) 등이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
메모리(140)는, 상술하였듯, 복수의 구역에 대한 정보를 포함하는 맵에 대한 정보(146)도 저장할 수 있다.
프로세서(150)는 충격 감지 모듈(210) 및 객체 식별 모듈(220) 외에, 흡입 제어 모듈(230), 위치 판단 모듈(240), 주행 제어 모듈(250) 등을 더 제어할 수 있다.
흡입 제어 모듈(230)은 흡입부(110)의 흡입 여부, 흡입 강도 등을 제어하기 위한 모듈에 해당한다. 흡입 제어 모듈(230)은 객체 식별 모듈(220) 중 실시간 추론 모듈(221)의 객체 식별 결과에 따라 흡입부(110)의 흡입 동작을 제어할 수 있다.
위치 판단 모듈(240)은 로봇 청소기(100)가 위치한 구역을 판단할 수 있다. 관련하여, 도 6a를 통해 상술하였듯, 위치 판단 모듈(240)은 위치 감지 센서(160)를 통해 수신된 센싱 데이터를 메모리(140)에 저장된 맵에 대한 정보(146)와 비교하여 로봇 청소기(100)가 위치한 구역을 판단할 수 있다.
위치 감지 센서(160)는 라이다(LIDAR. Light Detection And Ranging) 센서, 초음파 센서 등으로 구현될 수 있다. 또한, 카메라(130)에 포함될 수 있는 것으로 상술한 바 있는 3D 카메라의 경우, 위치 감지 센서(160)에 포함되는 것으로 볼 수도 있다.
주행부(170)는 로봇 청소기(100)의 이동을 위한 구성이다. 주행부(170)는 하나 이상의 바퀴 등으로 구현된 이동 수단 및 이동 수단을 구동시키기 위한 Actuator 등을 포함할 수 있다.
프로세서(150)는 주행 제어 모듈(250)을 통해 주행부(170)를 제어할 수 있다. 주행 제어 모듈(250)은 로봇 청소기(100)의 이동 속도, 이동 방향, 위치 등을 식별하고, 이를 기반으로 주행부(170)를 제어할 수 있다.
이를 위해, 로봇 청소기(100)는 가속도 센서 및 지자기 센서 등을 구비하는 한편, 해당 센서들의 센싱 데이터를 통해 로봇 청소기(100)의 이동 속도, 이동 방향, 위치 등을 식별할 수 있다.
또한, 주행 제어 모듈(250)은 실시간 추론 모듈(221)의 객체 식별 결과에 따라 주행부(170)를 제어할 수도 있다.
통신부(180)는 로봇 청소기(100)가 적어도 하나의 외부 장치와 통신을 수행하여 신호/데이터를 주고받기 위한 구성이다. 이를 위해 통신부(150)는 회로를 포함할 수 있다.
통신부(180)는 무선 통신 모듈, 유선 통신 모듈 등을 포함할 수 있다.
무선 통신 모듈은 외부 서버 또는 외부 장치로부터 컨텐츠를 수신하기 위하여 와이파이 (WIFI) 통신 모듈, 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈 중 적어도 하나를 포함을 포함할 수 있다.
유선 통신 모듈은 썬더볼트 포트, USB 포트 등의 유선 포트로 구현될 수 있다.
프로세서(150)는 객체 식별 모듈(220)을 통한 객체 식별 결과를 통신부(180)를 통해 휴대 단말 장치 또는 서버 장치 등 외부 장치로 전송할 수 있다.
디스플레이(190)를 통해, 프로세서(150)는 잘못 흡입된 객체에 대한 정보를 시각적으로 제공할 수 있다. 또한, 디스플레이(190)를 통해, 프로세서(150)는 충격이 감지된 시점에 로봇 청소기(100)가 위치한 구역에 대한 정보를 시각적으로 제공할 수 있다.
이를 위해, 디스플레이(190)는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있다.
디스플레이(190)는, 사용자의 터치 조작을 감지할 수 있는 터치스크린 형태로 구현될 수 있으며, 접히거나 구부러질 수 있는 플렉서블 디스플레이로 구현될 수도 있다.
오디오 출력부(195)를 통해, 프로세서(150)는 잘못 흡입된 객체에 대한 정보및/또는 충격이 감지된 시점에 로봇 청소기(100)가 위치한 구역에 대한 정보를 청각적으로 제공할 수 있다.
이를 위해, 오디오 출력부(195)는 스피커(도시되지 않음) 및/또는 헤드폰/이어폰 출력 단자(도시되지 않음)로 구현될 수 있다.
이하 도 9 내지 도 11을 통해서는, 본 개시에 따른 로봇 청소기의 제어 방법을 설명한다.
도 9는 본 개시의 일 실시 예에 따라 객체를 식별하도록 학습된 인공지능 모델이 저장된 메모리를 포함하는 로봇 청소기의 제어 방법을 설명하기 위한 순서도이다.
도 9를 참조하면, 본 제어 방법은, 충격 감지 센서를 통해 충격을 감지할 수 있다(S910). 여기서, 흡입부에 의해 흡입된 객체에 의해 발생한 충격을 감지할 수 있다. 이 경우, 카메라를 통해 획득된 복수의 이미지 중 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별할 수 있다(S920).
구체적으로, 본 제어 방법은, 로봇 청소기가 청소 모드인 때에 카메라를 통해 획득되는 복수의 이미지를 인공지능 모델에 입력하여 객체를 식별하고, 식별된 객체를 기반으로 주행 및 흡입을 제어하여 청소를 수행할 수 있다.
이때, 흡입부에 의해 흡입된 객체에 기초한 충격이 감지되면, 복수의 이미지 중 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별할 수 있다. 그리고, 식별된 이미지를 메모리에 저장해둘 수 있다.
그리고, 본 제어 방법은, 식별된 이미지에 포함되는 객체를 식별할 수 있다(S930).
이 경우, 서로 다른 크기의 복수의 패치를 이용하여, 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득할 수 있다. 그리고, 획득된 복수의 영역을 인공지능 모델에 입력하여 식별된 이미지에 포함되는 객체를 식별할 수 있다.
이때, 각 패치에 대응되는 복수의 영역 각각을 인공지능 모델에 입력하여 인공지능 모델로부터 복수의 영역 각각에 대한 출력을 획득하고, 식별된 이미지 내 복수의 영역 각각의 위치 및 인공지능 모델로부터 획득된 출력에 기초하여, 식별된 이미지에 포함되는 객체를 식별할 수 있다.
한편, 인공지능 모델은, 인공지능 모델에 의해 식별된 객체에 대한 정보 및 식별된 객체에 대한 정보의 신뢰도를 출력할 수 있다. 이 경우, 본 제어 방법은, 인공지능 모델에 의해 출력되는, 복수의 영역 각각에서 식별된 객체에 대한 정보 및 복수의 영역 각각에서 식별된 객체에 대한 정보의 신뢰도에 기초하여, 식별된 이미지에 포함되는 객체를 식별할 수 있다.
본 제어 방법은, S930의 동작을, 로봇 청소기가 휴식 모드인 경우 수행할 수 있다. 구체적으로, 청소 모드상에서 식별된 이미지를 메모리에 저장해둔 경우, 저장된 이미지에서 획득된 복수의 영역을 인공지능 모델에 입력하여 저장된 이미지에 포함되는 객체를 식별할 수 있다.
한편, 본 제어 방법은, 식별된 객체에 대한 정보 및 식별된 이미지를 기초로 인공지능 모델을 학습시킬 수도 있다.
한편, 본 제어 방법은, 식별된 객체가 기설정된 객체인 경우, 식별된 객체에 대한 정보를 제공할 수 있다.
메모리에 로봇 청소기의 주행을 위해 필요한 맵에 대한 정보를 저장된 경우, 맵에 포함된 복수의 구역 중 충격이 감지된 시점에 로봇 청소기가 위치한 구역을 식별하고, 식별된 객체가 기설정된 객체인 경우, 식별된 객체에 대한 정보 및 식별된 구역에 대한 정보를 제공할 수 있다.
이때, 식별된 객체에 대한 정보 및 식별된 구역에 대한 정보를 통신부를 통해 사용자의 휴대 단말 장치로 전송할 수도 있다.
도 10은 본 개시의 제어 방법이 청소 모드상에서 로봇 청소기를 제어하는 일 예를 설명하기 위한 알고리즘이다.
도 10을 참조하면, 청소 모드가 시작되면(S1010), 로봇 청소기는 흡입을 수행할 수 있다(S1020). 아울러, 로봇 청소기는 주행을 수행하는 한편 실시간으로 객체를 식별할 수 있다(S1030).
이때, 객체 식별 결과에 따라 주행 및 흡입을 달리 제어할 수 있다.
만약, 객체가 식별된다면(S1040 - Y), 해당 객체를 피해서 주행할 수 있다(S1050). 구체적으로, 로봇 청소기가 넘을 수 없는 객체(ex. 화분, 책, 소파 등), 로봇 청소기가 넘거나 올라서는 안 되는 객체(ex. 비닐, 옷 등), 로봇 청소기가 흡입해서는 안 되는 객체(ex. 반지, 귀걸이 등)가 식별되는 경우, 해당 객체를 피해서 주행할 수 있다(S1050).
반면, 객체가 식별되지 않는다면(S1040 - N), 주행 방향을 유지할 수 있다(S1060).
한편, 도 10을 통해서는 도시하지 않았으나, 객체가 식별되더라도, 식별된 객체가 로봇 청소기가 넘거나 오를 수 있는 객체(ex. 카페트 등)이거나 또는 로봇 청소기가 흡입해야 하는 객체(ex. 이물질)인 경우라면 주행 방향을 유지할 수 있음은 물론이다.
그리고, 상술한 청소 모드의 동작 중 충격이 감지되면(S1070 - Y), S1030의 객체 식별 단계에서 사용된 복수의 이미지 중, 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 메모리에 저장해둘 수 있다(S1080).
충격이 감지되지 않는 경우라면(S1070 - N), 주행, 흡입 및 실시간 객체 식별을 반복할 수 있다(S1030).
도 11은 본 개시의 제어 방법이 휴식 모드상에서 로봇 청소기를 제어하는 일 예를 설명하기 위한 알고리즘이다.
도 11을 참조하면, 휴식 모드가 시작되면(S1110), 로봇 청소기는 충전을 수행할 수 있다(S1120). 한편, S1080 단계에서 저장된 이미지를 Multi-scale 패치 기반 분석하여, 객체를 식별할 수 있다(S1130).
만약, 객체가 식별되면(S1140 - Y), 식별된 객체에 대한 정보를 제공할 수 있다(S1150). 구체적으로, 식별된 객체가 귀금속 등 기설정된 객체인 경우, 식별된 객체에 대한 정보를 제공할 수 있다.
반면, 객체가 식별되지 않는 경우(S1140 - N), 저장된 이미지를 서버 장치로 전송할 수도 있다(S1160). 일반적으로, 서버 장치는 로봇 청소기에 비해 더 큰 용량의 인공지능 모델을 운용할 수 있고, 또한 연산량도 더 크기 때문에, Multi-scale 패치 기반 분석으로도 객체가 식별되지 않는 경우, 서버 장치로 해당 이미지를 전송할 수 있다.
만약, 서버 장치를 통해 해당 이미지 내 객체가 식별된다면, 식별된 객체에 대한 정보가 로봇 청소기로 수신될 수 있고, 로봇 청소기는 해당 정보를 제공할 수 있다.
한편, 도 9 내지 도 11을 통해 설명된 제어 방법은, 도 2a 및 도 8을 통해 도시 및 설명한 로봇 청소기(100)를 통해 구현될 수 있다.
또는, 도 9 내지 도 11을 통해 설명된 제어 방법은, 로봇 청소기(100) 및 하나 이상의 외부 장치를 포함하는 시스템을 통해 구현될 수도 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇 청소기(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇 청소기(100)에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 로봇 청소기 110: 흡입부
120: 충격 감지 센서 130: 카메라
140: 메모리 150: 프로세서
160: 위치 감지 센서 170: 주행부
180: 통신부 190: 디스플레이
195: 오디오 출력부

Claims (19)

  1. 로봇 청소기에 있어서,
    흡입부;
    충격 감지 센서;
    카메라;
    메모리; 및
    상기 흡입부, 상기 충격 감지 센서, 상기 카메라 및 상기 메모리와 연결되어 상기 로봇 청소기를 제어하는 프로세서;를 포함하고,
    상기 메모리는, 객체를 식별하도록 학습된 인공지능 모델을 포함하고,
    상기 프로세서는,
    상기 흡입부에 의해 흡입된 객체에 기초한 충격이 상기 충격 감지 센서를 통해 감지되면, 상기 카메라를 통해 획득된 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하고,
    서로 다른 크기의 복수의 패치를 이용하여 상기 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 상기 획득된 복수의 영역을 상기 인공지능 모델에 입력하여 상기 식별된 이미지에 포함되는 객체를 식별하는, 로봇 청소기.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 각 패치에 대응되는 복수의 영역 각각을 상기 인공지능 모델에 입력하여 상기 인공지능 모델로부터 상기 복수의 영역 각각에 대한 출력을 획득하고, 상기 식별된 이미지 내 상기 복수의 영역 각각의 위치 및 상기 인공지능 모델로부터 획득된 출력에 기초하여 상기 식별된 이미지에 포함되는 객체를 식별하는, 로봇 청소기.
  3. 제2항에 있어서,
    상기 인공지능 모델은, 상기 인공지능 모델에 의해 식별된 객체에 대한 정보 및 상기 식별된 객체에 대한 정보의 신뢰도를 출력하고,
    상기 프로세서는,
    상기 인공지능 모델에 의해 출력되는, 상기 복수의 영역 각각에서 식별된 객체에 대한 정보 및 상기 복수의 영역 각각에서 식별된 상기 객체에 대한 정보의 신뢰도에 기초하여 상기 식별된 이미지에 포함되는 객체를 식별하는, 로봇 청소기.
  4. 제1항에 있어서,
    주행부;를 더 포함하고,
    상기 프로세서는,
    상기 로봇 청소기가 청소 모드인 경우, 상기 카메라를 통해 획득되는 복수의 이미지를 상기 인공지능 모델에 입력하여 객체를 식별하고, 상기 식별된 객체에 대한 정보를 기반으로 주행 및 흡입을 수행하도록 상기 주행부 및 상기 흡입부를 제어하고,
    상기 흡입부에 의해 흡입된 객체에 기초한 상기 충격이 감지되면, 상기 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하고, 상기 식별된 이미지에서 획득된 상기 복수의 영역을 상기 인공지능 모델에 입력하는, 로봇 청소기.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 청소 모드에서 상기 식별된 이미지를 상기 메모리에 저장하고,
    상기 로봇 청소기가 휴식 모드인 경우, 상기 저장된 이미지에서 획득된 상기 복수의 영역을 상기 인공지능 모델에 입력하여 상기 저장된 이미지에 포함되는 객체를 식별하는, 로봇 청소기.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 식별된 객체에 대한 정보 및 상기 식별된 이미지를 기초로 상기 인공지능 모델을 학습시키는, 로봇 청소기.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 객체가 기설정된 객체인 경우, 상기 식별된 객체에 대한 정보를 제공하는, 로봇 청소기.
  8. 제7항에 있어서,
    위치 감지 센서;를 더 포함하고,
    상기 메모리는, 상기 로봇 청소기의 주행을 위해 필요한 맵에 대한 정보를 저장하고,
    상기 프로세서는,
    상기 위치 감지 센서를 통해 수신된 센싱 데이터를 기반으로, 상기 맵에 포함된 복수의 구역 중 상기 충격이 감지된 시점에 상기 로봇 청소기가 위치한 구역을 식별하고,
    상기 식별된 객체가 상기 기설정된 객체인 경우, 상기 식별된 객체에 대한 정보 및 상기 식별된 구역에 대한 정보를 제공하는, 로봇 청소기.
  9. 제8항에 있어서,
    통신부;를 더 포함하고,
    상기 프로세서는,
    상기 식별된 객체가 상기 기설정된 객체인 경우, 상기 식별된 객체에 대한 정보 및 상기 식별된 구역에 대한 정보를 상기 통신부를 통해 사용자의 휴대 단말 장치로 전송하는, 로봇 청소기.
  10. 객체를 식별하도록 학습된 인공지능 모델이 저장된 메모리를 포함하는 로봇 청소기의 제어 방법에 있어서,
    흡입부에 의해 흡입된 객체에 기초한 충격이 충격 감지 센서를 통해 감지되면, 카메라를 통해 획득된 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하는 단계;
    서로 다른 크기의 복수의 패치를 이용하여 상기 식별된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하는 단계; 및
    상기 획득된 복수의 영역을 인공지능 모델에 입력하여 상기 식별된 이미지에 포함되는 객체를 식별하는 단계;를 포함하는, 제어 방법.
  11. 제10항에 있어서,
    상기 객체를 식별하는 단계는,
    상기 각 패치에 대응되는 복수의 영역 각각을 상기 인공지능 모델에 입력하여 상기 인공지능 모델로부터 상기 복수의 영역 각각에 대한 출력을 획득하고,
    상기 식별된 이미지 내 상기 복수의 영역 각각의 위치 및 상기 인공지능 모델로부터 획득된 출력에 기초하여 상기 식별된 이미지에 포함되는 객체를 식별하는, 제어 방법.
  12. 제11항에 있어서,
    상기 인공지능 모델은, 상기 인공지능 모델에 의해 식별된 객체에 대한 정보 및 상기 식별된 객체에 대한 정보의 신뢰도를 출력하고,
    상기 객체를 식별하는 단계는,
    상기 인공지능 모델에 의해 출력되는, 상기 복수의 영역 각각에서 식별된 객체에 대한 정보 및 상기 복수의 영역 각각에서 식별된 상기 객체에 대한 정보의 신뢰도에 기초하여 상기 식별된 이미지에 포함되는 객체를 식별하는, 제어 방법.
  13. 제10항에 있어서,
    상기 로봇 청소기가 청소 모드인 경우, 상기 카메라를 통해 획득되는 복수의 이미지를 상기 인공지능 모델에 입력하여 객체를 식별하고, 상기 식별된 객체에 대한 정보를 기반으로 주행 및 흡입을 제어하여 청소를 수행하는 단계;를 더 포함하고,
    상기 객체를 식별하는 단계는,
    상기 청소를 수행하는 단계에서 상기 흡입부에 의해 흡입된 객체에 기초한 상기 충격이 감지되면, 상기 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 식별하고, 상기 식별된 이미지에서 획득된 상기 복수의 영역을 상기 인공지능 모델에 입력하는, 제어 방법.
  14. 제13항에 있어서,
    상기 청소 모드에서 상기 식별된 이미지를 상기 메모리에 저장하는 단계;를 더 포함하고,
    상기 객체를 식별하는 단계는,
    상기 로봇 청소기가 휴식 모드인 경우, 상기 저장된 이미지에서 획득된 상기 복수의 영역을 상기 인공지능 모델에 입력하여 상기 저장된 이미지에 포함되는 객체를 식별하는, 제어 방법.
  15. 제13항에 있어서,
    상기 식별된 객체에 대한 정보 및 상기 식별된 이미지를 기초로 상기 인공지능 모델을 학습시키는 단계;를 더 포함하는, 제어 방법.
  16. 제10항에 있어서,
    상기 식별된 객체가 기설정된 객체인 경우, 상기 식별된 객체에 대한 정보를 제공하는 단계;를 더 포함하는, 제어 방법.
  17. 제16항에 있어서,
    상기 메모리는, 상기 로봇 청소기의 주행을 위해 필요한 맵에 대한 정보를 저장하고,
    상기 제어 방법은,
    상기 맵에 포함된 복수의 구역 중 상기 충격이 감지된 시점에 상기 로봇 청소기가 위치한 구역을 식별하는 단계; 및
    상기 식별된 객체가 상기 기설정된 객체인 경우, 상기 식별된 객체에 대한 정보 및 상기 식별된 구역에 대한 정보를 제공하는 단계;를 더 포함하는, 제어 방법.
  18. 제17항에 있어서,
    상기 제공하는 단계는,
    상기 식별된 객체가 상기 기설정된 객체인 경우, 상기 식별된 객체에 대한 정보 및 상기 식별된 구역에 대한 정보를 상기 통신부를 통해 사용자의 휴대 단말 장치로 전송하는, 제어 방법.
  19. 시스템에 있어서,
    카메라를 통해 획득되는 복수의 이미지를 제1 인공지능 모델에 입력하여 객체를 식별하고, 식별된 객체에 기초하여 주행 및 흡입을 수행하는 로봇 청소기; 및
    제2 인공지능 모델이 저장된 서버 장치;를 포함하고,
    상기 로봇 청소기는,
    상기 로봇 청소기에 흡입된 객체에 기초한 충격이 감지되면, 상기 복수의 이미지 중 상기 충격이 감지된 시점 이전의 기설정된 시간 이내에 획득된 이미지를 상기 서버 장치로 전송하고,
    상기 서버 장치는,
    서로 다른 크기의 복수의 패치를 이용하여 상기 로봇 청소기로부터 수신된 이미지에서 각 패치에 대응되는 복수의 영역을 획득하고, 상기 획득된 복수의 영역을 상기 제2 인공지능 모델에 입력하여 상기 수신된 이미지에 포함되는 객체를 식별하고, 상기 수신된 이미지에서 식별된 상기 객체에 대한 정보를 상기 로봇 청소기로 전송하는, 시스템.
KR1020190144515A 2019-11-12 2019-11-12 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법 Ceased KR20210057582A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190144515A KR20210057582A (ko) 2019-11-12 2019-11-12 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법
PCT/KR2020/015231 WO2021096144A1 (en) 2019-11-12 2020-11-03 Mistakenly ingested object identifying robot cleaner and controlling method thereof
US17/093,010 US11641994B2 (en) 2019-11-12 2020-11-09 Mistakenly ingested object identifying robot cleaner and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190144515A KR20210057582A (ko) 2019-11-12 2019-11-12 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20210057582A true KR20210057582A (ko) 2021-05-21

Family

ID=75846645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190144515A Ceased KR20210057582A (ko) 2019-11-12 2019-11-12 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법

Country Status (3)

Country Link
US (1) US11641994B2 (ko)
KR (1) KR20210057582A (ko)
WO (1) WO2021096144A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025095167A1 (ko) * 2023-11-01 2025-05-08 엘지전자 주식회사 전자 디바이스 및 그 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3915048A4 (en) * 2019-06-03 2022-03-30 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE FOR OBJECT RECOGNITION AND CONTROL METHOD THEREOF
KR20210057582A (ko) * 2019-11-12 2021-05-21 삼성전자주식회사 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법
CN115338902A (zh) * 2022-10-20 2022-11-15 常州龙源智能机器人科技有限公司 一种用于服务机器人的防洒阻尼托盘

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442321B1 (en) * 2011-09-14 2013-05-14 Google Inc. Object recognition in images
KR101322510B1 (ko) 2011-09-20 2013-10-28 엘지전자 주식회사 로봇 청소기
JP5771885B2 (ja) * 2013-06-03 2015-09-02 みこらった株式会社 電気掃除装置
KR101623642B1 (ko) * 2014-08-07 2016-05-23 윤덕찬 로봇 청소기, 단말장치의 제어방법 및 이를 포함하는 로봇 청소기 제어 시스템
US9697439B2 (en) * 2014-10-02 2017-07-04 Xerox Corporation Efficient object detection with patch-level window processing
KR20160058594A (ko) * 2014-11-17 2016-05-25 삼성전자주식회사 로봇 청소기, 단말장치 및 그 제어 방법
KR102314637B1 (ko) * 2015-03-23 2021-10-18 엘지전자 주식회사 로봇 청소기 및 이를 구비하는 로봇 청소 시스템
JP2017205324A (ja) * 2016-05-19 2017-11-24 パナソニックIpマネジメント株式会社 ロボット
CN109890575B (zh) * 2016-08-25 2023-02-21 Lg电子株式会社 移动机器人及其控制方法
KR102688528B1 (ko) * 2017-01-25 2024-07-26 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR102017148B1 (ko) 2017-03-03 2019-09-02 엘지전자 주식회사 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법
US20180348783A1 (en) * 2017-05-31 2018-12-06 Neato Robotics, Inc. Asynchronous image classification
JP6435019B2 (ja) 2017-06-01 2018-12-05 將洋 鈴木 自走式電気掃除装置及び自走式電気掃除装置用プログラム
KR102032284B1 (ko) 2017-09-22 2019-10-15 엘지전자 주식회사 인공지능 이용한 이동 로봇 및 이동 로봇의 제어방법
US20200375427A1 (en) * 2019-05-30 2020-12-03 Bot3, Inc. Method for a robot cleaner with an adaptive control method based on the material of the floor, and a robot cleaner
KR102766121B1 (ko) 2019-08-27 2025-02-13 엘지전자 주식회사 인공 지능을 통해 구속 상황을 인식하는 로봇 청소기 및 그의 동작 방법
KR20210057582A (ko) * 2019-11-12 2021-05-21 삼성전자주식회사 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025095167A1 (ko) * 2023-11-01 2025-05-08 엘지전자 주식회사 전자 디바이스 및 그 제어 방법

Also Published As

Publication number Publication date
US20210142061A1 (en) 2021-05-13
WO2021096144A1 (en) 2021-05-20
US11641994B2 (en) 2023-05-09

Similar Documents

Publication Publication Date Title
KR20210057582A (ko) 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법
EP4335343B1 (en) Pollution source determination robot cleaner and operating method thereof
US11592825B2 (en) Electronic device and operation method therefor
KR20180051367A (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
US10978093B1 (en) Computer apparatus and method implementing sound detection to recognize an activity
CN111633686B (zh) 机器人的安全防护方法、装置与机器人
KR20190098091A (ko) 이미지 데이터에서 사용자를 인식하는 인공 지능 장치 및 그 방법
CN110063053B (zh) 用于处理图像的装置和方法
KR102476239B1 (ko) 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
KR101623642B1 (ko) 로봇 청소기, 단말장치의 제어방법 및 이를 포함하는 로봇 청소기 제어 시스템
EP4210042A1 (en) Electronic device and method for controlling electronic device
US20180126902A1 (en) Method and appartus for informing pedetrian and occupant of vehicle of each other's approach
US12073602B2 (en) Automated key frame selection
KR20180023303A (ko) 이동 로봇 및 그 제어방법
KR102254157B1 (ko) 와핑된 이미지를 통해 바닥 객체를 식별하는 전자 장치 및 그 제어 방법
KR102396794B1 (ko) 전자 장치 및 이의 제어 방법
EP3942526B1 (en) Electronic apparatus for identifying object through warped image and control method thereof
CN112149641A (zh) 监控驾驶状态的方法、装置、设备和存储介质
CN111684782A (zh) 电子设备及其控制方法
KR20120132337A (ko) 음성 인식을 이용하는 사용자 인터페이스 제어 장치 및 방법
KR101983892B1 (ko) 웨어러블 디바이스를 이용한 차량 내 제스처 인식방법, 장치 및 기록매체
US12445714B2 (en) Information processing apparatus, image capturing system, method, and non-transitory computer-readable storage medium for selecting a trained model
US20230125410A1 (en) Information processing apparatus, image capturing system, method, and non-transitory computer-readable storage medium
TW202301323A (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

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000