KR20200009680A - 로봇 청소기 - Google Patents

로봇 청소기 Download PDF

Info

Publication number
KR20200009680A
KR20200009680A KR1020180084344A KR20180084344A KR20200009680A KR 20200009680 A KR20200009680 A KR 20200009680A KR 1020180084344 A KR1020180084344 A KR 1020180084344A KR 20180084344 A KR20180084344 A KR 20180084344A KR 20200009680 A KR20200009680 A KR 20200009680A
Authority
KR
South Korea
Prior art keywords
robot cleaner
floor
type
unit
data
Prior art date
Application number
KR1020180084344A
Other languages
English (en)
Other versions
KR102531201B1 (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 KR1020180084344A priority Critical patent/KR102531201B1/ko
Publication of KR20200009680A publication Critical patent/KR20200009680A/ko
Application granted granted Critical
Publication of KR102531201B1 publication Critical patent/KR102531201B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • 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/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

본 발명의 실시 예에 따른 로봇 청소기는, 바닥면의 이물을 흡입하는 흡입력을 제공하는 흡입 모터, 상기 로봇 청소기의 주행을 위한 주행부, 상기 로봇 청소기의 주행 중, 바닥면의 종류를 인식하기 위한 감지 데이터를 획득하는 바닥 감지부, 상기 흡입 모터, 상기 주행부, 및 상기 바닥 감지부를 제어하는 제어부, 및 상기 감지 데이터를 머신 러닝으로 기학습된 인공신경망에 입력하여, 상기 감지 데이터에 대응하는 바닥면의 종류를 인식하는 바닥 인식 모듈을 포함한다.

Description

로봇 청소기{ROBOT CLEANER}
본 발명은 로봇 청소기에 관한 것으로, 특히 머신 러닝에 기초하여 청소 영역의 바닥면 종류를 인식하는 로봇 청소기에 관한 것이다.
일반적으로, 청소기란, 바닥면의 이물질 등을 흡입하여 제거하는 가전기기이다. 최근에는, 이와 같은 청소기 중 특히, 자동으로 청소가 이루어지는 청소기를 로봇 청소기라 칭한다.
상기 로봇 청소기는, 배터리로부터 전원을 공급받아 동작하는 모터의 구동력에 의하여 이동하면서 바닥면의 이물질 등을 흡입하여 제거한다.
이러한 로봇 청소기는 주로 가정 등의 실내 공간에 배치되어, 상기 실내 공간을 자유롭게 주행하면서 청소 동작을 수행할 수 있다.
이 때, 상기 실내 공간의 바닥면은 맨바닥(bare floor), 카펫(carpet), 벽돌 바닥 등과 같이 다양한 종류로 구분될 수 있고, 바닥면의 종류에 따라 그 특성이 서로 다를 수 있다.
공개특허번호 10-2011-0083598호에는, 구동바퀴조립체에 마련된 피감지체를 감지하여 기준 위치에 대한 구동바퀴의 변위를 검출하여 바닥면의 재질이나 상태를 판단하는 기술이 제안되었다. 다만, 이러한 종래 기술의 경우, 구동바퀴의 변위만으로 바닥면의 종류를 인식하는 것은 어렵고, 그 결과 로봇 청소기가 바닥면의 종류에 따라 효과적인 동작을 제공하기 어려울 수 있다. 특히, 로봇 청소기가 벽돌 바닥과 같이 바닥면의 변화가 큰 구역을 주행하는 경우, 로봇 청소기에 구비된 센서들의 오감지가 발생하거나, 외부로부터의 충격으로 오인지하여 로봇 청소기가 정상적으로 주행하지 못하는 상황이 발생할 수 있다.
따라서, 로봇 청소기가 보다 효과적인 청소 동작이나 주행 동작 등을 수행하기 위해, 바닥면의 종류를 정확히 인식하는 방법이 제공될 필요가 있다.
한편, 최근에는 인공지능과 딥러닝(deep learning) 등 머신 러닝(machine learning)에 대한 관심이 증가하고 있다.
종래의 머신 러닝은 통계학 기반의 분류, 회귀, 군집 모델이 중심이었다. 특히, 분류, 회귀 모델의 지도 학습에서는 학습 데이터의 특성과 이러한 특성을 기반으로 새로운 데이터를 구별하는 학습 모델이 사전에 정의되었다. 이와 달리, 딥러닝은 컴퓨터가 스스로 특성을 찾아내고 판별하는 것이다.
최근 이러한 딥러닝과 관련되어 오픈소스로 제공되는 딥러닝 프레임워크들이 등장하였고, 이에 따라 효과적인 학습 및 인식을 위해, 딥러닝 알고리즘 외에 학습 과정, 학습 방법, 학습에 사용되는 데이터의 추출 및 선정과 관련된 기술이 더욱 중요해지고 있다. 또한, 머신 러닝을 다양한 제품이나 서비스에 이용하기 위한 연구가 증가하고 있다.
1. 공개특허공보 제10-2011-0083598호 (2011.08.22. 자 공개)
본 발명이 해결하고자 하는 일 과제는, 청소 영역의 바닥면 종류를 인식하여, 인식된 바닥면 종류에 기초하여 센서들의 파라미터를 조절하거나 청소 동작과 관련된 구성의 제어가 가능한 로봇 청소기를 제공하는 것이다.
본 발명이 해결하고자 하는 일 과제는, 머신 러닝에 기반하여 바닥면 종류를 보다 정확히 인식할 수 있는 로봇 청소기를 제공하는 것이다.
본 발명의 실시 예에 따른 로봇 청소기는, 바닥면의 이물을 흡입하는 흡입력을 제공하는 흡입 모터, 상기 로봇 청소기의 주행을 위한 주행부, 상기 로봇 청소기의 주행 중, 바닥면의 종류를 인식하기 위한 감지 데이터를 획득하는 바닥 감지부, 상기 흡입 모터, 상기 주행부, 및 상기 바닥 감지부를 제어하는 제어부, 및 상기 감지 데이터를 머신 러닝으로 기학습된 인공신경망에 입력하여, 상기 감지 데이터에 대응하는 바닥면의 종류를 인식하는 바닥 인식 모듈을 포함한다. 이에 따라, 로봇 청소기는 청소 영역의 바닥면의 종류를 보다 정확히 인식할 수 있다.
상기 바닥 감지부는, 상기 로봇 청소기의 본체 저면에 배치되어, 바닥면으로부터의 높이를 감지하는 적어도 하나의 클리프 센서(cliff sensor)를 포함하여, 로봇 청소기는 바닥면의 높이 변화량에 따라 바닥면의 종류를 인식할 수 있다.
실시 예에 따라, 상기 바닥 감지부는 상기 주행부에 포함된 바퀴의 회전 속도를 감지하는 휠 센서를 더 포함하여, 바닥면 종류에 따른 속도 변화를 이용하여 바닥면의 종류를 보다 정확히 인식하도록 한다.
실시 예에 따라, 상기 바닥 인식 모듈은 상기 바닥 감지부로부터 획득된 복수의 연속된 감지 데이터를 이용하여 상기 바닥면의 종류를 인식함으로써, 바닥면의 종류를 보다 정확히 인식할 수 있다.
상기 제어부는, 상기 감지 데이터에 대응하는 위치 정보를 위치 인식부로부터 획득하여, 상기 인식된 바닥면의 종류에 대한 정보와 상기 위치 정보를 저장부에 저장할 수 있다.
상기 제어부는, 상기 저장부에 저장된 바닥면의 종류에 대한 정보 및 상기 위치 정보에 기초하여, 상기 로봇 청소기의 청소 영역에 대한 맵을 생성함으로써, 맵 상에 바닥면의 종류에 대한 정보를 함께 나타낼 수 있다.
상기 제어부는, 상기 생성된 맵을 통신부를 통해 이동 단말기 또는 서버로 전송하여, 청소 영역의 맵 정보를 사용자나 제조사에게 제공할 수 있다.
상기 제어부는, 상기 인식된 바닥면의 종류 및 상기 위치 정보에 기초하여, 상기 로봇 청소기의 현재 위치에 대응하는 바닥면의 종류에 따라 상기 로봇 청소기에 포함된 센서들 중 적어도 일부의 민감도를 조절할 수 있다. 이에 따라, 로봇 청소기의 주행 중 바닥면의 종류에 따라 센서의 감지 정확도 저하 현상이나 오감지 현상이 발생하는 것을 최소화할 수 있다.
상기 제어부는, 상기 인식된 바닥면의 종류 및 상기 위치 정보에 기초하여, 상기 로봇 청소기의 현재 위치에 대응하는 바닥면의 종류에 따라 상기 흡입 모터의 구동을 제어함으로써, 바닥면의 종류에 따라 최적의 청소 동작을 수행할 수 있다.
상기 바닥 인식 모듈은, 상기 획득된 감지 데이터와, 상기 획득된 감지 데이터에 기초한 바닥면의 종류 인식 결과에 기초하여 상기 인공신경망을 업데이트하거나, 서버로부터 상기 감지 데이터에 기초한 학습 데이터를 수신하여 상기 인공신경망을 업데이트함으로써, 지속적인 학습 동작을 통해 인식 정확도를 높일 수 있다.
본 발명의 실시 예에 따르면, 로봇 청소기는 주행 중 바닥면의 종류를 인식하여, 바닥면의 종류에 기초하여 센서의 민감도를 설정할 수 있다. 이에 따라, 로봇 청소기의 주행 시 센서의 감지 정확도가 바닥면의 종류와 관계없이 소정 수준 이상으로 유지시킬 수 있고, 오감지율을 저감시킬 수 있다.
또한, 로봇 청소기는 인식된 바닥면의 종류에 기초하여 흡입 모터의 구동을 조절함으로써, 바닥면의 종류에 최적화된 청소 동작을 수행할 수 있다. 그 결과, 로봇 청소기의 청소 성능에 대한 사용자의 만족도를 향상시킬 수 있다.
뿐만 아니라, 로봇 청소기는 머신 러닝으로 기학습된 인공신경망을 이용하여, 청소 영역의 바닥면의 종류를 보다 정확히 인식할 수 있고, 지속적인 학습 동작을 통해 인식 정확도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 로봇 청소기의 사시도이다.
도 2는 본 발명의 일 실시 예에 따른 로봇 청소기의 측면도이다.
도 3은 본 발명의 일 실시 예에 따른 로봇 청소기의 제어 구성을 나타내는 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 로봇 청소기의 동작 방법을 설명하기 위한 플로우차트이다.
도 5와 도 6은 머신 러닝의 일례로 딥러닝(deep learning)을 설명하기 위한 도면들이다.
도 7 내지 도 10은 본 발명의 실시 예에 따른 로봇 청소기가 바닥면의 종류를 인식하는 동작을 구체적으로 설명하기 위한 도면들이다.
도 11은 본 발명의 실시 예에 따른 로봇 청소기에 의해 생성되는 맵의 일례를 보여주는 도면이다.
도 12는 본 발명의 일 실시 예에 따른 로봇 청소기의 동작 방법을 설명하기 위한 플로우차트이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명한다. 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 로봇 청소기의 사시도이고, 도 2는 본 발명의 일 실시 예에 따른 로봇 청소기의 측면도이다.
도 1 및 도 2에 도시된 로봇 청소기(1)는 설명의 편의를 위한 일 실시 예에 불과한 바, 본 발명의 로봇 청소기(1)의 형상이나 구조가 도 1 및 도 2에 도시된 실시 예에 한정되는 것은 아니다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시 예에 따른 로봇 청소기(1)는, 흡입력을 발생시키는 흡입 모터(150; 도 3 참조)를 구비하는 본체(10)를 포함할 수 있다.
상기 본체(10)는, 제한적이지는 않으나, 원통 형상으로 형성될 수 있다. 상기 본체(10)가 자동으로 주행하면서 바닥면의 청소를 수행할 때, 장애물과 간섭되는 것이 방지되도록, 상기 본체(10)의 높이는 상기 본체(10)의 반경 보다 작게 설계될 수 있다.
상기 본체(10)는, 이동을 위한 메인 바퀴(11)와, 이동 보조를 위한 보조 바퀴(12)를 포함할 수 있다. 상기 메인 바퀴(11)는 구동 모터(140; 도 3 참조)에 연결되어 회전되고, 메인 바퀴(11)의 회전에 따라 로봇 청소기(1)가 주행할 수 있다. 즉, 메인 바퀴(11)와 구동 모터(140)는 로봇 청소기(1)의 주행부로서 기능할 수 있다.
상기 로봇 청소기(1)는, 상기 본체(10)의 앞쪽에 구비되는 노즐(30)과, 상기 본체(10)에 분리 가능하게 구비되는 먼지통(20)을 더 포함할 수 있다.
바닥면의 먼지를 상기 노즐(30)을 통해 상기 본체(10) 내부로 흡입될 수 있고, 상기 본체(10) 내부로 흡입된 공기에서 먼지를 분리하고, 분리된 먼지를 저장할 수 있다.
상기 먼지통(20)은 상기 본체(10)에서 상기 노즐(30)의 반대편에 위치될 수 있다. 예를 들어, 상기 먼지통(20)은 상기 본체(10)의 후측에 위치될 수 있다.
상기 노즐(30)의 일부는 상기 본체(10)와 상하 방향으로 중첩되도록 구비되고, 다른 일부는 상기 본체(10)의 전방으로 돌출될 수 있다.
그리고, 상기 노즐(30)에서 상기 본체(10)의 전방으로 돌출된 전방 돌출부(31)의 높이는 상기 본체(10)의 높이 보다 낮게 형성될 수 있다.
따라서, 상기 로봇 청소기(1)가 바닥면을 청소하는 과정에서, 상기 본체(10)의 높이 보다 높이가 낮은 공간으로 상기 전방 돌출부(31)가 진입할 수 있어, 상기 로봇 청소기(1)의 청소 가능한 영역이 증가될 수 있는 장점이 있다.
상기 노즐(30)은, 먼지를 포함한 공기를 흡입하기 위한 흡입구와, 상기 노즐(30) 내에서 상기 흡입구의 상방에 위치되는 회전 청소부를 더 포함할 수 있다.
상기 회전 청소부는 제한적이지는 않으나, 브러시나, 블레이드 타입의 고무를 포함할 수 있고, 회전 과정에서 바닥면에 붙은 먼지를 털어올릴 수 있다.
상기 노즐(30)은 장애물과 충돌 시 충격을 흡수하기 위한 범퍼(330)를 포함할 수 있다. 제한적이지는 않으나, 상기 범퍼(330)는 충격 흡수가 가능한 재질로 형성될 수 있으며, 장애물과 충돌 시 형태 변형 및/또는 후방 이동으로 충격을 흡수할 수 있다.
상기 범퍼(330)는 상기 노즐(30)의 앞쪽 전체에 구비되거나 일부에 구비될 수 있다. 다만, 상기 범퍼(330)는 상기 노즐(30) 중에서 최 전단부에 위치되어 소정 높이 이상의 장애물(범퍼의 최저 높이 보다 높은 장애물임)과 가장 먼저 접촉할 수 있다.
상기 로봇 청소기(1)가 바닥면을 청소하는 과정에서 장애물을 만나는 경우 상기 로봇 청소기(1)는 장애물의 높이에 따라서 장애물을 회피하거나 장애물을 타고 넘을 수 있다.
예를 들어, 상기 장애물의 높이가 상기 범퍼(330)의 높이와 유사하거나 낮은 경우, 상기 로봇 청소기(1)는 상기 장애물을 타고 넘을 수 있다.
이때, 상기 로봇 청소기(1)가 장애물을 쉽게 타고 넘기 위해서는 상기 노즐(30)에는 경사면(304)이 형성되는 것이 바람직하다.
상기 경사면(304)은 일 예로 상기 노즐(30)의 일 지점에서 후방으로 갈수록 하향 경사질 수 있다. 따라서, 상기 로봇 청소기(1)가 전진하는 과정에서 상기 장애물이 상기 경사면(304)과 접촉하면 상기 경사면(304)에 의해서 상기 로봇 청소기(1)에서 상기 노즐(30)이 들어올려지게 되어 상기 로봇 청소기(1)의 메인 바퀴(11)가 상기 장애물을 쉽게 타고 넘을 수 있게 된다.
상기 경사면(304)은 상기 노즐(30)에서 상기 범퍼(330)가 위치되는 부분의 하측 부분에 형성될 수 있다.
한편, 로봇 청소기(1)는 주로 가정 등 실내 공간에 배치되어, 상기 실내 공간을 자유롭게 주행하면서 바닥면의 먼지나 이물 등을 제거할 수 있다. 상기 실내 공간의 바닥면은 맨바닥면, 카펫, 벽돌 바닥면 등 다양한 종류를 가질 수 있고, 또한 바닥면에는 로봇 청소기(1)가 타고 넘을 수 있는 오브젝트가 존재할 수도 있다. 그러나, 종래의 경우 로봇 청소기(1)는 바닥면의 종류를 정확히 구분하지 못함에 따라, 센서부의 오동작 및 오감지가 발생하거나, 특정 영역에 대한 청소가 효과적으로 이루어지지 못하는 문제가 있었다.
본 발명의 실시 예에 따른 로봇 청소기(1)는 머신 러닝에 기반하여 바닥면의 종류를 보다 정확히 인식함으로써, 청소 영역의 바닥면 종류에 대한 정보를 제공할 수 있고, 다양한 바닥면 종류에 대응하여 동작을 효과적으로 제어할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 로봇 청소기의 제어 구성을 나타내는 블록도이다.
도 3을 참조하면, 로봇 청소기(1)는 통신부(110), 입력부(120), 센서부(바닥 감지부(130), 장애물 검출부(134), 위치 인식부(136)), 구동 모터(140), 흡입 모터(150), 출력부(160), 저장부(170), 제어부(180), 및 전원 공급부(190)를 포함할 수 있다. 도 3에 도시된 구성요소들은 로봇 청소기(1)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 로봇 청소기(1)는 위에서 열거된 구성요소들보다 많거나, 또는 적은 구성요소들을 포함할 수도 있다.
통신부(110)는, 로봇 청소기(1)를 서버나 이동 단말기, 게이트웨이 등과의 무선 통신을 가능하게 하는 적어도 하나의 통신 모듈을 포함할 수 있다. 상기 적어도 하나의 통신 모듈 각각은 와이파이(Wi-Fi), WLAN(Wireless LAN), 블루투스(Bluetooth) 등과 같은 다양한 무선 통신 방식 중 어느 하나를 지원할 수 있다.
제어부(180)는 통신부(110)를 통해 서버나 이동 단말기로 로봇 청소기(1)의 상태 정보, 동작 정보 등을 전송하고, 서버나 이동 단말기로부터 로봇 청소기(1)의 조작 정보 등을 수신할 수 있다.
입력부(120)는 버튼, 다이얼, 터치 스크린, 마이크로폰 등의 각종 입력 장치를 구비할 수 있다. 제어부(180)는 입력부(120)를 통해 외부로부터 제어 명령을 입력받을 수 있다. 한편, 입력부(120)는 본체(10)의 상부면에 구비되어, 사용자로 하여금 간편하게 입력부(120)를 조작할 수 있도록 할 수 있다. 예컨대, 사용자는 입력부(120)를 통해 청소지도, 청소영역, 위치정보, 장애물정보, 청소모드 등의 로봇 청소기(1)의 제어를 위한 각종 명령을 입력할 수 있다.
한편, 로봇 청소기(1)는 로봇 청소기(1)의 주변 영역에 대한 각종 정보를 획득하기 위한 센서부를 포함할 수 있다. 이러한 센서부는 바닥 감지부(130), 장애물 검출부(134), 및 위치 인식부(136)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
바닥 감지부(130)는, 현재 로봇 청소기(1)가 위치한 바닥면의 종류를 인식하기 위한 감지 데이터를 획득하는 적어도 하나의 센서를 포함할 수 있다. 바닥 감지부(130)는 상기 감지 데이터를 주기적(예컨대, 약 20ms)으로 획득할 수 있으나, 반드시 그러한 것은 아니다.
예컨대, 바닥 감지부(130)는 클리프 센서(cliff sensor; 131)를 포함할 수 있다. 클리프 센서(131)는 본체(10)의 저면에 적어도 하나가 서로 이격되어 배치될 수 있다. 예컨대, 클리프 센서(131)는 본체(10)의 저면 가장자리를 따라 적어도 하나가 서로 이격되어 배치될 수 있다.
클리프 센서(131)는 적외선을 지면(바닥면)으로 방출하고 방출된 적외선을 수신할 수 있다. 클리프 센서(131)는 적외선의 방출 시점과 수신 시점 사이의 시간에 기초하여, 로봇 청소기(1)의 저면과 바닥면 사이의 높이를 감지한 감지 데이터를 획득할 수 있다.
예컨대, 로봇 청소기(1)가 맨바닥면을 주행 중인 경우, 클리프 센서(131)에 의해 주기적으로 획득되는 감지 데이터 사이의 변화량이 없거나 미소할 수 있다. 반면, 로봇 청소기(1)가 카펫을 주행하거나 벽돌 바닥면을 주행하는 경우, 상기 주기적으로 획득되는 감지 데이터 사이의 변화량이 증가할 수 있다. 예를 들어, 클리프 센서(131)는 저면과 바닥면 사이의 높이가 불규칙적으로 변화하는 감지 데이터를 주기적으로 획득할 수 있고, 이러한 감지 데이터 간의 변화량은 카펫에 비해 벽돌 바닥면을 주행하는 경우 더 클 수 있다.
실시 예에 따라, 바닥 감지부(130)는 로봇 청소기(1)의 이동 속도를 감지하는 속도 센서(132)를 더 포함할 수 있다. 예컨대, 속도 센서(132)는 메인 바퀴(11)의 회전 속도를 감지한 감지 데이터를 획득하는 휠 센서(wheel sensor)로 구현될 수 있으나, 이에 한정되는 것은 아니다.
메인 바퀴(11)를 회전시키는 구동 모터(140)의 출력이 동일한 경우, 로봇 청소기(1)의 이동 속도는 바닥면의 종류에 따라 서로 다를 수 있다. 예컨대, 로봇 청소기(1)가 맨바닥면을 주행 중인 경우의 이동 속도는, 로봇 청소기(1)가 카펫 또는 벽돌 바닥면을 주행 중인 경우의 이동 속도보다 빠를 수 있다.
또한, 로봇 청소기(1)가 맨바닥면을 주행 중인 경우의 이동 속도의 변화량은, 로봇 청소기(1)가 카펫 또는 벽돌 바닥면을 주행 중인 경우의 이동 속도의 변화량보다 작을 수 있다.
따라서, 로봇 청소기(1)가 맨바닥면을 주행 중인 경우, 속도 센서(132)에 의해 주기적으로 획득되는 제1 감지 데이터에 따른 이동 속도는, 로봇 청소기(1)가 카펫 또는 벽돌 바닥면을 주행 중인 경우 획득되는 제2 감지 데이터에 따른 이동 속도보다 빠를 수 있다. 또한, 상기 제1 감지 데이터의 변화량은 상기 제2 감지 데이터에 따른 변화량보다 작을 수 있다.
즉, 바닥 감지부(130)에 의해 획득되는 감지 데이터는, 로봇 청소기(1)의 현재 위치에 대응하는 바닥면의 종류에 따라 서로 다른 특징을 포함할 수 있다. 바닥 인식 모듈(182)는 상기 감지 데이터에 포함된 특징으로부터 바닥면의 종류를 인식할 수 있다. 도 3에서는 바닥 감지부(130)에 포함된 센서로서 클리프 센서(131)와 속도 센서(132)만을 도시하였으나, 실시 예에 따라 바닥 감지부(130)는 기타 다양한 종류의 센서들(예컨대, 카메라, 온도 센서, 진동 센서 등)을 포함할 수 있다.
장애물 검출부(134)는, 청소 대상 영역 내에서 이동 중이거나, 청소 중에 상기 로봇 청소기(1) 주변에 있는 장애물을 검출할 수 있다. 상기 장애물 검출부(134)은 검출된 장애물의 유무, 또는 위치, 크기 등의 장애물 정보를 제어부(180)로 전달할 수 있다.
장애물 검출부(134)는, 로봇 청소기(1)의 주행 방향으로 전방에 위치되는 장애물을 용이하게 검출하기 위하여, 일 예로, 상기 본체(10)의 전면에 구비될 수 있다. 또는, 상기 장애물 검출부(134)는 상기 본체(10)의 전면, 양측면, 후면, 및 저면 등 다양한 위치에 구비되는 것도 가능하다.
상기 장애물 검출부(134)는, 초음파 센서(Supersonic Sensor), 적외선 센서(Infra Red Sensor), RF 센서(Radio Frequency Sensor) 등과 같이 특정 형태의 신호를 송신하여, 송신된 신호가 반사되어 수신됨에 따라 장애물의 위치 및 장애물과의 거리를 검출하는 거리 센서나, 장애물과의 충돌에 의해 장애물을 감지하는 충돌 센서(진동 센서 등) 등을 포함할 수 있다.
위치 인식부(136)는 로봇 청소기(1)의 현재 위치를 나타내는 위치 정보를 획득하기 위한 적어도 하나의 센서를 포함할 수 있다. 예컨대, 위치 인식부(136)는 가속도 센서, 인코더, 자이로 센서, 및/또는 레이저 센서 등을 포함할 수 있다. 상기 가속도 센서는 로봇 청소기의 이동에 따른 속도 및 위치를 인식할 수 있다. 상기 인코더는 로봇 청소기의 바퀴를 구동하는 모터와 연결되어 속도를 검출할 수 있다. 상기 자이로 센서는 로봇 청소기의 회전 속도를 검출할 수 있다. 상기 레이저 센서는 로봇 청소기(1)의 주변으로 레이저 광을 방출하고 반사된 레이저 광을 수신하여 주변의 사물 등을 인식하여, 인식된 사물에 대한 로봇 청소기(1)의 상대적인 위치를 검출하는 데 이용될 수 있다. 또는 상기 위치 인식부(136)는 전방이나 상방의 영상을 촬영하여 로봇 청소기의 절대 위치를 판단하는 카메라를 포함할 수 있다.
또한, 실시 예에 따라 로봇 청소기(1)는 상기 위치 인식부(136)를 이용하여 충전대에서 출력되는 복귀 신호(일 예로 적외선 신호)를 인식할 수도 있다. 또는, 상기 로봇 청소기(1)는 상기 복귀 신호를 수신하기 위한 복귀 센서를 추가로 구비할 수 있다.
로봇 청소기(1)는 상기 로봇 청소기(1)의 주행을 위한 구동 모터(140)를 포함할 수 있다. 구동 모터(140)는 제어부(180)의 제어에 따라 메인 바퀴(11)의 회전을 위한 구동력을 제공할 수 있다.
로봇 청소기(1)는 주행 중 바닥면의 이물이나 먼지를 흡입하는 흡입력을 발생시키는 흡입 모터(150)를 더 포함할 수 있다. 흡입 모터(150)의 구동에 따라, 바닥면의 이물이나 먼지는 노즐(30)을 통해 본체(10) 내부로 흡입되고, 본체(10) 내부로 흡입된 이물이나 먼지는 먼지통(20)에 저장될 수 있다.
출력부(160)는, 로봇 청소기(1)의 동작모드, 배터리 상태 등과 같은 각종 정보를 출력할 수 있다. 이러한 출력부(160)는 LED 등의 광원, 디스플레이, 스피커 등 다양한 형태의 시각 또는 청각적 출력 수단을 포함할 수 있다.
저장부(170)는, 로봇 청소기(1)의 동작과 관련된 다양한 정보나 데이터, 알고리즘 등을 저장할 수 있다. 저장부(170)는 적어도 하나의 휘발성 메모리(RAM 등) 및 비휘발성 메모리(EEPROM, 플래시 메모리 등)를 포함할 수 있다.
또한, 저장부(170)는 바닥 감지부(130), 장애물 검출부(134), 및 위치 인식부(136) 각각의 감지 결과에 따라 획득되는 데이터를 저장할 수 있고, 통신부(110)를 통해 송수신되는 데이터를 저장할 수 있다. 뿐만 아니라, 저장부(170)는 바닥 감지부(130) 및 위치 인식부(136) 각각의 감지 결과에 따라 생성되는 청소 영역에 대한 맵 데이터를 저장할 수도 있다.
제어부(180)는 로봇 청소기(1)에 포함된 구성요소들의 전반적인 동작을 제어할 수 있다. 예컨대, 제어부(180)는 통신부(110)를 통해 수신되는 데이터를 처리하여 저장부(170)에 저장할 수 있고, 입력부(120)를 통해 수신되는 입력에 대응하는 동작을 제어할 수 있으며, 로봇 청소기(1)의 동작 상태 등의 각종 정보를 출력부(160)를 통해 출력할 수 있다.
또한, 제어부(180)는 통신부(110)를 통해 바닥인식모듈(182)의 업데이트를 위한 학습 데이터를 수신하여, 바닥 인식 모듈(182)의 업데이트를 수행할 수 있다. 상기 업데이트는 바닥 인식 모듈(182)에 포함된 인공신경망 구조에 대한 업데이트를 의미할 수 있다.
또한, 제어부(180)는 바닥 인식 모듈(182)로부터의 바닥면 인식 결과와, 위치 인식부(136)의 위치 정보를 이용하여 청소 영역에 대한 맵을 생성할 수 있다. 생성된 맵의 맵 데이터는 저장부(170)에 저장되거나, 통신부(110)를 통해 서버나 이동 단말기로 전송될 수 있다.
제어부(180)는 바닥 감지부(130)로부터 획득된 감지 데이터를 이용하여, 머신 러닝으로 기학습된 데이터에 기반하여 바닥면 종류를 인식하는 바닥 인식 모듈(182)을 포함할 수 있다.
바닥 인식 모듈(182)은 머신 러닝(machine learning)으로 기학습된 인공신경망(artificial neural network)이 탑재되어, 바닥면 종류를 인식하는 동작을 수행할 수 있다. 상기 인공신경망은 소프트웨어 형태로 구현되거나 칩(chip) 등의 하드웨어 형태로 구현될 수 있다.
머신 러닝은 컴퓨터에게 사람이 직접 로직(logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 수행하고 이를 통해 컴퓨터가 스스로 문제를 해결하게 하는 것을 의미할 수 있다.
상기 머신 러닝 중 딥러닝(deep learning)은, 인공지능을 구성하기 위한 인공신경망을 기반으로 하여 컴퓨터에게 사람의 사고방식을 가르치는 방법으로서, 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.
바닥 인식 모듈(182)은 딥러닝으로 학습된 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(deep neural network)을 포함할 수 있다.
바닥 인식 모듈(182)은 바닥 감지부(130)로부터 획득된 감지 데이터를 인공신경망에 입력하여, 인공신경망에 포함된 노드들 사이의 가중치(weight)에 따라 바닥면 종류를 인식할 수 있다.
바닥 인식 모듈(182)과 관련된 보다 구체적인 내용에 대해서는 추후 도 4 내지 도 10을 참조하여 설명하기로 한다.
한편, 바닥 인식 모듈(182)은 바닥 감지부(130)가 주기적으로 감지 데이터를 획득할 때마다, 획득된 감지 데이터를 이용하여 학습 과정을 수행하거나, 소정 개수 이상의 감지 데이터가 획득된 후 학습 과정을 수행할 수 있다.
즉, 바닥 인식 모듈(182)은 감지 데이터를 이용하여 바닥면의 종류를 인식할 때마다 감지 결과를 추가하여 웨이트 등 인공신경망 구조를 업데이트할 수 있다.
또는, 로봇 청소기(1)는 통신부(110)를 통해 바닥 감지부(130)에서 획득된 감지 데이터를 서버로 전송하고, 서버로부터 머신 러닝과 관련된 데이터를 수신할 수도 있다. 이 경우, 상기 서버는 학습 모듈을 포함하여, 로봇 청소기(1)로부터 수신된 감지 데이터를 이용한 학습 과정을 수행할 수 있다.
이 경우, 로봇 청소기(1)는 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 바닥 인식 모듈(182)을 업데이트할 수 있다.
전원 공급부(190)는, 충전 가능한 전원 공급 수단을 구비하여 본체(10) 내로 전원을 공급할 수 있다. 전원 공급부(190)은 로봇 청소기(1)가 이동하고, 청소를 수행하는데 따른 동작 전원을 공급하며, 내부에 구비된 배터리 잔량이 부족하면 충전대로 복귀한 후에 충전대로부터 충전 전류를 공급받아 충전할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 로봇 청소기의 동작 방법을 설명하기 위한 플로우차트이다.
도 4를 참조하면, 로봇 청소기(1)는 주행 중 바닥 감지부(130)로부터 감지 데이터를 획득할 수 있다(S100).
도 3에서 상술한 바와 같이, 바닥 감지부(130)는 주행 중 주기적으로 감지 데이터를 획득하고, 획득된 감지 데이터를 제어부(180)로 전송할 수 있다.
로봇 청소기(1)는 바닥 인식 모듈(182)을 통해 로봇 청소기(1)의 현재 위치에 대응하는 바닥면 종류를 인식할 수 있다(S110).
제어부(180)는 상기 감지 데이터를 바닥 인식 모듈(182)로 입력하고, 바닥 인식 모듈(182)은 입력된 감지 데이터를 처리하여 바닥면 종류를 인식하고, 인식 결과를 출력할 수 있다.
도 3에서 상술한 바와 같이, 바닥 인식 모듈(182)은 머신 러닝으로 학습된 인공신경망을 포함할 수 있다. 바닥 인식 모듈(182)은 바닥 감지부(130)에 의해 획득된 감지 데이터를 상기 인공신경망에 입력하여 바닥의 종류를 인식할 수 있다.
S110 단계와 관련하여, 로봇 청소기(1)가 머신 러닝을 통해 바닥면 종류를 인식하는 동작에 대해, 이하 도 5 내지 도 10을 통해 보다 상세히 설명하기로 한다.
도 5와 도 6은 머신 러닝의 일례로 딥러닝(deep learning)을 설명하기 위한 도면들이다.
머신 러닝의 일종인 딥러닝 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다.
딥러닝은 단계를 높여갈수록 복수의 데이터로부터 핵심적인 데이터를 추출하는 머신 러닝 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(artificial neural network(ANN))을 포함할 수 있고, 예를 들어 딥러닝 구조는 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(deep neural network)으로 구성될 수 있다.
도 5를 참조하면, 인공신경망은 입력 레이어(Input Layer), 히든 레이어(Hidden Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다. 각 레이어는 복수의 노드들을 포함하고, 각 레이어는 다음 레이어와 연결된다. 인접한 레이어 사이의 노드들은 웨이트(weight)를 가지고 서로 연결될 수 있다.
도 6을 참조하면, 컴퓨팅 장치(머신)는 투입된 입력 데이터(610)로부터 일정한 패턴을 발견해 특징맵(feature map)을 형성할 수 있다. 예컨대, 컴퓨팅 장치(머신)는 하위레벨 특징(620)부터, 중간레벨 특징(630), 및 상위레벨 특징(640)을 추출하여, 대상을 인식하고 그 결과를 출력(650)할 수 있다.
인공신경망은 다음 순서의 레이어로 갈수록 더욱 상위레벨의 특징으로 추상화할 수 있다.
도 5와 도 6을 참조하면, 각 노드들은 활성화 모델에 기초하여 동작할 수 있고, 활성화 모델에 따라 입력값에 대응하는 출력값이 결정될 수 있다.
임의의 노드, 예를 들어, 하위레벨 특징(620)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 중간레벨 특징(630)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 중간레벨 특징(630)의 노드는 하위레벨 특징(620)의 복수의 노드들로부터 출력되는 값들을 입력받을 수 있다.
이 때, 각 노드의 입력값은 이전 레이어의 노드의 출력값에 웨이트(weight)가 적용된 값일 수 있다. 웨이트는 노드 간의 연결 강도를 의미할 수 있다.
또한, 딥러닝 과정은 적절한 웨이트를 찾아내는 과정으로도 볼 수 있다.
한편, 임의의 노드, 예를 들어, 중간레벨 특징(630)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 상위레벨 특징(640)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 상위레벨 특징(640)의 노드는 중간레벨 특징(630)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다.
인공신경망은 각 레벨에 대응하는 학습된 레이어(layer)를 이용하여, 각 레벨에 대응하는 특징 정보를 추출할 수 있다. 인공신경망은 순차적으로 추상화하여, 가장 상위 레벨의 특징 정보를 활용하여 소정 대상을 인식할 수 있다.
예를 들어, 딥러닝에 의한 얼굴인식 과정을 살펴보면, 컴퓨터는 입력 영상으로부터, 픽셀의 밝기에 따라 밝은 픽셀과 어두운 픽셀을 구분하고, 테두리, 에지 등 단순한 형태를 구분한 후, 조금 더 복잡한 형태와 사물을 구분할 수 있다. 최종적으로 컴퓨터는 인간의 얼굴을 규정하는 형태를 파악할 수 있다.
본 발명에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등일 수 있다.
RNN(Recurrent Neural Network)은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(Time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다.
DBN(Deep Belief Network)은 딥러닝 기법인 RBM(Restricted Boltzman Machine)을 다층으로 쌓아 구성되는 딥러닝 구조이다. RBM(Restricted Boltzman Machine) 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN(Deep Belief Network)를 구성할 수 있다.
CNN(Convolutional Neural Network)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다.
한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.
한편, 저장부(170)에는 바닥면 종류를 인식하기 위한 입력 데이터, 상기 인공신경망을 학습하기 위한 데이터가 저장될 수 있다.
또한, 실시 예에 따라서는, 저장부(170)에는 인공신경망 구조를 이루는 웨이트, 바이어스들이 저장될 수 있다. 또는, 실시 예에 따라서는, 상기 인공신경망 구조를 이루는 웨이트, 바이어스들은 바닥 인식 모듈(182)의 임베디드 메모리에 저장될 수도 있다.
한편, 바닥 인식 모듈(182)은 바닥 감지부(130)가 주기적으로 감지 데이터를 획득할 때마다, 획득된 감지 데이터를 이용하여 학습 과정을 수행하거나, 소정 개수 이상의 감지 데이터가 획득된 후 학습 과정을 수행할 수 있다.
즉, 바닥 인식 모듈(182)은 감지 데이터를 이용하여 바닥면의 종류를 인식할 때마다 감지 결과를 추가하여 웨이트 등 인공신경망 구조를 업데이트할 수 있다.
또는, 로봇 청소기(1)는 통신부(110)를 통해 바닥 감지부(130)에서 획득된 감지 데이터를 서버로 전송하고, 서버로부터 머신 러닝과 관련된 데이터를 수신할 수도 있다. 이 경우, 상기 서버는 학습 모듈을 포함하여, 로봇 청소기(1)로부터 수신된 감지 데이터를 이용한 학습 과정을 수행할 수 있다.
이 경우, 로봇 청소기(1)는 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 바닥 인식 모듈(182)을 업데이트할 수 있다.
도 7 내지 도 10은 본 발명의 실시 예에 따른 로봇 청소기가 바닥면의 종류를 인식하는 동작을 구체적으로 설명하기 위한 도면들이다.
도 7과 도 8을 참조하면, 로봇 청소기(1)는 청소 영역을 주행하면서, 바닥 감지부(130)를 이용하여 주기적으로 감지 데이터를 획득할 수 있다. 예컨대, 상기 주기는 20ms일 수 있으나, 이에 한정되는 것은 아니다. 로봇 청소기(1)는 맨바닥, 카펫, 및 벽돌 바닥을 주행하면서 감지 데이터를 획득할 수 있고, 로봇 청소기(1)가 타고 넘을 수 있는 물체에 대해서도 감지 데이터를 획득할 수 있다.
바닥 감지부(130)에 의해 N개의 감지 데이터가 획득되면, 획득된 N개의 감지 데이터가 바닥 인식 모듈(182)로 입력될 수 있다(S112).
제어부(180)는 바닥 감지부(130)로부터 주기적으로 획득되는 감지 데이터를 저장하고, 시간의 경과에 따라 N개의 감지 데이터가 획득되는 경우, 획득된 N개의 감지 데이터를 바닥 인식 모듈(182)로 입력할 수 있다.
도 9에 도시된 바와 같이, 바닥 인식 모듈(182)은 N개의 새로운 감지 데이터(감지 데이터 셋트)가 획득될 때마다 바닥면의 인식 동작을 수행할 수 있다. 이 경우, 제1 감지 데이터 셋트(N1), 제2 감지 데이터 셋트(N2), 및 제6 감지 데이터 셋트(N6)에 대한 인식 결과는 맨바닥일 수 있고, 제3 감지 데이터 셋트(N3)와 제5 감지 데이터 셋트(N5)에 대한 인식 결과는 맨바닥 또는 카펫일 수 있고, 제4 감지 데이터 셋트(N4)에 대한 인식 결과는 카펫일 수 있다.
실시 예에 따라, 제어부(180)는 바닥 감지부(130)로부터 새로운 감지 데이터가 획득되면, 이전 획득된 N-1개의 감지 데이터와 함께 총 N개의 감지 데이터를 바닥 인식 모듈(182)로 입력할 수도 있다. 즉, 바닥 인식 모듈(182)은 새로운 하나의 감지 데이터가 획득될 때마다 바닥면의 인식 동작을 수행할 수 있다.
도 10에 도시된 바와 같이, 바닥 인식 모듈(182)은 새로운 하나의 감지 데이터가 획득될 때마다, 이전 획득된 N-1개의 감지 데이터와 함께 총 N개의 감지 데이터(감지 데이터 셋트)를 이용하여 바닥면의 인식 동작을 수행할 수 있다. 이 경우, 제1 감지 데이터 셋트(N1) 내지 제3 감지 데이터 셋트(N3), 및 제d 감지 데이터 셋트(Nd)에 대한 인식 결과는 맨바닥일 수 있고, 제a 감지 데이터 셋트(Na) 및 제c 감지 데이터 셋트(Nc)에 대한 인식 결과를 맨바닥 또는 카펫일 수 있고, 제b 감지 데이터 셋트(Nb)에 대한 인식 결과는 카펫일 수 있다. 도 10에 도시된 실시 예의 경우, 도 9에 도시된 실시 예보다 바닥면의 종류를 보다 정밀하게 구분할 수 있으나, 제어부(180) 및 바닥 인식 모듈(182)의 부하가 증가할 수 있다.
비록 도시되지는 않았으나, 실시 예에 따라 바닥 인식 모듈(182)은 새로운 x개의 감지 데이터가 획득될 때마다, 이전 획득된 N-x개의 감지 데이터와 함께 총 N개의 감지 데이터를 이용하여 바닥면의 인식 동작을 수행할 수도 있다.
바닥 인식 모듈(182)은 머신 러닝 기반의 인공신경망을 이용하여, 입력된 N개의 감지 데이터로부터 바닥면의 종류를 인식할 수 있다(S114).
바닥 인식 모듈(182)은 입력된 N개의 감지 데이터를 인공신경망의 입력 레이어에 입력할 수 있다(도 5 및 도 6 참조). 입력된 N개의 감지 데이터는 인공신경망의 레이어들을 순차적으로 통과할수록 가중치(weight)가 적용되고, 최종적으로 출력 레이어에는 각 바닥면에 대한 값(예컨대, 확률)이 출력될 수 있다. 예컨대, 바닥 인식 모듈(182)은 출력 레이어에서 상기 값이 가장 높은 바닥면을 확인하고, 확인 결과를 상기 바닥면의 종류 인식 결과로서 출력할 수 있다.
바닥 인식 모듈(182)은 복수 개의 감지 데이터를 기초로, 인공신경망을 통해 바닥면의 종류를 인식함으로써, 바닥면의 종류를 보다 정확히 인식할 수 있다. 또한, 복수 개의 감지 데이터로 바닥면의 종류를 인식하므로, 로봇 청소기(1)가 서로 다른 바닥면의 경계(예컨대 맨바닥과 카펫 경계)에 위치하는 상태까지도 인식할 수 있다.
다시 도 4를 설명한다.
로봇 청소기(1)는 인식된 바닥면 종류 및 대응되는 위치 정보를 저장할 수 있다(S120).
예컨대, 제어부(180)는 바닥 감지부(130)로부터 감지 데이터를 획득하는 시점에, 위치 인식부(136)로부터 위치 정보를 획득할 수 있다. 또는, 제어부(180)는 바닥 인식 모듈(182)로 N개의 감지 데이터가 입력되는 시점에 대응하여 위치 인식부(136)로부터 위치 정보를 획득할 수도 있다.
제어부(180)는 획득된 감지 데이터에 기초하여 인식된 바닥면 종류와, 상기 감지 데이터에 대응하는 위치 정보를 저장부(170)에 저장할 수 있다. 제어부(180)는 추후 로봇 청소기(1)의 청소 동작 시, 현재 위치에 대응하는 바닥면 종류에 대한 정보를 저장부(170)로부터 용이하게 획득할 수 있다.
로봇 청소기(1)는 저장된 위치 정보 및 바닥면 종류에 기초하여, 센서부의 파라미터를 조절할 수 있다(S130).
도 3에서 상술한 바와 같이, 로봇 청소기(1)는 장애물 검출 및 위치 인식 등을 위한 다양한 센서들을 구비할 수 있다.
이러한 센서들은, 감지 동작 시 로봇 청소기(1)의 주행 시 떨림이나 진동 등에 의해 감지 정확도가 낮아지거나 오감지가 발생될 수 있다. 예컨대, 로봇 청소기(1)가 맨바닥을 주행 시에는 센서들이 감지 동작을 원활히 수행할 수 있다. 반면, 로봇 청소기(1)가 벽돌 바닥을 주행 시에는 맨바닥에 비해 떨림이나 진동이 상대적으로 클 수 있다. 이 경우, 센서들의 감지 정확도가 낮아질 수 있고, 오감지 등이 발생할 수 있다.
이에 따라, 제어부(180)는 로봇 청소기(1)의 현재 위치에 대응하는 바닥면 종류에 기초하여, 센서들의 파라미터(민감도)를 조절할 수 있다.
일례로, 로봇 청소기(1)가 본체(10)의 진동이나 떨림에 따라 트리거되어 장애물과의 충돌을 감지하는 제1 센서(진동 센서 등)를 구비할 수 있다. 제어부(180)는 로봇 청소기(1)가 벽돌 바닥에 위치한 경우, 상기 제1 센서의 민감도를 기준 민감도보다 낮게 변경함으로써, 벽돌 바닥의 주행에 따라 발생하는 진동이나 떨림에 의해 제1 센서가 트리거되지 않도록 제어할 수 있다.
다른 예로, 제어부(180)는 로봇 청소기(1)가 벽돌 바닥을 주행 중인 경우, 거리 센서(초음파 센서, 적외선 센서, RF 센서 등)의 민감도를 증가시킬 수 있다. 이에 따라, 로봇 청소기(1)가 벽돌 바닥을 주행함에 따라 거리 센서가 수신하는 반사 신호의 감도가 낮아지더라도, 상기 거리 센서의 민감도가 증가되어 거리 감지를 보다 원활히 수행할 수 있다.
즉, 본 발명의 실시 예에 따르면, 로봇 청소기(1)는 머신 러닝에 기반한 바닥면 종류 인식을 통해 바닥면을 보다 정확히 감지할 수 있다. 로봇 청소기(1)는 감지된 바닥면에 기초하여, 로봇 청소기(1)의 주행 시 센서들의 파라미터(민감도)를 적절히 조절함으로써, 센서의 감지 정확도를 소정 수준 이상으로 유지될 수 있고, 오감지율을 저감시킬 수 있다. 이에 따라, 로봇 청소기(1)의 주행 및 청소 동작이 바닥면의 종류와 관계없이 정상적으로 수행될 수 있다.
한편, 실시 예에 따라 로봇 청소기(1)는 상기 저장된 위치 정보 및 바닥면 종류에 기초하여, 청소 영역에 대한 맵을 생성할 수 있다. 본 발명의 실시 예에 따라 생성된 맵은, 청소 영역에 존재하는 장애물의 정보뿐만 아니라, 바닥면의 종류(예컨대, 맨바닥, 카펫, 벽돌바닥, 기타 물체 등)에 대한 정보를 더 포함함으로써, 보다 정확하고 상세한 맵의 생성이 가능하다. 이와 관련된 일례로서 도 11을 참조한다.
도 11은 본 발명의 실시 예에 따른 로봇 청소기에 의해 생성되는 맵의 일례를 보여주는 도면이다.
도 11을 참조하면, 로봇 청소기(1)는 청소 영역의 주행 중 센서부(바닥 감지부(130), 장애물 검출부(140), 위치 인식부(150))로부터 획득된 데이터에 기초하여, 청소 영역에 대한 맵을 생성할 수 있다.
특히, 종래의 로봇 청소기(1)와 달리, 본 발명의 실시 예에 따른 로봇 청소기(1)는 청소 영역에 존재하는 장애물을 감지할 수 있을 뿐만 아니라, 머신 러닝에 기초하여 바닥면의 종류를 정확히 인식할 수 있다. 따라서, 로봇 청소기(1)에 의해 생성된 맵은 청소 영역의 바닥면 종류에 대한 정보까지도 함께 제공할 수 있어, 보다 정확한 맵의 생성이 가능한 장점이 있다. 즉, 도 11에 도시된 바와 같이, 생성된 맵에는 장애물의 위치, 바닥면의 종류(로봇 청소기(1)가 타고 넘을 수 있는 물체를 포함)에 대한 구획 정보가 포함될 수 있다.
제어부(180)는 생성된 맵을 저장부(170)에 저장하고, 추후 로봇 청소기(1)의 청소 동작 시 상기 맵에 기초하여 주행 및 청소 동작을 보다 효과적으로 수행할 수 있다. 예컨대, 제어부(180)는 상기 맵에 기초하여 각 바닥면에 대한 산출함으로써, 거나, 이물이나 먼지의 발생 가능성이 높은 바닥면에 대한 청소 동작을 보다 빈번하게 수행하도록 로봇 청소기(1)를 제어할 수 있다.
실시 예에 따라, 제어부(180)는 상기 생성된 맵을, 통신부(110)를 통해 사용자의 이동 단말기 또는 서버 등으로 전송할 수 있다.
예컨대, 제조사는 서버를 통해 로봇 청소기(1)를 사용하는 다양한 사용자들의 바닥면 환경에 대한 정보를 획득함으로써, 청소 영역의 바닥면 비율에 대한 통계 데이터를 획득할 수 있다. 획득된 통계 데이터는 로봇 청소기(1)의 기본 동작이나 청소 알고리즘의 개선 등에 활용될 수 있다.
도 12는 본 발명의 일 실시 예에 따른 로봇 청소기의 동작 방법을 설명하기 위한 플로우차트이다.
도 12의 S1200 단계와 S1210 단계는, 도 4의 S100 단계 및 S110 단계와 실질적으로 동일한 바, 이에 대한 설명은 생략하기로 한다.
로봇 청소기(1)는 바닥 인식 모듈(182)을 통해 현재 로봇 청소기(1)가 위치한 바닥면의 종류가 인식되면, 인식된 바닥면 종류에 기초하여 구동 모터(140) 및 흡입 모터(150) 중 적어도 하나를 제어할 수 있다(S1220).
일반적으로 바닥면의 종류에 따라, 이물이나 먼지의 양이 다를 수 있고, 이물이나 먼지가 흡입되기 위한 흡입력이 다를 수 있다. 또한, 바닥면의 종류에 따라, 로봇 청소기(1)의 메인 바퀴(11)의 회전 시 저항이나 마찰이 서로 다를 수 있고, 그 결과 로봇 청소기(1)의 이동 속도가 서로 다를 수 있다.
이에 따라, 제어부(180)는 바닥 인식 모듈(182)에 의해 인식된 바닥면의 종류에 기초하여 구동 모터(140) 및 흡입 모터(150) 중 적어도 하나의 구동을 조절할 수 있다.
일례로, 카펫에 존재하는 이물이나 먼지를 원활히 흡입하기 위한 흡입력은, 맨바닥면에 존재하는 이물이나 먼지를 원활히 흡입하기 위한 흡입력보다 높아야 할 수 있다. 이에 따라, 제어부(180)는 로봇 청소기(1)가 맨바닥면에서 카펫으로 이동함이 인식되면, 흡입 모터(150)의 출력을 증가시킬 수 있다.
또는, 구동 모터(140)의 출력이 동일할 때, 카펫에서의 로봇 청소기(1)의 이동 속도는, 맨바닥면에서의 로봇 청소기(1)의 이동 속도보다 낮을 수 있다. 이에 따라, 제어부(180)는 로봇 청소기(1)가 맨바닥면에서 카펫으로 이동한 경우, 구동 모터(140)의 출력을 증가시켜 바닥면의 종류와 관계없이 로봇 청소기(1)의 이동 속도를 유사 또는 동일하게 유지시킬 수 있다.
즉, 본 실시 예에 따르면, 로봇 청소기(1)는 현재 위치한 바닥면의 종류에 따라 흡입 모터(150) 및/또는 구동 모터(140)의 구동을 능동적으로 조절함으로써, 보다 효과적인 청소 동작이 수행되도록 할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 로봇 청소기에 있어서,
    바닥면의 이물을 흡입하는 흡입력을 제공하는 흡입 모터;
    상기 로봇 청소기의 주행을 위한 주행부;
    상기 로봇 청소기의 주행 중, 바닥면의 종류를 인식하기 위한 감지 데이터를 획득하는 바닥 감지부;
    상기 흡입 모터, 상기 주행부, 및 상기 바닥 감지부를 제어하는 제어부; 및
    상기 감지 데이터를 머신 러닝으로 기학습된 인공신경망에 입력하여, 상기 감지 데이터에 대응하는 바닥면의 종류를 인식하는 바닥 인식 모듈을 포함하는 로봇 청소기.
  2. 제1항에 있어서,
    상기 바닥 감지부는,
    상기 로봇 청소기의 본체 저면에 배치되어, 바닥면으로부터의 높이를 감지하는 적어도 하나의 클리프 센서(cliff sensor)를 포함하는 로봇 청소기.
  3. 제2항에 있어서,
    상기 바닥 감지부는,
    상기 주행부에 포함된 바퀴의 회전 속도를 감지하는 휠 센서를 더 포함하는 로봇 청소기.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 감지 데이터를 주기적으로 획득하도록 상기 바닥 감지부를 제어하고,
    상기 바닥 인식 모듈은,
    상기 바닥 감지부로부터 획득된 복수의 연속된 감지 데이터를 상기 인공신경망에 입력하여 상기 바닥면의 종류를 인식하는 로봇 청소기.
  5. 제4항에 있어서,
    상기 제어부는,
    상기 바닥 감지부로부터 기설정된 개수의 감지 데이터가 획득되면, 상기 획득된 기설정된 개수의 감지 데이터를 상기 바닥 인식 모듈로 입력하여 상기 바닥면의 종류를 인식하는 로봇 청소기.
  6. 제4항에 있어서,
    상기 제어부는,
    상기 바닥 감지부로부터 새로운 감지 데이터가 획득될 때마다, 이전 획득된 복수의 감지 데이터와 상기 새로운 감지 데이터를 상기 바닥 인식 모듈로 입력하여 상기 바닥면의 종류를 인식하는 로봇 청소기.
  7. 제1항에 있어서,
    상기 로봇 청소기의 위치 정보를 획득하는 위치 인식부를 더 포함하고,
    상기 제어부는,
    상기 감지 데이터에 대응하는 위치 정보를 상기 위치 인식부로부터 획득하고,
    상기 인식된 바닥면의 종류에 대한 정보와 상기 위치 정보를 저장부에 저장하는 로봇 청소기.
  8. 제7항에 있어서,
    상기 제어부는,
    상기 저장부에 저장된 바닥면의 종류에 대한 정보 및 상기 위치 정보에 기초하여, 상기 로봇 청소기의 청소 영역에 대한 맵을 생성하는 로봇 청소기.
  9. 제8항에 있어서,
    상기 제어부는,
    상기 생성된 맵을 통신부를 통해 이동 단말기 또는 서버로 전송하는 로봇 청소기.
  10. 제7항에 있어서,
    상기 제어부는,
    상기 인식된 바닥면의 종류 및 상기 위치 정보에 기초하여, 상기 로봇 청소기의 현재 위치에 대응하는 바닥면의 종류에 따라 상기 로봇 청소기에 포함된 센서들 중 적어도 일부의 민감도를 조절하는 로봇 청소기.
  11. 제7항에 있어서,
    상기 제어부는,
    상기 인식된 바닥면의 종류 및 상기 위치 정보에 기초하여, 상기 로봇 청소기의 현재 위치에 대응하는 바닥면의 종류에 따라 상기 흡입 모터의 구동을 제어하는 로봇 청소기.
  12. 제1항에 있어서,
    상기 바닥 인식 모듈은,
    상기 획득된 감지 데이터와, 상기 획득된 감지 데이터에 기초한 바닥면의 종류 인식 결과에 기초하여 상기 인공신경망을 업데이트하는 로봇 청소기.
  13. 제1항에 있어서,
    상기 제어부는,
    상기 획득된 감지 데이터를 통신부를 통해 서버로 전송하고,
    상기 서버로부터 상기 감지 데이터에 기초한 학습 데이터를 수신하고,
    상기 바닥 인식 모듈은,
    상기 서버로부터 수신된 학습 데이터를 이용하여 상기 인공신경망을 업데이트하는 로봇 청소기.
KR1020180084344A 2018-07-19 2018-07-19 로봇 청소기 KR102531201B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180084344A KR102531201B1 (ko) 2018-07-19 2018-07-19 로봇 청소기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180084344A KR102531201B1 (ko) 2018-07-19 2018-07-19 로봇 청소기

Publications (2)

Publication Number Publication Date
KR20200009680A true KR20200009680A (ko) 2020-01-30
KR102531201B1 KR102531201B1 (ko) 2023-05-11

Family

ID=69321662

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180084344A KR102531201B1 (ko) 2018-07-19 2018-07-19 로봇 청소기

Country Status (1)

Country Link
KR (1) KR102531201B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113858162A (zh) * 2021-11-02 2021-12-31 北京中电飞华通信有限公司 一种基于bp神经网络的数据中心巡检机器人
WO2022065580A1 (ko) * 2020-09-28 2022-03-31 엘지전자 주식회사 진공청소기
KR20230173005A (ko) 2022-06-15 2023-12-26 주식회사 유진로봇 인공신경망을 이용한 충돌 감지 장치 및 이동 로봇

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110083598A (ko) 2008-09-17 2011-07-20 베이어 오와이 삽입기
KR20140011216A (ko) * 2012-07-18 2014-01-28 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR20180058511A (ko) * 2016-11-24 2018-06-01 엘지전자 주식회사 이동 로봇 및 그 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110083598A (ko) 2008-09-17 2011-07-20 베이어 오와이 삽입기
KR20140011216A (ko) * 2012-07-18 2014-01-28 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR20180058511A (ko) * 2016-11-24 2018-06-01 엘지전자 주식회사 이동 로봇 및 그 제어방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022065580A1 (ko) * 2020-09-28 2022-03-31 엘지전자 주식회사 진공청소기
CN113858162A (zh) * 2021-11-02 2021-12-31 北京中电飞华通信有限公司 一种基于bp神经网络的数据中心巡检机器人
KR20230173005A (ko) 2022-06-15 2023-12-26 주식회사 유진로봇 인공신경망을 이용한 충돌 감지 장치 및 이동 로봇
KR20230173004A (ko) 2022-06-15 2023-12-26 주식회사 유진로봇 인공신경망을 이용한 먼지 입자 구분 장치 및 청소 로봇

Also Published As

Publication number Publication date
KR102531201B1 (ko) 2023-05-11

Similar Documents

Publication Publication Date Title
KR102275300B1 (ko) 이동 로봇 및 그 제어방법
KR20210009011A (ko) 이동 로봇 및 그 제어방법
KR102234641B1 (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
US11471016B2 (en) Method and apparatus for executing cleaning operation
KR102531201B1 (ko) 로봇 청소기
KR101984516B1 (ko) 청소기 및 그 제어방법
US11986138B2 (en) Robot cleaner and method for controlling same
KR102048365B1 (ko) 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
US11654554B2 (en) Artificial intelligence cleaning robot and method thereof
US20210402600A1 (en) Method of tracking user position using crowd robot, tag device, and robot implementing thereof
US20220257074A1 (en) Mobile robot using artificial intelligence and controlling method thereof
EP3493013B1 (en) Moving robot and associated control method
US20210259498A1 (en) Plurality of autonomous cleaner and controlling method for the same
KR102127931B1 (ko) 로봇 청소기 및 그것의 제어방법
KR20190104937A (ko) 주행 금지 구역을 회피할 수 있는 이동로봇 및 이동로봇의 주행 금지 구역 회피 방법
KR102369661B1 (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
JP7329125B2 (ja) 移動ロボット及びその制御方法
US11915475B2 (en) Moving robot and traveling method thereof in corner areas
KR20190129673A (ko) 청소 동작을 수행하는 청소 장치 및 방법
KR20200130887A (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
KR102550260B1 (ko) 로봇 청소기
KR20210006184A (ko) 도킹기기 및 이동 로봇 시스템
KR102396048B1 (ko) 로봇청소기 및 그 제어방법
KR102115193B1 (ko) 로봇 청소기 및 그 동작방법
US20230070133A1 (en) Robot cleaner and method for controlling the same

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right