KR102550260B1 - 로봇 청소기 - Google Patents

로봇 청소기 Download PDF

Info

Publication number
KR102550260B1
KR102550260B1 KR1020180094383A KR20180094383A KR102550260B1 KR 102550260 B1 KR102550260 B1 KR 102550260B1 KR 1020180094383 A KR1020180094383 A KR 1020180094383A KR 20180094383 A KR20180094383 A KR 20180094383A KR 102550260 B1 KR102550260 B1 KR 102550260B1
Authority
KR
South Korea
Prior art keywords
robot cleaner
low
level object
level
sensing data
Prior art date
Application number
KR1020180094383A
Other languages
English (en)
Other versions
KR20200023658A (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 KR1020180094383A priority Critical patent/KR102550260B1/ko
Publication of KR20200023658A publication Critical patent/KR20200023658A/ko
Application granted granted Critical
Publication of KR102550260B1 publication Critical patent/KR102550260B1/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/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
    • 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
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Electric Vacuum Cleaner (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명의 실시 예에 따른 로봇 청소기는, 바닥면의 이물을 흡입하는 흡입력을 제공하는 흡입 모터, 상기 로봇 청소기의 주행을 위한 주행부, 상기 로봇 청소기의 주행 중, 상기 로봇 청소기의 저면과 바닥면 사이의 높이 또는 상기 저면과 오브젝트의 상면 사이의 높이를 감지하는 감지 데이터를 획득하는 로우-레벨 오브젝트 감지부, 상기 감지 데이터에 기초하여, 상기 로봇 청소기의 일부가 기 설정된 높이 이하의 오브젝트에 진입함을 감지하는 제어부, 및 상기 로봇 청소기의 일부가 상기 오브젝트에 진입함이 감지된 경우, 상기 감지 데이터를 머신 러닝으로 기학습된 인공신경망에 입력하여 상기 오브젝트를 인식하는 로우-레벨 오브젝트 인식 모듈을 포함한다.

Description

로봇 청소기{ROBOT CLEANER}
본 발명은 로봇 청소기에 관한 것으로, 특히 딥 러닝 기술을 이용하여 소정 높이 이하의 오브젝트를 인식 및 구분할 수 있는 로봇 청소기에 관한 것이다.
일반적으로, 청소기란, 바닥면의 이물질 등을 흡입하여 제거하는 가전기기이다. 최근에는, 이와 같은 청소기 중 특히, 자동으로 청소가 이루어지는 청소기를 로봇 청소기라 칭한다.
상기 로봇 청소기는, 배터리로부터 전원을 공급받아 동작하는 모터의 구동력에 의하여 이동하면서 바닥면의 이물질 등을 흡입하여 제거한다.
이러한 로봇 청소기는 주로 가정 등의 실내 공간에 배치되어, 상기 실내 공간을 자유롭게 주행하면서 청소 동작을 수행할 수 있다.
종래의 로봇 청소기는, 주로 카메라나 레이저 센서 등을 이용하여 실내 공간 내의 오브젝트를 감지하여, 감지된 오브젝트가 통과 불가한 오브젝트인 경우 이를 회피하도록 주행할 수 있다. 다만, 실내 공간 내에 문턱이나 창틀 등과 같은 소정 높이 이하의 오브젝트가 존재하는 경우, 상기 카메라나 레이저 센서만으로 상기 오브젝트를 정확히 인식 및 구분하지 못하는 문제가 발생하였다. 이에 따라, 상기 오브젝트가 통과 불가한 오브젝트임에도 불구하고 로봇 청소기가 지속 주행하여, 오브젝트에 걸림 또는 끼임 문제가 발생하거나, 오브젝트의 통과 후 로봇 청소기가 주행하지 않아야 하는 영역으로 진입하는 문제가 발생할 수 있다. 또는, 낮은 높이의 오브젝트가 통과 가능한 오브젝트임에도 불구하고 로봇 청소기가 이를 회피 주행하여, 실내 공간의 청소가 효과적으로 이루어지지 못하는 문제가 발생할 수 있다.
한편, 최근에는 인공지능과 딥러닝(deep learning) 등 머신 러닝(machine learning)에 대한 관심이 증가하고 있다.
종래의 머신 러닝은 통계학 기반의 분류, 회귀, 군집 모델이 중심이었다. 특히, 분류, 회귀 모델의 지도 학습에서는 학습 데이터의 특성과 이러한 특성을 기반으로 새로운 데이터를 구별하는 학습 모델이 사전에 정의되었다. 이와 달리, 딥러닝은 컴퓨터가 스스로 특성을 찾아내고 판별하는 것이다.
최근 이러한 딥러닝과 관련되어 오픈소스로 제공되는 딥러닝 프레임워크들이 등장하였고, 이에 따라 효과적인 학습 및 인식을 위해, 딥러닝 알고리즘 외에 학습 과정, 학습 방법, 학습에 사용되는 데이터의 추출 및 선정과 관련된 기술이 더욱 중요해지고 있다. 또한, 머신 러닝을 다양한 제품이나 서비스에 이용하기 위한 연구가 증가하고 있다.
1. 공개특허공보 제10-2013-0090438호 (2013.08.14. 자 공개)
본 발명이 해결하고자 하는 과제는, 카메라나 레이저 센서 등의 장치로 명확히 인식하기 어려운 소정 높이 이하의 오브젝트를 인식할 수 있는 로봇 청소기를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 주행 중 상기 소정 높이 이하의 오브젝트에 진입 시, 상기 오브젝트를 신속히 인식하여 상기 오브젝트를 통과 또는 회피할 수 있는 로봇 청소기를 제공하는 것이다.
본 발명의 실시 예에 따른 로봇 청소기는, 상기 로봇 청소기의 주행 중, 상기 로봇 청소기의 저면과 바닥면 사이의 높이 또는 상기 저면과 오브젝트의 상면 사이의 높이를 감지하는 감지 데이터를 획득하고, 획득된 감지 데이터에 기초하여, 상기 로봇 청소기의 일부가 기 설정된 높이 이하의 오브젝트에 진입함을 감지하고, 상기 감지 데이터를 머신 러닝으로 기학습된 인공신경망에 입력하여 상기 오브젝트를 인식할 수 있다.
실시 예에 따라, 상기 로봇 청소기는 상기 감지 데이터를 획득하는 적어도 하나의 클리프 센서를 포함하고, 상기 적어도 하나의 클리프 센서는 상기 로봇 청소기의 본체 저면 중 바퀴의 전방에 해당하는 위치에 배치되어, 상기 바퀴가 오브젝트 상부로 진입하기 이전에 상기 오브젝트를 신속히 감지 및 인식할 수 있다.
상기 로봇 청소기는, 상기 오브젝트의 인식 결과에 기초하여 인식된 오브젝트의 통과 가능 여부를 확인하고, 확인 결과에 기초하여 상기 오브젝트를 통과 또는 회피 주행할 수 있다.
실시 예에 따라, 상기 로봇 청소기는 상기 오브젝트의 통과 중 감지 데이터를 획득하여, 오브젝트의 통과 완료 여부를 확인할 수 있다.
상기 로봇 청소기는 획득된 감지 데이터와 인식 결과를 이용하여 상기 인공신경망을 업데이트할 수 있다.
본 발명의 실시 예에 따르면, 로봇 청소기는 클리프 센서와 같은 로우-레벨 오브젝트 감지부를 이용하여, 종래의 로봇 청소기가 인식하기 어려운 소정 높이 이하의 오브젝트를 효과적으로 인식하여 상기 오브젝트를 통과 또는 회피할 수 있다.
또한, 본 발명의 실시 예에 따른 로봇 청소기는 머신 러닝 기술을 이용하여 상기 소정 높이 이하의 오브젝트를 보다 정확하고 신속하게 인식하여, 상기 오브젝트로 완전히 진입하기 이전에 통과 또는 회피 여부를 결정할 수 있다. 이에 따라, 로봇 청소기의 주행 시 신뢰성이 향상될 수 있고, 사용자의 만족도 또한 향상될 수 있다.
뿐만 아니라, 상기 로봇 청소기의 로우-레벨 오브젝트 감지부는 바퀴의 전방에 배치됨으로써, 상기 바퀴가 오브젝트의 상부로 진입하기 이전에 상기 오브젝트를 미리 감지하여, 상기 오브젝트가 통과 불가능한 오브젝트인 경우 안정적으로 회피할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 로봇 청소기의 사시도이다.
도 2는 본 발명의 일 실시 예에 따른 로봇 청소기의 저면도이다.
도 3은 본 발명의 일 실시 예에 따른 로봇 청소기의 제어 구성을 나타내는 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 로봇 청소기의 동작 방법을 설명하기 위한 플로우차트이다.
도 5 내지 도 8은, 로봇 청소기가 로우-레벨 오브젝트로 진입함을 감지하는 동작을 설명하기 위한 예시도들이다.
도 9와 도 10은 머신 러닝의 일례로 딥러닝(deep learning)을 설명하기 위한 도면들이다.
도 11 내지 도 12는 본 발명의 실시 예에 따른 로봇 청소기가 로우-레벨 오브젝트의 인식 결과에 따라 주행을 제어하는 예들을 나타낸 도면들이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명한다. 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 로봇 청소기의 사시도이고, 도 2는 본 발명의 일 실시 예에 따른 로봇 청소기의 저면도이다.
본 발명에 도시된 로봇 청소기(1)의 형상이나 구조는 설명의 편의를 위한 일 실시 예에 불과한 바, 본 발명의 실시 예들이 도 1 및 도 2에 도시된 로봇 청소기(1)에 한정되는 것은 아니다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시 예에 따른 로봇 청소기(1)는 외형을 형성하는 본체(10)를 포함할 수 있다.
본체(10)의 내부에는, 흡입력을 발생시키는 흡입 모터(150; 도 3 참조)가 구비될 수 있다. 또한, 본체(10)의 하측에는, 먼지를 포함하는 공기가 흡입되기 위한 흡입구(30)가 구비될 수 있다.
한편, 본체(10)의 하부에는 로봇 청소기(1)의 주행을 위한 바퀴가 구비될 수 있다. 예컨대 상기 바퀴는 좌륜(20a) 및 우륜(20b)을 포함할 수 있다. 상기 좌륜(20a) 및 우륜(20b)은 구동 모터(140; 도 3 참조)에 연결되어 회전되고, 좌륜(20a) 및 우륜(20b)의 회전에 따라 로봇 청소기(1)가 주행할 수 있다. 즉, 바퀴(20a, 20b)와 구동 모터(140)는 로봇 청소기(1)의 주행부로서 기능할 수 있다.
한편, 상기 로봇 청소기(1)가 바닥면을 청소하는 과정에서 오브젝트(카펫, 장애물 등)를 만나는 경우 상기 로봇 청소기(1)는 상기 오브젝트의 높이에 따라서 오브젝트를 회피하거나 오브젝트를 타고 넘을 수 있다.
예를 들어, 상기 오브젝트의 높이가 소정 높이보다 높은 경우, 로봇 청소기(1)는 오브젝트를 회피할 수 있고, 상기 오브젝트의 높이가 소정 높이 이하인 경우, 로봇 청소기(1)는 상기 오브젝트를 통과할(타고 넘을) 수 있다. 상기 소정 높이는 지면으로부터 본체(10)의 저면까지의 높이에 해당하거나, 제품 출고 시 기설정된 높이에 해당할 수 있으나, 반드시 그러한 것은 아니다.
실시 예에 따라, 상기 로봇 청소기(1)가 오브젝트를 쉽게 타고 넘기 위해서는 본체(10)의 저면에 경사면이 형성될 수 있다. 상기 경사면은 일 예로 본체(10)의 외곽에서 중심으로 갈수록 하향 경사질 수 있다.
한편, 로봇 청소기(1)는 소정 높이 이하의 각종 오브젝트를 통과할 수 있으나, 오브젝트의 종류에 따라 로봇 청소기(1)가 통과하지 않고 회피하여야 하는 오브젝트가 존재할 수 있다. 예컨대, 창틀은 로봇 청소기(1)가 통과 가능한 높이를 가질 수 있으나, 창틀에는 로봇 청소기(1)의 바퀴(20a, 20b)가 걸릴 수 있는 홈이 존재하므로, 로봇 청소기(1)는 주행 중 창틀을 만나는 경우 창틀을 회피하여야 한다.
종래의 로봇 청소기는 카메라 등의 이미지 센서, 초음파 센서나 레이저 센서 등의 센서를 이용하여 장애물을 감지하나, 상기 창틀과 같은 소정 높이 이하의 오브젝트(이하, '로우-레벨 오브젝트'라 함)를 정확히 감지하지 못하는 문제가 존재한다. 예컨대, 종래의 로봇 청소기는 문턱과 창틀을 정확히 구분하지 못할 수 있다. 이에 따라, 로봇 청소기가 통과해도 무방한 문턱을 회피하여, 문턱 너머의 영역에 대한 청소를 수행하지 못하는 문제가 발생할 수 있다. 또한, 로봇 청소기가 회피하여야 할 창틀을 통과하여, 창틀에 바퀴가 걸려 주행하지 못하는 문제 또는 창틀 너머의 낮은 지면으로 추락하는 문제가 발생할 수 있다.
상술한 문제를 해결하기 위해, 본 발명의 실시 예에 따른 로봇 청소기(1)는 상기 로우-레벨 오브젝트를 인식하기 위한 로우-레벨 오브젝트 감지부(130; 도 3 참조)를 포함할 수 있다.
예컨대, 로우-레벨 오브젝트 감지부(130)는 적어도 하나의 클리프 센서(130a~130c)를 포함할 수 있다. 적어도 하나의 클리프 센서(130a~130c)는 본체(10)의 저면에 서로 이격되어 배치될 수 있다. 또한, 적어도 하나의 클리프 센서(130a~130c)는 본체(10)의 저면 중 바퀴(20a, 20b)의 전방에 배치될 수 있으나, 반드시 그러한 것은 아니다.
로봇 청소기(1)는 상기 적어도 하나의 클리프 센서(130a~130c)를 이용하여 로우-레벨 오브젝트를 인식하고, 인식된 로우-레벨 오브젝트의 종류에 기초하여 상기 로우-레벨 오브젝트를 통과 또는 회피할 수 있다.
본 발명의 로봇 청소기(1)의 구성 및 동작에 대해서는, 이하 도 3 내지 도 12를 참조하여 보다 구체적으로 설명한다.
도 3은 본 발명의 일 실시 예에 따른 로봇 청소기의 제어 구성을 나타내는 블록도이다.
도 3을 참조하면, 로봇 청소기(1)는 통신부(110), 입력부(120), 로우-레벨 오브젝트 감지부(130), 위치 인식부(132), 구동 모터(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)의 제어를 위한 각종 명령을 입력할 수 있다.
로우-레벨 오브젝트 감지부(130)는, 로봇 청소기(1)가 통과 가능한 소정 높이 이하의 오브젝트(로우-레벨 오브젝트)를 인식하기 위한 감지 데이터를 획득하는 센서를 포함할 수 있다. 로우-레벨 오브젝트 감지부(130)는 로봇 청소기(1)의 주행 중 상기 감지 데이터를 주기적으로 획득할 수 있다.
예컨대, 로우-레벨 오브젝트 감지부(130)는 클리프 센서(cliff sensor)를 포함할 수 있다. 도 2에서 상술한 바와 같이, 클리프 센서(130a~130c)는 본체(10)의 전방 저면에 적어도 하나가 서로 이격되어 배치될 수 있다.
클리프 센서(130a~130c)는 적외선을 수직 하방(예컨대, 지면 방향)으로 방출하고 방출된 적외선을 수신할 수 있다. 클리프 센서(130a~130c)는 적외선의 방출 시점과 수신 시점 사이의 시간에 기초하여, 로봇 청소기(1)의 저면과 지면 사이의 높이를 감지한 감지 데이터를 획득할 수 있다.
예컨대, 로봇 청소기(1)가 일반적인 바닥을 주행 중인 경우, 클리프 센서(130a~130c)에 의해 주기적으로 획득된 감지 데이터에 따른 높이는 일정하거나 그 변화량이 작을 수 있다. 반면, 로봇 청소기(1)가 바닥을 주행하는 도중 로우-레벨 오브젝트로 진입하는 경우, 진입 시 획득된 감지 데이터에 따른 높이는 이전 획득된 감지 데이터에 따른 높이보다 급격히 낮게 측정될 수 있다. 또한, 오브젝트의 형태에 따라 감지 데이터의 변화량이 일반적인 바닥에 비해 클 수 있다. 뿐만 아니라, 로봇 청소기(1)의 본체(10) 또는 바퀴(20a, 20b)가 상기 로우-레벨 오브젝트와 접촉 시, 본체(10)의 진동에 의해 감지 데이터의 변화량이 증가할 수 있다.
즉, 제어부(180)는 로우-레벨 오브젝트 감지부(130)로부터 획득되는 감지 데이터의 변화량에 기초하여, 로봇 청소기(1)가 로우-레벨 오브젝트로 진입함을 감지할 수 있다.
로봇 청소기(1)가 로우-레벨 오브젝트로 진입함이 감지되면, 제어부(180)는 로우-레벨 오브젝트 감지부(130)로부터 소정 시간 획득되는 감지 데이터에 기초하여, 상기 로우-레벨 오브젝트의 종류를 인식할 수 있다. 예컨대, 제어부(180)는 감지 데이터의 패턴에 기초하여 상기 로우-레벨 오브젝트의 종류를 인식할 수 있다.
특히, 본 발명의 실시 예에 따르면, 로봇 청소기(1)는 딥 러닝 등의 머신 러닝 기술에 기초하여 상기 로우-레벨 오브젝트의 종류를 인식하는 로우-레벨 오브젝트 인식 모듈(182)을 포함할 수 있다. 이에 따라, 로봇 청소기(1)는 상기 로우-레벨 오브젝트를 신속히 인식하여, 로봇 청소기(1)가 상기 로우-레벨 오브젝트로 완전히 진입하기 이전에 통과 또는 회피 여부를 결정할 수 있다. 상기 로봇 청소기(1)가 상기 로우-레벨 오브젝트로 완전히 진입함이란, 로봇 청소기(1)의 바퀴(20a, 20b)가 상기 로우-레벨 오브젝트의 상부에 위치한 상태를 의미할 수 있다. 로우-레벨 오브젝트 인식 모듈(182)에 대해서는 추후 보다 상세히 설명하기로 한다.
위치 인식부(132)는 로봇 청소기(1)의 현재 위치를 나타내는 위치 정보를 획득하기 위한 적어도 하나의 센서를 포함할 수 있다. 예컨대, 위치 인식부(132)는 가속도 센서, 인코더, 자이로 센서, 및/또는 레이저 센서 등을 포함할 수 있다. 상기 가속도 센서는 로봇 청소기의 이동에 따른 속도 및 위치를 인식할 수 있다. 상기 인코더는 로봇 청소기의 바퀴를 구동하는 모터와 연결되어 속도를 검출할 수 있다. 상기 자이로 센서는 로봇 청소기의 회전 속도를 검출할 수 있다. 상기 레이저 센서는 로봇 청소기(1)의 주변으로 레이저 광을 방출하고 반사된 레이저 광을 수신하여 주변의 사물 등을 인식하여, 인식된 사물에 대한 로봇 청소기(1)의 상대적인 위치를 검출하는 데 이용될 수 있다. 또는 상기 위치 인식부(132)는 전방이나 상방의 영상을 촬영하여 로봇 청소기의 절대 위치를 판단하는 카메라를 포함할 수 있다.
또한, 실시 예에 따라 로봇 청소기(1)는 상기 위치 인식부(132)를 이용하여 충전대에서 출력되는 복귀 신호(일 예로 적외선 신호)를 인식할 수도 있다. 또는, 상기 로봇 청소기(1)는 상기 복귀 신호를 수신하기 위한 복귀 센서를 추가로 구비할 수 있다.
로봇 청소기(1)는 상기 로봇 청소기(1)의 주행을 위한 구동 모터(140)를 포함할 수 있다. 구동 모터(140)는 제어부(180)의 제어에 따라 바퀴(20a, 20b)의 회전을 위한 구동력을 제공할 수 있다.
로봇 청소기(1)는 주행 중 바닥면의 이물이나 먼지를 흡입하는 흡입력을 발생시키는 흡입 모터(150)를 더 포함할 수 있다. 흡입 모터(150)의 구동에 따라, 바닥면의 이물이나 먼지는 흡입구(30)를 통해 본체(10) 내부로 흡입되고, 본체(10) 내부로 흡입된 이물이나 먼지는 먼지통(미도시)에 저장될 수 있다.
출력부(160)는, 로봇 청소기(1)의 동작모드, 배터리 상태 등과 같은 각종 정보를 출력할 수 있다. 이러한 출력부(160)는 LED 등의 광원, 디스플레이, 스피커 등 다양한 형태의 시각 또는 청각적 출력 수단을 포함할 수 있다.
저장부(170)는, 로봇 청소기(1)의 동작과 관련된 다양한 정보나 데이터, 알고리즘 등을 저장할 수 있다. 저장부(170)는 적어도 하나의 휘발성 메모리(RAM 등) 및 비휘발성 메모리(EEPROM, 플래시 메모리 등)를 포함할 수 있다.
또한, 저장부(170)는 로우-레벨 오브젝트 감지부(130) 및 위치 인식부(132) 각각의 감지 결과에 따라 획득되는 감지 데이터를 저장하거나, 통신부(110)를 통해 송수신되는 각종 데이터를 저장할 수 있다.
제어부(180)는 로봇 청소기(1)에 포함된 구성요소들의 전반적인 동작을 제어할 수 있다. 예컨대, 제어부(180)는 통신부(110)를 통해 수신되는 데이터를 처리하여 저장부(170)에 저장할 수 있고, 입력부(120)를 통해 수신되는 입력에 대응하는 동작을 제어할 수 있으며, 로봇 청소기(1)의 동작 상태 등의 각종 정보를 출력부(160)를 통해 출력할 수 있다.
또한, 제어부(180)는 통신부(110)를 통해 로우-레벨 오브젝트 인식 모듈(182)의 업데이트를 위한 학습 데이터를 수신하여, 로우-레벨 오브젝트 인식 모듈(182)의 업데이트를 수행할 수 있다. 상기 업데이트는 로우-레벨 오브젝트 인식 모듈(182)에 포함된 인공신경망 구조에 대한 업데이트를 의미할 수 있다.
제어부(180)는 로우-레벨 오브젝트 감지부(130)로부터 획득된 감지 데이터를 이용하여, 머신 러닝으로 기학습된 데이터에 기반하여 로우-레벨 오브젝트를 인식하는 로우-레벨 오브젝트 인식 모듈(182)을 포함할 수 있다.
제어부(180)는 로우-레벨 오브젝트 인식 모듈(182)로부터의 인식 결과에 기초하여, 현재 진입한 로우-레벨 오브젝트의 통과 여부를 결정할 수 있다. 예컨대, 상기 로우-레벨 오브젝트가 통과 가능한 오브젝트인 경우, 제어부(180)는 로우-레벨 오브젝트를 통과하도록 구동 모터(140)를 제어할 수 있다. 반면, 상기 로우-레벨 오브젝트가 통과 불가한 오브젝트인 경우, 제어부(180)는 로우-레벨 오브젝트를 회피(예컨대, 후진)하도록 구동 모터(140)를 제어할 수 있다.
로우-레벨 오브젝트 인식 모듈(182)은 머신 러닝(machine learning)으로 기학습된 인공신경망(artificial neural network)이 탑재되어, 로봇 청소기(1)가 현재 진입한 로우-레벨 오브젝트의 종류를 인식하는 동작을 수행할 수 있다. 상기 인공신경망은 소프트웨어 형태로 구현되거나 칩(chip) 등의 하드웨어 형태로 구현될 수 있다.
머신 러닝은 컴퓨터에게 사람이 직접 로직(logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 수행하고 이를 통해 컴퓨터가 스스로 문제를 해결하게 하는 것을 의미할 수 있다.
상기 머신 러닝 중 딥러닝(deep learning)은, 인공지능을 구성하기 위한 인공신경망을 기반으로 하여 컴퓨터에게 사람의 사고방식을 가르치는 방법으로서, 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.
로우-레벨 오브젝트 인식 모듈(182)은 딥러닝으로 학습된 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(deep neural network)을 포함할 수 있다.
로우-레벨 오브젝트 인식 모듈(182)은 로우-레벨 오브젝트 감지부(130)로부터 획득된 감지 데이터를 인공신경망에 입력하여, 인공신경망에 포함된 노드들 사이의 가중치(weight)에 따라 로우-레벨 오브젝트를 인식할 수 있다.
한편, 로우-레벨 오브젝트 인식 모듈(182)은 로우-레벨 오브젝트 감지부(130)가 주기적으로 감지 데이터를 획득할 때마다, 획득된 감지 데이터를 이용하여 학습 과정을 수행하거나, 소정 개수 이상의 감지 데이터가 획득된 후 학습 과정을 수행할 수 있다.
즉, 로우-레벨 오브젝트 인식 모듈(182)은 감지 데이터를 이용하여 로우-레벨 오브젝트의 종류를 인식할 때마다 감지 결과를 추가하여 웨이트 등 인공신경망 구조를 업데이트할 수 있다.
또는, 로봇 청소기(1)는 통신부(110)를 통해 로우-레벨 오브젝트 감지부(130)에서 획득된 감지 데이터를 서버로 전송하고, 서버로부터 머신 러닝과 관련된 데이터를 수신할 수도 있다. 이 경우, 상기 서버는 학습 모듈을 포함하여, 로봇 청소기(1)로부터 수신된 감지 데이터를 이용한 학습 과정을 수행할 수 있다.
이 경우, 로봇 청소기(1)는 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 로우-레벨 오브젝트 인식 모듈(182)을 업데이트할 수 있다.
전원 공급부(190)는, 충전 가능한 전원 공급 수단을 구비하여 본체(10) 내로 전원을 공급할 수 있다. 전원 공급부(190)은 로봇 청소기(1)가 이동하고, 청소를 수행하는데 따른 동작 전원을 공급하며, 내부에 구비된 배터리 잔량이 부족하면 충전대로 복귀한 후에 충전대로부터 충전 전류를 공급받아 충전할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 로봇 청소기의 동작 방법을 설명하기 위한 플로우차트이다.
도 4를 참조하면, 로봇 청소기(1)는 주행 중 로우-레벨 오브젝트 감지부(130)로부터 감지 데이터를 주기적으로 획득할 수 있다(S100).
도 3에서 상술한 바와 같이, 로우-레벨 오브젝트 감지부(130)는 주행 중 주기적으로 감지 데이터를 획득하고, 획득된 감지 데이터를 제어부(180)로 전송할 수 있다.
로우-레벨 오브젝트 감지부(130)가 본체(10)의 저면에 구비된 적어도 하나의 클리프 센서(130a~130c)인 경우, 상기 감지 데이터는 본체(10)의 저면과 바닥면 사이의 거리(높이)이거나, 본체(10)의 저면과 오브젝트의 상면 사이의 거리(높이)일 수 있다.
로봇 청소기(1)는 획득된 감지 데이터에 기초하여, 로봇 청소기(1)가 로우-레벨 오브젝트로 진입함을 감지할 수 있다(S110).
로봇 청소기(1)가 로우-레벨 오브젝트로 진입함이 감지되면, 로봇 청소기(1)는 로우-레벨 오브젝트 인식 모듈(182)을 통해, 상기 로우-레벨 오브젝트를 인식할 수 있다(S120).
S110 단계 및 S120 단계에 대해서는 도 5 내지 도 10을 통해 보다 상세히 설명하기로 한다.
도 5 내지 도 8은, 로봇 청소기가 로우-레벨 오브젝트로 진입함을 감지하는 동작을 설명하기 위한 예시도들이다.
이하 본 명세서에서, 로우-레벨 오브젝트 감지부(130)는 본체(10)의 저면에 배치되는 클리프 센서들(130a~130c)인 것으로 가정하여 설명한다. 상술한 바와 같이, 상기 클리프 센서들(130a~130c)는 본체(10)의 저면 중 바퀴(20a, 20b)의 전방에 배치되어, 바퀴(20a, 20b)가 로우-레벨 오브젝트로 진입하기 이전에 상기 로우-레벨 오브젝트를 감지할 수 있다.
도 5를 참조하면, 로봇 청소기(1)는 주행 중 로우-레벨 오브젝트(500)로 진입할 수 있다.
로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입 시, 로봇 청소기(1)의 이동 방향(line of motion)과 로우-레벨 오브젝트의 진입면(line of an object) 사이의 각도(진입각; θ)에 따라, 클리프 센서(130a~130c) 각각이 로우-레벨 오브젝트를 감지하는 시점(또는 순서)이 달라질 수 있다.
도 6을 참조하면, 클리프 센서들(130a~130c) 중 제1 클리프 센서(130a)는 본체(10)의 전방 중앙 위치에 배치될 수 있다. 제2 클리프 센서(130b)는 제1 클리프 센서(130a)로부터 좌측으로 제1 거리(w)만큼 이격되고, 후방으로 제2 거리(h)만큼 이격된 위치에 배치될 수 있다. 도시되지는 않았으나, 제3 클리프 센서(130c)는 제1 클리프 센서(130a)로부터 우측으로 제1 거리만큼 이격되고, 후방으로 제2 거리만큼 이격된 위치에 배치될 수 있다. 도 6에서는 로봇 청소기(1)의 좌측이 우측보다 먼저 오브젝트에 진입하는 실시 예들만이 도시되어 있다. 그러나, 제2 클리프 센서(130b)와 제3 클리프 센서(130c)는 본체(10) 내에 좌우로 대칭되도록 배치되므로, 도 6의 실시 예는 로봇 청소기(1)의 우측이 좌측보다 먼저 오브젝트에 진입하는 경우에도 유사하게 적용될 수 있다.
도 6의 (a)를 참조하면, 제1 클리프 센서(130a)와 제2 클리프 센서(130b)가 로우-레벨 오브젝트(500)에 동시에 진입하는 경우의 제1 진입각(θ1)을 기준 진입각(θR)으로 정의한다. 이 경우, 기준 진입각(θR)은 도 6의 (a)에 도시된 수식에 해당할 수 있다. 즉, 상기 기준 진입각은 로봇 청소기(1)의 클리프 센서들의 배치 위치에 따라 변경될 수 있다.
도 6의 (a)와 같이 로봇 청소기(1)가 제1 진입각(θ1)으로 진입 시, 제1 클리프 센서(130a)와 제2 클리프 센서(130b)의 감지 데이터가 동시에 변화할 수 있다. 이 경우, 제어부(180)는 제1 클리프 센서(130a)와 제2 클리프 센서(130b) 각각의 감지 데이터에 기초하여, 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다.
한편, 도 6의 (b)를 참조하면, 로봇 청소기(1)가 기준 진입각(θR)보다 작은 제2 진입각(θ2)으로 진입 시, 제2 클리프 센서(130b)의 감지 데이터가 먼저 변화할 수 있다. 제2 클리프 센서(130b)가 오브젝트의 진입면으로부터 소정 거리(δ)만큼 진입한 후, 제1 클리프 센서(130a)의 감지 데이터가 변화할 수 있다. 이 경우, 제어부(180)는 제2 클리프 센서(130b)의 감지 데이터에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다. 또는, 제어부(180)는 제2 클리프 센서(130b)와 제1 클리프 센서(130a)의 감지 데이터에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다.
또한, 도 6의 (c)를 참조하면, 로봇 청소기(1)가 기준 진입각(θR)보다 큰 제3 진입각(θ3)으로 진입 시, 제1 클리프 센서(130a)의 감지 데이터가 먼저 변화할 수 있다. 제1 클리프 센서(130a)가 오브젝트의 진입면으로부터 소정 거리(δ)만큼 진입한 후, 제2 클리프 센서(130b)의 감지 데이터가 변화할 수 있다. 이 경우, 제어부(180)는 제1 클리프 센서(130a)의 감지 데이터에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다. 또는, 제어부(180)는 제1 클리프 센서(130a)와 제2 클리프 센서(130b)의 감지 데이터에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다.
도 7과 도 8을 참조하면, 로봇 청소기(1)는 주행 중 클리프 센서(130a~130c)를 이용하여 주기적으로 감지 데이터를 획득할 수 있다.
로봇 청소기(1)가 바닥(600)을 주행 중인 경우((i) 구간)에는 감지 데이터의 변화량이 없거나 기준량보다 낮을 수 있다.
반면, 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입하는 경우((ii) 구간), 클리프 센서(130a~130c)에 의해 획득되는 감지 데이터의 변화량이 기준량보다 높아질 수 있다. 제어부(180)는 상기 감지 데이터의 변화량이 기준량보다 높아짐에 따라, 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다.
구체적으로, 제어부(180)는 새로운 감지 데이터가 획득될 때마다, 이전 획득된 소정 개수의 감지 데이터의 평균값과 비교할 수 있다. 비교 결과 새로운 감지 데이터와 상기 평균값 간의 차이가 기준값 이상인 경우, 제어부(180)는 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다.
예컨대, 도 8의 (a)와 같이 진입각이 기준 진입각 미만인 경우, 제어부(180)는 제2 클리프 센서(130b)에 의해 획득된 감지 데이터(left)에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다. 한편, 도 8의 (b)와 같이 진입각이 기준 진입각보다 큰 경우, 제어부(180)는 제1 클리프 센서(130a)에 획득된 감지 데이터(center)에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함을 감지할 수 있다.
로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입함이 감지되면, 제어부(180)는 로우-레벨 오브젝트 인식 모듈(182)을 통해 상기 로우-레벨 오브젝트(500)를 인식할 수 있다.
예컨대, 로우-레벨 오브젝트 인식 모듈(182)은, 로봇 청소기(1)가 로우-레벨 오브젝트(500)로 진입한 시점(α)으로부터 획득된 소정 개수(N)의 감지 데이터를 인공신경망의 입력 데이터로 입력하여 로우-레벨 오브젝트(500)를 인식할 수 있다.
이 때, 로봇 청소기(1)의 진입각에 따라 감지 데이터의 패턴이 달라질 수 있다. 이 경우, 하나의 로우-레벨 오브젝트 인식 모듈(182)이 모든 진입각에 대한 인식 동작을 수행하기는 어려울 수 있다. 따라서, 제어부(180)는 클리프 센서들(130a~130c)로부터 획득된 감지 데이터에 기초하여 진입각을 산출하고, 기 설정된 기준 진입각에 대응하도록 상기 감지 데이터를 변환할 수 있다. 이 경우, 메모리(170)에는 상기 감지 데이터의 변환을 위한 알고리즘이 저장되어 있을 수 있다. 제어부(180)는 변환된 감지 데이터를 로우-레벨 오브젝트 인식 모듈(182)로 입력할 수 있다. 또는, 로봇 청소기(1)는 복수의 진입각들 각각에 대한 로우-레벨 오브젝트 인식 모듈을 포함할 수도 있다. 이 경우, 제어부(180)는 클리프 센서(130a~130c)로부터 획득된 감지 데이터에 기초하여 진입각을 산출하고, 산출된 진입각에 대응하는 로우-레벨 오브젝트 인식 모듈로 감지 데이터를 입력할 수 있을 것이다.
인식 결과 상기 로우-레벨 오브젝트(500)가 통과 가능한 오브젝트인 경우, 제어부(180)는 로우-레벨 오브젝트(500)를 통과하도록 제어할 수 있다((iii) 구간).
도 3에서 상술한 바와 같이, 로우-레벨 오브젝트 인식 모듈(182)은 머신 러닝으로 학습된 인공신경망을 포함할 수 있다. 로우-레벨 오브젝트 인식 모듈(182)은 로우-레벨 오브젝트 감지부(130)에 의해 획득된 감지 데이터를 상기 인공신경망에 입력하여 로우-레벨 오브젝트를 인식할 수 있다.
이하 도 9와 도 10을 참조하여, 로우-레벨 오브젝트 인식 모듈(182)에 적용되는 머신 러닝의 일례로서 딥 러닝에 대한 내용이 설명된다.
도 9와 도 10은 머신 러닝의 일례로 딥러닝(deep learning)을 설명하기 위한 도면들이다.
머신 러닝의 일종인 딥러닝 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다.
딥러닝은 단계를 높여갈수록 복수의 데이터로부터 핵심적인 데이터를 추출하는 머신 러닝 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(artificial neural network(ANN))을 포함할 수 있고, 예를 들어 딥러닝 구조는 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(deep neural network)으로 구성될 수 있다.
도 9를 참조하면, 인공신경망은 입력 레이어(Input Layer), 히든 레이어(Hidden Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다. 각 레이어는 복수의 노드들을 포함하고, 각 레이어는 다음 레이어와 연결된다. 인접한 레이어 사이의 노드들은 웨이트(weight)를 가지고 서로 연결될 수 있다.
도 10을 참조하면, 컴퓨팅 장치(머신)는 투입된 입력 데이터(910)로부터 일정한 패턴을 발견해 특징맵(feature map)을 형성할 수 있다. 예컨대, 컴퓨팅 장치(머신)는 하위레벨 특징(920)부터, 중간레벨 특징(930), 및 상위레벨 특징(940)을 추출하여, 대상을 인식하고 그 결과를 출력(950)할 수 있다.
인공신경망은 다음 순서의 레이어로 갈수록 더욱 상위레벨의 특징으로 추상화할 수 있다.
도 9와 도 10을 참조하면, 각 노드들은 활성화 모델에 기초하여 동작할 수 있고, 활성화 모델에 따라 입력값에 대응하는 출력값이 결정될 수 있다.
임의의 노드, 예를 들어, 하위레벨 특징(920)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 중간레벨 특징(930)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 중간레벨 특징(930)의 노드는 하위레벨 특징(920)의 복수의 노드들로부터 출력되는 값들을 입력받을 수 있다.
이 때, 각 노드의 입력값은 이전 레이어의 노드의 출력값에 웨이트(weight)가 적용된 값일 수 있다. 웨이트는 노드 간의 연결 강도를 의미할 수 있다.
또한, 딥러닝 과정은 적절한 웨이트를 찾아내는 과정으로도 볼 수 있다.
한편, 임의의 노드, 예를 들어, 중간레벨 특징(930)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 상위레벨 특징(940)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 상위레벨 특징(940)의 노드는 중간레벨 특징(930)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다.
인공신경망은 각 레벨에 대응하는 학습된 레이어(layer)를 이용하여, 각 레벨에 대응하는 특징 정보를 추출할 수 있다. 인공신경망은 순차적으로 추상화하여, 가장 상위 레벨의 특징 정보를 활용하여 소정 대상을 인식할 수 있다.
예를 들어, 딥러닝에 의한 얼굴인식 과정을 살펴보면, 컴퓨터는 입력 영상으로부터, 픽셀의 밝기에 따라 밝은 픽셀과 어두운 픽셀을 구분하고, 테두리, 에지 등 단순한 형태를 구분한 후, 조금 더 복잡한 형태와 사물을 구분할 수 있다. 최종적으로 컴퓨터는 인간의 얼굴을 규정하는 형태를 파악할 수 있다.
인공신경망의 구조가 복잡해질수록, 인식 결과의 정확도는 높아질 수 있으나, 처리 속도가 저하될 수 있다. 본 발명의 실시 예에 따른 로봇 청소기(1)는, 로봇 청소기(1)가 로우-레벨 오브젝트에 완전히 진입하기 이전(바퀴(20a, 20b)가 오브젝트 상으로 이동하기 이전)에 상기 로우-레벨 오브젝트를 인식해야 하므로, 처리 속도 측면을 고려하여 인공신경망의 구조를 설정할 수 있다.
본 발명에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 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)에는 로우-레벨 오브젝트를 인식하기 위한 입력 데이터, 상기 인공신경망을 학습하기 위한 데이터가 저장될 수 있다. 상기 입력 데이터는 로우-레벨 오브젝트 감지부(130)로부터 획득되는 감지 데이터일 수 있다.
또한, 실시 예에 따라서는, 저장부(170)에는 인공신경망 구조를 이루는 웨이트, 바이어스들이 저장될 수 있다. 또는, 실시 예에 따라서는, 상기 인공신경망 구조를 이루는 웨이트, 바이어스들은 로우-레벨 오브젝트 인식 모듈(182)의 임베디드 메모리에 저장될 수도 있다.
한편, 로우-레벨 오브젝트 인식 모듈(182)은 로우-레벨 오브젝트 감지부(130)가 주기적으로 감지 데이터를 획득할 때마다, 획득된 감지 데이터를 이용하여 학습 과정을 수행하거나, 소정 개수 이상의 감지 데이터가 획득된 후 학습 과정을 수행할 수 있다.
즉, 로우-레벨 오브젝트 인식 모듈(182)은 감지 데이터를 이용하여 로우-레벨 오브젝트를 인식할 때마다 감지 결과를 추가하여 웨이트 등 인공신경망 구조를 업데이트할 수 있다.
또는, 로봇 청소기(1)는 통신부(110)를 통해 로우-레벨 오브젝트 감지부(130)에서 획득된 감지 데이터를 서버로 전송하고, 서버로부터 머신 러닝과 관련된 데이터를 수신할 수도 있다. 이 경우, 상기 서버는 학습 모듈을 포함하여, 로봇 청소기(1)로부터 수신된 감지 데이터를 이용한 학습 과정을 수행할 수 있다.
이 경우, 로봇 청소기(1)는 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 로우-레벨 오브젝트 인식 모듈(182)을 업데이트할 수 있다.
다시 도 4를 설명한다.
로봇 청소기(1)는 로우-레벨 오브젝트의 인식 결과에 기초하여, 인식된 로우-레벨 오브젝트의 통과 가능 여부를 확인할 수 있다. 예컨대, 메모리(170)에는 각 오브젝트에 대한 통과 가능 여부를 나타내는 정보가 저장되어 있을 수 있다.
인식된 오브젝트가 통과 불가능한 회피 오브젝트인 경우(S130의 YES), 로봇 청소기(1)는 로우-레벨 오브젝트를 회피하도록 구동 모터(140) 등을 제어할 수 있다(S140).
예컨대, 로봇 청소기(1)가 전진 주행 중 상기 로우-레벨 오브젝트로 진입한 경우, 제어부(180)는 로봇 청소기(1)가 후진 주행하여 상기 로우-레벨 오브젝트를 회피하도록 구동 모터(140) 등을 제어할 수 있다.
반면, 인식된 오브젝트가 통과 가능한 오브젝트인 경우(S130의 NO), 로봇 청소기(1)는 로우-레벨 오브젝트를 통과하도록 제어할 수 있다(S150).
제어부(180)는 로봇 청소기(1)가 로우-레벨 오브젝트를 통과하는 동안, 로우-레벨 오브젝트 감지부(130)를 이용하여 주기적으로 감지 데이터를 획득할 수 있다. 이 때 감지 데이터의 획득 주기는, S100 단계에서의 주기와 다를 수 있으나, 반드시 그러한 것은 아니다.
또한, 로봇 청소기(1)가 로우-레벨 오브젝트를 완전히 통과하기 위해서는 소정 시간이 소요될 수 있다. 따라서, 제어부(180)는 로봇 청소기(1)가 로우-레벨 오브젝트를 통과하도록 제어하고, 소정 시간이 경과한 시점부터 로우-레벨 오브젝트 감지부(130)를 이용하여 주기적으로 감지 데이터를 획득할 수도 있다.
제어부(180)는 획득된 감지 데이터에 기초하여 로봇 청소기(1)가 로우-레벨 오브젝트를 통과하였는지 여부를 감지할 수 있다. 로봇 청소기(1)가 로우-레벨 오브젝트를 완전히 통과하기 전에는, 감지 데이터의 변화량 또는 변화 정도가 기준량 또는 기준 정도보다 클 수 있다. 한편, 로봇 청소기(1)가 로우-레벨 오브젝트를 완전히 통과한 후에는, 감지 데이터의 변화량 또는 변화 정도가 기준량 또는 기준 정도보다 작을 수 있다. 따라서, 제어부(180)는 주기적으로 획득되는 감지 데이터의 변화량 또는 변화 정도에 기초하여, 로봇 청소기(1)가 로우-레벨 오브젝트를 완전히 통과하였는지 여부를 감지할 수 있다.
로봇 청소기(1)가 로우-레벨 오브젝트를 통과한 것으로 감지되는 경우(S160), 로봇 청소기(1)는 S100 단계 및 이하 단계들을 다시 수행할 수 있다.
도 11 내지 도 12는 본 발명의 실시 예에 따른 로봇 청소기가 로우-레벨 오브젝트의 인식 결과에 따라 주행을 제어하는 예들을 나타낸 도면들이다.
도 11을 참조하면, 로봇 청소기(1)는 청소 영역을 주행하면서, 로우-레벨 오브젝트 감지부(130)를 이용하여 주기적으로 감지 데이터를 획득할 수 있다. 예컨대, 상기 주기는 20ms일 수 있으나, 이에 한정되는 것은 아니다.
로봇 청소기(1)는 주행 중 바닥면에 존재하는 로우-레벨 오브젝트(1000)에 진입할 수 있다. 상술한 바와 같이, 로우-레벨 오브젝트(1000)는 로봇 청소기(1)가 통과 가능한 소정 높이 이하의 오브젝트를 의미할 수 있다.
로봇 청소기(1)가 로우-레벨 오브젝트(1000)에 진입함에 따라, 로우-레벨 오브젝트 감지부(130)로부터 획득되는 감지 데이터가 변화할 수 있다. 예컨대, 로봇 청소기(1)가 로우-레벨 오브젝트(1000)의 진입면과 수직으로 주행하는 경우, 제1 클리프 센서(130a)의 감지 데이터가 제2 클리프 센서(130b)와 제3 클리프 센서(130c)의 감지 데이터보다 먼저 변화할 수 있다. 도 11에 도시된 바와 같이, 제1 클리프 센서(130a)가 로우-레벨 오브젝트(1000)의 상부로 진입함에 따라, 제1 클리프 센서(130a)에 의해 획득되는 감지 데이터의 거리 값(D1)은 나머지 클리프 센서들(130b, 130c)에 의해 획득되는 감지 데이터의 거리 값(D2)보다 작아질 수 있다.
제어부(180)는 제1 클리프 센서(130a)로부터 획득된 감지 데이터의 변화량에 기초하여, 로봇 청소기(1)가 로우-레벨 오브젝트(1000)로 진입함을 감지할 수 있다. 이에 대해서는 도 5 내지 도 8을 통해 상술한 바 있다.
로봇 청소기(1)가 로우-레벨 오브젝트(1000)로 진입함을 감지하면, 제어부(180)는 진입 시점으로부터 소정 개수(N)의 감지 데이터를 획득하고, 획득된 감지 데이터를 로우-레벨 오브젝트 인식 모듈(182)로 입력할 수 있다. 상기 소정 개수(N)의 감지 데이터는, 로봇 청소기(1)의 바퀴(20a, 20b)가 로우-레벨 오브젝트(1000)로 진입하기 이전에 획득될 수 있다.
로우-레벨 오브젝트 인식 모듈(182)은 인공신경망을 이용하여, 입력된 소정 개수(N)의 감지 데이터로부터 로우-레벨 오브젝트(1000)를 인식할 수 있다. 로우-레벨 오브젝트 인식 모듈(182)은 로봇 청소기(1)의 바퀴(20a, 20b)가 로우-레벨 오브젝트(1000)로 진입하기 이전에 로우-레벨 오브젝트(1000)를 인식할 수 있다.
도 12를 참조하면, 제어부(180)는 인식된 로우-레벨 오브젝트(1000)에 기초하여 로봇 청소기(1)의 주행을 제어할 수 있다.
도 12의 (a)를 참조하면, 인식된 로우-레벨 오브젝트(1000)가 통과 불가능한 오브젝트(예컨대, 창틀)인 경우, 제어부(180)는 로봇 청소기(1)가 로우-레벨 오브젝트(1000)를 회피하도록 제어할 수 있다. 또는, 로우-레벨 오브젝트(1000)가 인식 불가능한 경우에도, 제어부(180)는 로봇 청소기(1)가 로우-레벨 오브젝트(1000)를 회피하도록 제어할 수 있다. 예컨대, 로봇 청소기(1)가 전진 주행 중 로우-레벨 오브젝트(1000)로 진입한 경우, 제어부(180)는 로봇 청소기(1)가 후진 주행하도록 구동 모터(140)를 제어할 수 있다.
도 12의 (b)를 참조하면, 인식된 로우-레벨 오브젝트(1000)가 통과 가능한 오브젝트(예컨대, 문턱)인 경우, 제어부(180)는 로봇 청소기(1)가 로우-레벨 오브젝트(1000)를 통과하도록 제어할 수 있다. 로봇 청소기(1)의 통과 중, 제어부(180)는 클리프 센서(130a~130c)로부터 감지 데이터를 획득하여 로봇 청소기(1)가 로우-레벨 오브젝트(1000)를 완전히 통과하였는지 감지할 수 있다.
즉, 본 발명의 실시 예에 따르면, 로봇 청소기는 종래의 로봇 청소기가 인식하기 어려운 낮은 높이의 오브젝트를, 클리프 센서 등의 센서를 이용하여 정확히 인식함으로써, 로봇 청소기의 효과적인 주행을 가능하게 한다.
또한, 로봇 청소기는 머신 러닝 기술을 이용하여 상기 낮은 높이의 오브젝트를 정확히 인식할 수 있다. 뿐만 아니라, 로봇 청소기는 상기 낮은 높이의 오브젝트를 상기 머신 러닝 기술을 이용하여 신속히 인식함으로써, 로봇 청소기가 상기 낮은 높이의 오브젝트로 완전히 진입하기 이전에 통과 또는 회피 여부를 결정할 수 있다. 따라서, 로봇 청소기의 주행 시 신뢰성을 향상시키고, 사용자의 만족도 또한 향상시킬 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 로봇 청소기에 있어서,
    바닥면의 이물을 흡입하는 흡입력을 제공하는 흡입 모터;
    상기 로봇 청소기의 주행을 위한 주행부;
    상기 로봇 청소기의 주행 중, 상기 로봇 청소기의 저면과 바닥면 사이의 높이 또는 상기 저면과 오브젝트의 상면 사이의 높이를 감지하는 감지 데이터를 획득하는 로우-레벨 오브젝트 감지부;
    상기 감지 데이터에 기초하여, 상기 로봇 청소기의 일부가 기 설정된 높이 이하의 오브젝트에 진입함을 감지하는 제어부; 및
    상기 로봇 청소기의 일부가 상기 오브젝트에 진입함이 감지된 경우, 상기 감지 데이터를 머신 러닝으로 기학습된 인공신경망에 입력하여 상기 오브젝트를 인식하는 로우-레벨 오브젝트 인식 모듈을 포함하고,
    상기 로우-레벨 오브젝트 감지부는,
    상기 로봇 청소기의 본체 저면에 배치되어, 상기 바닥면으로부터의 높이를 감지하는 적어도 하나의 클리프 센서(cliff sensor)를 포함하고,
    상기 제어부는,
    상기 적어도 하나의 클리프 센서 각각으로부터 획득되는 감지 데이터에 기초하여, 상기 오브젝트에 대한 진입각을 산출하고, 상기 획득된 감지 데이터를 기준 진입각에 대응하는 감지 데이터로 변환하는 로봇 청소기.
  2. 삭제
  3. 제1항에 있어서,
    상기 적어도 하나의 클리프 센서는,
    상기 본체의 저면 중, 상기 주행부에 포함된 바퀴의 전방에 해당하는 위치에 서로 이격되어 배치되는 로봇 청소기.
  4. 삭제
  5. 제1항에 있어서,
    상기 제어부는,
    상기 감지 데이터를 주기적으로 획득하도록 상기 로우-레벨 오브젝트 감지부를 제어하고,
    상기 주기적으로 획득되는 감지 데이터의 변화량에 기초하여, 상기 로봇 청소기의 일부가 상기 오브젝트로 진입함을 감지하는 로봇 청소기.
  6. 제5항에 있어서,
    상기 제어부는,
    상기 로봇 청소기의 일부가 상기 오브젝트로 진입한 시점으로부터 획득되는 복수의 감지 데이터를 상기 로우-레벨 오브젝트 인식 모듈로 입력하여 상기 오브젝트를 인식하는 로봇 청소기.
  7. 제1항에 있어서,
    상기 제어부는,
    상기 로우-레벨 오브젝트 인식 모듈의 인식 결과에 기초하여, 상기 인식된 오브젝트의 통과 가능 여부를 확인하고,
    확인 결과에 기초하여 상기 주행부를 제어하는 로봇 청소기.
  8. 제7항에 있어서,
    상기 인식된 오브젝트에 대한 통과 가능 여부를 나타내는 정보를 저장하는 메모리를 더 포함하는 로봇 청소기.
  9. 제7항에 있어서,
    상기 제어부는,
    상기 인식된 오브젝트가 통과 불가능한 오브젝트인 경우, 상기 오브젝트를 회피하도록 상기 주행부를 제어하는 로봇 청소기.
  10. 제7항에 있어서,
    상기 제어부는,
    상기 인식된 오브젝트가 통과 가능한 오브젝트인 경우, 상기 오브젝트를 통과하도록 상기 주행부를 제어하는 로봇 청소기.
  11. 제10항에 있어서,
    상기 제어부는,
    상기 오브젝트의 통과 중 주기적으로 감지 데이터를 획득하도록 상기 로우-레벨 오브젝트 감지부를 제어하고,
    획득된 감지 데이터에 기초하여 상기 오브젝트의 통과 완료 여부를 감지하는 로봇 청소기.
  12. 제1항에 있어서,
    상기 로우-레벨 오브젝트 인식 모듈은,
    상기 획득된 감지 데이터에 기초한 상기 오브젝트의 인식 결과에 따른 감지 결과에 기초하여 상기 인공신경망 구조를 업데이트하는 로봇 청소기.
  13. 제1항에 있어서,
    상기 제어부는,
    상기 획득된 감지 데이터를 통신부를 통해 서버로 전송하고,
    상기 서버로부터 상기 감지 데이터에 기초한 학습 데이터를 수신하고,
    상기 로우-레벨 오브젝트 인식 모듈은,
    상기 서버로부터 수신된 학습 데이터를 이용하여 상기 인공신경망을 업데이트하는 로봇 청소기.
KR1020180094383A 2018-08-13 2018-08-13 로봇 청소기 KR102550260B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180094383A KR102550260B1 (ko) 2018-08-13 2018-08-13 로봇 청소기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180094383A KR102550260B1 (ko) 2018-08-13 2018-08-13 로봇 청소기

Publications (2)

Publication Number Publication Date
KR20200023658A KR20200023658A (ko) 2020-03-06
KR102550260B1 true KR102550260B1 (ko) 2023-07-03

Family

ID=69802433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180094383A KR102550260B1 (ko) 2018-08-13 2018-08-13 로봇 청소기

Country Status (1)

Country Link
KR (1) KR102550260B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230173005A (ko) 2022-06-15 2023-12-26 주식회사 유진로봇 인공신경망을 이용한 충돌 감지 장치 및 이동 로봇

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100635828B1 (ko) * 2005-04-25 2006-10-19 엘지전자 주식회사 청소용 로봇의 청소 주행방법
JP2008146617A (ja) * 2006-12-06 2008-06-26 Samsung Kwangju Electronics Co Ltd ロボット掃除機システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130090438A (ko) 2012-02-04 2013-08-14 엘지전자 주식회사 로봇 청소기
KR102567525B1 (ko) * 2016-11-17 2023-08-16 삼성전자주식회사 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100635828B1 (ko) * 2005-04-25 2006-10-19 엘지전자 주식회사 청소용 로봇의 청소 주행방법
JP2008146617A (ja) * 2006-12-06 2008-06-26 Samsung Kwangju Electronics Co Ltd ロボット掃除機システム

Also Published As

Publication number Publication date
KR20200023658A (ko) 2020-03-06

Similar Documents

Publication Publication Date Title
TWI660703B (zh) 移動式清掃機器人及其控制方法
KR102234641B1 (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
KR101984516B1 (ko) 청소기 및 그 제어방법
US20220032450A1 (en) Mobile robot, and control method of mobile robot
US20230084829A1 (en) Moving robots and method for controlling the same
KR102531201B1 (ko) 로봇 청소기
US11654554B2 (en) Artificial intelligence cleaning robot and method thereof
KR102428216B1 (ko) 인공지능을 이용한 이동 로봇, 이동 로봇의 제어방법, 및 이동 로봇의 제어 시스템
US20220280007A1 (en) Mobile robot and method of controlling the same
KR20200119375A (ko) 이동 로봇 및 이동 로봇의 제어방법
KR102309898B1 (ko) 도킹기기 및 이동 로봇 시스템
KR102550260B1 (ko) 로봇 청소기
KR102081340B1 (ko) 복수의 로봇 청소기 및 그 제어방법
KR20200130887A (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
KR102535719B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
JP7329125B2 (ja) 移動ロボット及びその制御方法
KR102348963B1 (ko) 로봇 청소기 및 그 제어 방법
KR102234642B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
US11915475B2 (en) Moving robot and traveling method thereof in corner areas
KR102396048B1 (ko) 로봇청소기 및 그 제어방법
KR102500525B1 (ko) 이동 로봇
KR102390039B1 (ko) 로봇 청소기 및 그 제어 방법
KR102277650B1 (ko) 청소기 및 그 제어방법
KR20230109424A (ko) 이동 로봇, 이동 로봇의 제어방법, 및 이동 로봇의 제어 시스템
KR20210089624A (ko) 청소기 및 그 제어방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant