KR102612827B1 - 인공지능 이동 로봇의 제어 방법 - Google Patents

인공지능 이동 로봇의 제어 방법 Download PDF

Info

Publication number
KR102612827B1
KR102612827B1 KR1020180132870A KR20180132870A KR102612827B1 KR 102612827 B1 KR102612827 B1 KR 102612827B1 KR 1020180132870 A KR1020180132870 A KR 1020180132870A KR 20180132870 A KR20180132870 A KR 20180132870A KR 102612827 B1 KR102612827 B1 KR 102612827B1
Authority
KR
South Korea
Prior art keywords
mobile robot
area
cleaning
unit
areas
Prior art date
Application number
KR1020180132870A
Other languages
English (en)
Other versions
KR20200068033A (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 PCT/KR2019/005470 priority Critical patent/WO2020022622A1/ko
Publication of KR20200068033A publication Critical patent/KR20200068033A/ko
Application granted granted Critical
Publication of KR102612827B1 publication Critical patent/KR102612827B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • 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/1679Programme controls characterised by the tasks executed
    • 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)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 일 측면에 따른 인공지능 이동 로봇의 제어방법은, 복수의 영역을 포함하는 주행 구역에 대한 맵(map)을 생성하는 단계, 하나 이상의 센서(sensor)를 포함하는 복수의 유닛을, 각각 상기 복수의 영역 중 특정 영역에 매핑(mapping)하는 단계, 상기 복수의 유닛으로부터 센싱(sensing) 데이터를 수신하는 단계, 및, 상기 수신된 센싱 데이터를 해당 센서에 매핑된 영역에 연계하여 저장하는 단계를 포함함으로써, 다른 기기의 센싱 데이터와 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.

Description

인공지능 이동 로봇의 제어 방법{Controlling method for Artificial intelligence Moving robot}
본 발명은 이동 로봇 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는 학습된 인공지능 기반의 사용자 맞춤형 서비스를 제공할 수 있는 이동 로봇 및 그 제어 방법에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다.
가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기로, 로봇 청소기는 일정 영역을 스스로 주행하면서, 주변의 먼지 또는 이물질을 흡입함으로써, 해당 영역을 청소하는 기기이다.
이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다.
한편, 근래에는, 다양한 통신 기술의 발달에 따라, 다수의 홈 어플라이언스, 사물인터넷(Internet of Things: IoT) 기기들이 유/무선 통신으로 네트워크 연결되고 있다.
네트워크를 구성하는 홈 어플라이언스, 사물인터넷(IoT) 기기들은, 어느 하나의 기기에서 다른 기기로 데이터를 전송할 수 있고, 어느 하나의 기기에서 다른 기기의 정보를 확인할 수 있다.
따라서, 네트워크를 구성하는 홈 어플라이언스, 사물인터넷(IoT) 기기들과 통신하여, 이동 로봇을 연동 제어함으로써, 사용자의 이용 편의성을 증대하려는 다양한 방안이 연구되고 있다.
또한, 사용자의 사용 편의성을 향상하기 위하여 다양한 기기에 음성 인식 기술이 적용되고 있고, 음성 인식 기술을 이용하여 이동 로봇을 제어하는 방안에 대한 연구가 증가하고 있다.
예를 들어, 선행 문헌 1(한국 공개특허공보 10-2012-0114670호, 공개일자 2012년 10월 17일)은 로봇 청소기가 음성 인식 유닛을 구비하고 사용자의 음성 신호를 인식하여 대응하는 제어 명령을 실행하고 있다.
선행 문헌 1에서는, 음성 입력이 사용자에서 로봇 청소기로 단방향으로 이루어져서, 버튼을 누르거나 리모콘으로 조작하는 제어동작의 추가적인 수단에서 머무르고 있다. 따라서, 음성 인식 기능이 사용자에게 단순한 제어 이상의 의미를 주기 힘들고, 제어 입력 수단의 추가 이외에 다른 기능 및 서비스를 제공하지 못한다는 한계가 있었다.
본 발명의 목적은 이동 로봇이 능동적으로 사용자에게 다양한 정보와 서비스를 사용자에게 제공함에 있다.
본 발명의 목적은 홈 어플라이언스, 사물인터넷(IoT) 기기들과 통신하여, 이동 로봇을 연동 제어함으로써, 사용자의 이용 편의성을 증대할 수 있는 이동 로봇 및 그 제어 방법을 제공함에 있다.
본 발명의 목적은 센싱 데이터와 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있는 이동 로봇 및 그 제어 방법을 제공함에 있다.
본 발명의 목적은 음성과 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있는 이동 로봇 및 그 제어 방법을 제공함에 있다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇의 제어방법은, 복수의 영역을 포함하는 주행 구역에 대한 맵(map)을 생성하는 단계, 하나 이상의 센서(sensor)를 포함하는 복수의 유닛을, 각각 상기 복수의 영역 중 특정 영역에 매핑(mapping)하는 단계, 상기 복수의 유닛으로부터 센싱(sensing) 데이터를 수신하는 단계, 및, 상기 수신된 센싱 데이터를 해당 센서에 매핑된 영역에 연계하여 저장하는 단계를 포함함으로써, 다른 기기의 센싱 데이터와 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 요청하기 전에 먼저 이동 로봇이 능동적으로 정보를 제공하고, 서비스, 기능 등을 추천함으로써, 사용자의 신뢰도, 선호도 및 제품 활용도를 높일 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 홈 어플라이언스, 사물인터넷(IoT) 기기들과 통신하여, 이동 로봇을 연동 제어함으로써, 사용자의 이용 편의성을 증대할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇은, 센싱 데이터와 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇은, 음성과 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 주행 구역 내 복수의 영역들의 속성을 인식할 수 있고, 영역 속성 인식 결과를 편리하게 이용할 수 있어, 사용자의 편의성을 향상할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 음성 인식, 영역 인식, 제품 데이터 분석 등에 인공지능과 딥러닝을 활용함으로써, 진화하는 사용자 경험(ux)을 제공할 수 있다.
한편, 그 외의 다양한 효과는 후술될 본 발명의 실시예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.
도 1은 본 발명의 일 실시예에 따른 홈 어플라이언스 네트워크 시스템 구성도이다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇을 도시하는 사시도이다.
도 3은 도 2의 이동 로봇의 평면도이다.
도 4는 도 2의 이동 로봇의 측면도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 제품 데이터(product data)를 이용한 학습(Learning)에 대한 설명에 참조되는 도면이다.
도 7은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 8과 도 9는 본 발명의 일 실시예에 따른 공간 인식에 관한 설명에 참조되는 도면이다.
도 10은 사물인터넷(IoT) 기기의 일예이다.
도 11a와 도 11b는 도 10의 사물인터넷(IoT) 기기의 사용 예를 도시한 것이다.
도 12는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 13 내지 도 17b는 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나 본 발명이 이러한 실시예에 한정되는 것은 아니며 다양한 형태로 변형될 수 있음은 물론이다.
도면에서는 본 발명을 명확하고 간략하게 설명하기 위하여 설명과 관계없는 부분의 도시를 생략하였으며, 명세서 전체를 통하여 동일 또는 극히 유사한 부분에 대해서는 동일한 도면 참조부호를 사용한다.
한편, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
본 발명의 일 실시예에 따른 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다. 이하에서는, 도면들을 참조하여, 이동 로봇 중 청소 기능을 가지는 로봇 청소기를 예로 들어 설명하나, 본 발명은 이에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 홈 어플라이언스 네트워크 시스템 구성도이다.
도 1을 참조하면, 홈 어플라이언스 네트워크 시스템은, 통신 모듈을 구비하여 다른 기기, 서버(70)와 통신하거나 네트워크에 접속할 수 있는 홈 어플라이언스(home appliance)들을 포함하여 구성될 수 있다.
예를 들어, 홈 어플라이언스에는 통신 모듈을 구비한 공조 기기(10), 청소기(20), 냉장고(31), 세탁기(32) 등이 해당될 수 있다.
한편, 상기 공조 기기(10)는 공기조화기(11), 공기 청정기(12, 13), 가습기(14), 후드(Hood, 15) 중 적어도 하나를 포함할 수 있다.
또한, 상기 청소기(20)는, 진공 청소기(21), 로봇 청소기(22) 등일 수 있다.
한편, 홈 어플라이언스(10, 20, 31, 32)가 구비하는 통신 모듈은 와이파이(wi-fi) 통신 모듈일 수 있으며, 본 발명은 통신 방식에 한정되지 않는다.
또는, 홈 어플라이언스(10, 20, 31, 32)는 다른 종류의 통신 모듈을 구비하거나 복수의 통신 모듈을 구비할 수 있다. 예를 들어, 홈 어플라이언스(10, 20, 31, 32)는 NFC 모듈, 지그비(zigbee) 통신 모듈, 블루투스(Bluetooth™) 통신 모듈 등을 포함할 수 있다.
홈 어플라이언스(10, 20, 31, 32)는 와이파이(wi-fi) 통신 모듈 등을 통해 소정 서버(70)와 연결 가능하고, 원격 모니터링, 원격 제어 등 스마트 기능을 지원할 수 있다.
본 발명의 일 실시예에 따른 홈 어플라이언스 네트워크 시스템은, 스마트 폰(smart phone), 태블릿(Tablet) PC 등 휴대 단말기(50)를 포함할 수 있다.
사용자는 휴대 단말기(50)를 통하여 홈 어플라이언스 네트워크 시스템 내의 홈 어플라이언스(10, 20, 31, 32)에 관한 정보를 확인하거나 홈 어플라이언스(10, 20, 31, 32)를 제어할 수 있다.
한편, 본 발명의 일 실시예에 따른 홈 어플라이언스 네트워크 시스템은, 복수의 사물인터넷(IoT) 기기(미도시)를 포함하여 구성될 수 있다. 따라서, 홈 어플라이언스 네트워크 시스템은, 홈 어플라이언스(10, 20, 31, 32), 휴대 단말기(50), 사물인터넷(IoT) 기기들을 포함할 수 있다.
본 발명의 일 실시예에 따른 홈 어플라이언스 네트워크 시스템은, 네트워크를 구성하는 통신 방식에 한정되지 않는다.
예를 들어, 홈 어플라이언스(10, 20, 31, 32), 휴대 단말기(50), 사물인터넷(IoT) 기기들은, 유/무선 공유기(60)를 통하여, 통신 연결될 수 있다.
또한, 홈 어플라이언스 네트워크 시스템 내의 기기들은 각각 개별적으로 통신 연결되는 메쉬 토폴로지(mesh topology)를 구성할 수 있다.
홈 어플라이언스 네트워크 시스템 내의 홈 어플라이언스(10, 20, 31, 32)는 유/무선 공유기(60)를 경유하여 서버(70)나 휴대 단말기(50)와 통신할 수 있다. 또한, 홈 어플라이언스 네트워크 시스템 내의 홈 어플라이언스(10, 20, 31, 32)는 이더넷(Ethernet)에 의해서 서버(70)나 휴대 단말기(50)와 통신할 수 있다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇을 도시하는 사시도이고, 도 3은 도 2의 이동 로봇의 평면도이며, 도 4는 도 2의 이동 로봇의 측면도이다.
도 2 내지 도 4를 참고하여, 이동 로봇(100)은 일정 영역을 스스로 주행할 수 있다. 이동 로봇(100)은 바닥을 청소하는 기능을 수행할 수 있다. 여기서 말하는 바닥의 청소에는, 바닥의 먼지(이물질을 포함한다)를 흡입하거나 바닥을 걸레질하는 것이 포함된다.
이동 로봇(100)은 본체(110)를 포함한다. 본체(110)는 외관을 형성하는 케비닛을 포함한다. 이동 로봇(100)은, 본체(110)에 구비된 흡입 유닛(130) 및 먼지통(140)을 포함할 수 있다. 이동 로봇(100)은 이동 로봇 주변의 환경과 관련된 정보를 감지하는 영상획득부(120)를 포함한다. 이동 로봇(100)은 상기 본체를 이동시키는 주행부(160)를 포함한다. 이동 로봇(100)은 이동 로봇(100)의 제어를 위한 제어부(181)를 포함한다. 제어부(181)는 본체(110)에 구비된다.
주행부(160)는 이동 로봇(100)의 주행을 위한 휠 유닛(111)을 포함한다. 휠 유닛(111)은 본체(110)에 구비된다. 휠 유닛(111)에 의해 이동 로봇(100)은 전후좌우로 이동되거나 회전될 수 있다. 제어부가 휠 유닛(111)의 구동을 제어함으로써, 이동 로봇(100)은 바닥을 자율 주행할 수 있다. 휠 유닛(111)은 메인 휠(111a) 및 서브 휠(111b)을 포함한다.
메인 휠(111a)은 본체(110)의 양측에 각각 구비되어, 제어부의 제어 신호에 따라 일 방향 또는 타 방향으로 회전 가능하게 구성된다. 각각의 메인 휠(111a)은 서로 독립적으로 구동 가능하게 구성될 수 있다. 예를 들어, 각각의 메인 휠(111a)은 서로 다른 모터에 의해서 구동될 수 있다.
서브 휠(111b)은 메인 휠(111a)과 함께 본체(110)를 지지하며, 메인 휠(111a)에 의한 이동 로봇(100)의 주행을 보조하도록 이루어진다. 이러한 서브 휠(111b)은 후술하는 흡입 유닛(130)에도 구비될 수 있다.
흡입 유닛(130)은 본체(110)의 전방(F)으로부터 돌출된 형태로 배치될 수 있다. 흡입 유닛(130)은 먼지가 포함된 공기를 흡입하도록 구비된다.
흡입 유닛(130)이 본체(110)의 전방에서 좌우 양측방으로 돌출된 형태를 가질 수 있다. 흡입 유닛(130)의 전단부는 본체(110)의 일측으로부터 전방으로 이격된 위치에 배치될 수 있다. 흡입 유닛(130)의 좌우 양단부는 본체(110)로부터 좌우 양측으로 각각 이격된 위치에 배치될 수 있다.
본체(110)는 원형으로 형성되고, 흡입 유닛(130)의 후단부 양측이 본체(110)로부터 좌우 양측으로 각각 돌출 형성됨에 따라, 본체(110)와 흡입 유닛(130) 사이에는 빈 공간, 즉 틈이 형성될 수 있다. 상기 빈 공간은 본체(110)의 좌우 양단부와 흡입 유닛(130)의 좌우 양단부 사이의 공간으로서, 이동 로봇(100)의 내측으로 함몰된 형태를 가진다.
흡입 유닛(130)은 본체(110)에 착탈 가능하게 결합될 수 있다. 흡입 유닛(130)이 본체(110)로부터 분리되면, 분리된 흡입 유닛(130)을 대체하여 걸레 모듈(미도시)이 본체(110)에 착탈 가능하게 결합될 수 있다.
영상획득부(120)는 본체(110)에 배치될 수 있다. 영상획득부(120)는 본체(110)의 전방(F)에 배치될 수 있다. 영상획득부(120)는 본체(110)의 상하 방향으로 흡입 유닛(130)과 오버랩(overlap)되도록 배치될 수 있다. 영상획득부(120)는 흡입 유닛(130)의 상부에 배치될 수 있다.
영상획득부(120)는 이동 로봇(100) 주변의 장애물을 감지할 수 있다. 영상획득부(120)는 이동 로봇(100)의 가장 앞쪽에 위치하는 흡입 유닛(130)이 장애물과 부딪히지 않도록 전방의 장애물이나 지형지물 등을 감지할 수 있다. 영상획득부(120)는 이러한 감지 기능 외의 후술할 다른 센싱 기능을 추가로 수행할 수 있다.
본체(110)에는 먼지통 수용부(미도시)가 구비될 수 있다. 먼지통 수용부에는 흡입된 공기 중의 먼지를 분리하여 집진하는 먼지통(140)이 착탈 가능하게 결합된다. 먼지통 수용부는 본체(110)의 후방(R)에 형성될 수 있다. 먼지통(140)의 일부는 먼지통 수용부에 수용되되, 먼지통(140)의 다른 일부는 본체(110)의 후방(R)을 향하여 돌출되게 형성될 수 있다.
먼지통(140)에는 먼지가 포함된 공기가 유입되는 입구(미도시)와 먼지가 분리된 공기가 배출되는 출구(미도시)가 형성된다. 먼지통 수용부에 먼지통(140)이 장착시 먼지통(140)의 상기 입구와 상기 출구는 먼지통 수용부의 내측벽에 형성된 제1 개구(미도시) 및 제2 개구(미도시)와 각각 연통되도록 구성된다.
흡입 유닛(130)의 흡입구부터 상기 제1 개구까지 공기를 안내하는 흡입 유로(미도시)가 구비된다. 상기 제2 개구부터 외부를 향해 열린 배기구(미도시)까지 공기를 안내하는 배기 유로(미도시)가 구비된다.
흡입 유닛(130)을 통하여 유입된 먼지가 포함된 공기는 본체(110) 내부의 상기 흡기유로를 거쳐, 먼지통(140)으로 유입되고, 먼지통(140)의 필터 내지는 사이클론을 거치면서 공기와 먼지가 상호 분리된다. 먼지는 먼지통(140)에 집진되며, 공기는 먼지통(140)에서 배출된 후 본체(110) 내부의 상기 배기유로를 거쳐 최종적으로 상기 배기구를 통하여 외부로 배출된다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 2 내지 도 5를 참조하면, 이동 로봇(100)은, 본체(110)와, 본체(110) 주변의 영상을 획득하는 영상획득부(120)를 포함한다.
이동 로봇(100)은 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 휠 유닛(111)을 포함한다. 주행부(160)는 휠 유닛(111)에 연결되어 휠 유닛(111)을 회전시키는 구동 모터(미도시)를 포함한다.
영상획득부(120)는 주행 구역을 촬영하는 것으로, 카메라 모듈을 포함할 수 있다. 상기 카메라 모듈은 디지털 카메라를 포함할 수 있다. 디지털 카메라는 적어도 하나의 광학렌즈와, 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를 들어, pixel)를 포함하여 구성된 이미지센서(예를 들어, CMOS image sensor)와, 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.
이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다. 카메라에 의해 촬상된 영상은 해당 공간에 존재하는 먼지, 머리카락, 바닥 등과 같은 물질의 종류 인식, 청소 여부, 또는 청소 시점을 확인하는데 사용할 수 있다.
카메라는 이동 로봇(100)의 주행 방향 전면에 존재하는 장애물 또는 청소 영역의 상황을 촬영할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상획득부(120)는 본체(110) 주변을 연속적으로 촬영하여 복수의 영상을 획득할 수 있고, 획득된 복수의 영상은 저장부(105)에 저장될 수 있다.
이동 로봇(100)은 복수의 영상을 이용하여 공간 인식, 위치 인식, 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 공간 인식, 위치 인식, 장애물 인식의 정확성을 높일 수 있다.
또한, 이동 로봇(100)은 이동 로봇의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부(170)를 포함할 수 있다.
예를 들어, 상기 센서부(170)는 전방의 장애물을 감지하는 장애물 감지 센서를 포함할 수 있다. 또한, 상기 센서부(170)는 주행 구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서와, 바닥의 영상을 획득하는 하부 카메라 센서를 더 포함할 수 있다.
상기 장애물 감지 센서는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.
한편, 상기 장애물 감지 센서에 포함되는 센서의 위치와 종류는 이동 로봇의 기종에 따라 달라질 수 있고, 상기 장애물 감지 센서는 더 다양한 센서를 포함할 수 있다.
한편, 상기 센서부(170)는 본체(110)의 구동에 따른 이동 로봇(100)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다. 예를 들어, 동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.
자이로 센서는, 이동 로봇(100)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 제어부(150)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.
휠 센서는, 휠 유닛(111)에 연결되어 바퀴의 회전수를 감지한다. 여기서, 휠 센서는 로터리 엔코더(Rotary Encoder)일 수 있다.
가속도 센서는, 이동 로봇(100)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(100)의 변화를 감지한다.
또한, 가속도 센서는 제어부(150)에 내장되어 이동 로봇(100)의 속도 변화를 감지할 수 있다.
제어부(150)는 동작 감지 센서로부터 출력된 동작 정보에 기초하여 이동 로봇(100)의 위치 변화를 산출할 수 있다. 이러한 위치는 영상 정보를 이용한 절대 위치에 대응하여 상대 위치가 된다. 이동 로봇은 이러한 상대 위치 인식을 통해 영상 정보와 장애물 정보를 이용한 위치 인식의 성능을 향상시킬 수 있다.
한편, 이동 로봇(100)은 충전 가능한 배터리를 구비하여 이동 로봇 내로 전원을 공급하는 전원 공급부(미도시)를 포함할 수 있다.
상기 전원 공급부는 이동 로봇(100)의 각 구성 요소들에 구동 전원과, 동작 전원을 공급하며, 전원 잔량이 부족하면 충전대(미도시)에서 전원을 공급받아 충전될 수 있다.
이동 로봇(100)은 배터리의 충전 상태를 감지하고, 감지 결과를 제어부(150)에 전송하는 배터리 감지부(미도시)를 더 포함할 수 있다. 배터리는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(150)에 전달된다. 배터리 잔량은 출력부(180)의 디스플레이(182)에 표시될 수 있다.
또한, 이동 로봇(100)은 온/오프(On/Off) 또는 각종 명령을 입력할 수 있는 입력부(125)를 포함한다. 입력부(125)는 버튼이나 다이얼, 터치 스크린 등을 포함할 수 있다. 입력부(125)는 사용자의 음성 지시를 입력 받기 위한 마이크를 포함할 수 있다. 입력부(125)를 통해 이동 로봇(100)의 작동 전반에 필요한 각종 제어명령을 입력받을 수 있다.
또한, 이동 로봇(100)은 출력부(180)를 포함하여, 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 이미지로 표시하거나 음향으로 출력할 수 있다.
출력부(180)는 오디오 신호를 출력하는 음향 출력부(181)를 포함할 수 있다. 음향 출력부(181)는 제어부(150)의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지 등을 음향으로 출력할 수 있다. 음향 출력부(181)는, 제어부(150)로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.
또한, 출력부(180)는 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 이미지로 표시하는 디스플레이(182)를 더 포함할 수 있다.
도 5를 참조하면, 이동 로봇(100)은 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(150), 및 각종 데이터를 저장하는 저장부(105)를 포함한다. 또한, 이동 로봇(100)은 외부 단말기와 데이터를 송수신하는 통신부(190)를 더 포함할 수 있다.
외부 단말기는 이동 로봇(100)을 제어하기 위한 애플리케이션을 구비하고, 애플리케이션의 실행을 통해 이동 로봇(100)이 청소할 주행 구역에 대한 맵을 표시하고, 맵 상에 특정 영역을 청소하도록 영역을 지정할 수 있다. 외부 단말기는 맵 설정을 위한 애플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다.
외부 단말기는 이동 로봇(100)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다.
제어부(150)는 이동 로봇(100)를 구성하는 영상획득부(120), 입력부(125), 주행부(160), 흡입 유닛(130) 등을 제어하여, 이동 로봇(100)의 동작 전반을 제어한다.
제어부(150)는 입력부(125)의 마이크를 통해 수신되는 사용자의 음성 입력 신호를 처리하고 음성 인식 과정을 수행할 수 있다. 실시예에 따라서, 이동 로봇(100)은 제어부(150) 내부 또는 외부에 음성 인식을 수행하는 음성 인식 모듈을 구비할 수 있다.
실시예에 따라서, 간단한 음성 인식은 이동 로봇(100)이 자체적으로 수행하고, 자연어 처리 등 고차원의 음성 인식은 서버(70)에서 수행될 수 있다.
저장부(105)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.
또한, 저장부(105)에는 주행 구역에 대한 맵(Map)이 저장될 수 있다. 맵은 이동 로봇(100)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기, 서버 등에 의해 입력된 것일 수도 있고, 이동 로봇(100)이 스스로 학습을 하여 생성한 것일 수도 있다.
맵에는 주행 구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(100)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(105)에 저장된 맵과 동일한 맵을 저장한다.
상기 저장부(105)는 청소 이력 정보를 저장할 수 있다. 이러한 청소 이력 정보는 청소를 수행할 때마다 생성될 수 있다.
상기 저장부(105)에 저장되는 주행 구역에 대한 맵은, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는 SLAM(Simultaneous localization and mapping) 맵, 장애물 등에 부딪히면 해당 정보를 저장하여 학습 청소시 사용하는 학습 맵, 전역 위치 인식에 사용되는 전역 위치 맵, 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 등일 수 있다.
한편, 상술한 바와 같이 용도별로 상기 저장부(105)에 맵들을 구분하여 저장, 관리할 수 있지만, 맵이 용도별로 명확히 구분되지 않을 수도 있다. 예를 들어, 적어도 2 이상의 용도로 사용할 수 있도록 하나의 맵에 복수의 정보를 저장할 수도 있다.
제어부(150)는 주행제어모듈(151), 지도생성모듈(152), 위치인식모듈(153) 및 장애물인식모듈(154)을 포함할 수 있다.
도 1 내지 도 5를 참조하면, 주행제어모듈(151)은 이동 로봇(100)의 주행을 제어하는 것으로, 주행 설정에 따라 주행부(160)의 구동을 제어한다. 또한, 주행제어모듈(151)은 주행부(160)의 동작을 바탕으로 이동 로봇(100)의 주행경로를 파악할 수 있다. 예를 들어, 주행제어모듈(151)은 휠 유닛(111)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 이렇게 파악된 이동 로봇(100)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수 있다.
지도생성모듈(152)은 주행 구역의 맵을 생성할 수 있다. 지도생성모듈(152)은 영상획득부(120)를 통해 획득한 영상을 처리하여 맵을 작성할 수 있다. 즉, 청소 영역과 대응되는 청소 맵을 작성할 수 있다.
또한, 지도생성모듈(152)은 각 위치에서 영상획득부(120)를 통해 획득한 영상을 처리하여 맵과 연계시켜 전역위치를 인식할 수 있다.
위치인식모듈(153)은 현재 위치를 추정하여 인식한다. 위치인식모듈(153)은 영상획득부(120)의 영상 정보를 이용하여 지도생성모듈(152)과 연계하여 위치를 파악함으로써, 이동 로봇(100)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
또한, 위치인식모듈(153)은 현재 위치하는 영역의 속성을 인식할 수 있다, 즉, 위치인식모듈(153)는 공간을 인식할 수 있다.
이동 로봇(100)은 위치인식모듈(153)을 통해 연속적인 주행 중에 위치 인식이 가능하고 또한, 위치인식모듈(153) 없이 지도생성모듈(152) 및 장애물인식모듈(154)을 통해, 맵을 학습하고 현재 위치 등을 추정할 수 있다.
이동 로봇(100)이 주행하는 중에, 영상획득부(120)는 이동 로봇(100) 주변의 영상들을 획득한다. 이하, 영상획득부(120)에 의해 획득된 영상을 '획득영상'이라고 정의한다.
획득영상에는 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 포함된다.
지도생성모듈(152)은 획득영상들 각각으로부터 특징을 검출하고, 각 특징점을 근거로 디스크립터를 산출한다.
지도생성모듈(152)은 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다.
다른 예로, 실(room)과 같이 소정 구역내의 획득영상들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
지도생성모듈(152)은 이 같은 과정을 거쳐, 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 또 다른 예로, 지도생성모듈(152)은 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 이동 로봇(100)의 현재 위치가 미지의 상태가 된 경우에, 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
이동 로봇(100)은, 미지의 현재 위치에서 영상획득부(120)를 통해 획득영상을 획득한다. 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.
위치인식모듈(153)은 획득영상으로부터 특징들을 검출하고, 디스크립터를 산출한다.
위치인식모듈(153)은 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.
소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
이와 같이, 제어부(150)는 주행 구역을 구분하고 복수의 영역으로 구성된 맵을 생성하거나, 기저장된 맵을 바탕으로 본체(110)의 현재 위치를 인식할 수 있다.
제어부(150)는 맵이 생성되면, 생성된 맵을 통신부(190)를 통해 외부 단말기, 서버 등으로 전송할 수 있다. 또한, 제어부(150)는 앞서 설명한 바와 같이, 외부 단말기, 서버 등으로부터 맵이 수신되면, 저장부(105)에 저장할 수 있다.
이때, 맵은 청소 영역을 복수의 영역으로 구분되고, 복수의 영역을 연결하는 연결통로가 포함하며, 영역 내의 장애물에 대한 정보를 포함할 수 있다.
제어부(150)는 청소명령이 입력되면, 맵 상의 위치와 이동 로봇의 현재위치가 일치하는지 여부를 판단한다. 청소명령은 리모컨, 입력부 또는 외부 단말기로부터 입력될 수 있다.
제어부(150)는 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 한 후, 현재 위치를 바탕으로 지정영역으로 이동하도록 주행부(160)를 제어할 수 있다.
현재 위치가 맵 상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인 할 수 없는 경우, 위치인식모듈(153)은 영상획득부(120)로부터 입력되는 획득영상을 분석하여 맵을 바탕으로 현재 위치를 추정할 수 있다. 또한, 장애물인식모듈(154) 또는 지도생성모듈(152) 또한, 같은 방식으로 현재 위치를 인식할 수 있다.
위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 후, 주행제어모듈(151)은 현재 위치로부터 지정영역으로 주행경로를 산출하고 주행부(160)를 제어하여 지정영역으로 이동한다.
서버로부터 청소 패턴 정보를 수신하는 경우, 주행제어모듈(151)은 수신한 청소 패턴 정보에 따라, 전체 주행 구역을 복수의 영역으로 나누고, 하나 이상의 영역을 지정영역으로 설정할 수 있다.
또한, 주행제어모듈(151)은 수신한 청소 패턴 정보에 따라 주행경로를 산출하고, 주행경로를 따라 주행하며, 청소를 수행할 수 있다.
제어부(150)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 저장부(105)에 저장할 수 있다.
또한, 제어부(150)는 통신부(190)를 통해 이동 로봇(100)의 동작상태 또는 청소상태를 소정 주기로 외부 단말기, 서버로 전송할 수 있다.
그에 따라 외부 단말기는 수신되는 데이터를 바탕으로, 실행중인 애플리케이션의 화면상에 맵과 함께 이동 로봇의 위치를 표시하고, 또한 청소 상태에 대한 정보를 출력한다.
본 발명의 실시예에 따른 이동 로봇(100)은 일방향으로 장애물이나 벽면이 감지될 때까지 이동하다가, 장애물인식모듈(154)이 장애물을 인식하면, 인식된 장애물의 속성에 따라 직진, 회전 등 주행 패턴을 결정할 수 있다.
한편, 제어부(150)는 인식된 장애물의 속성에 기초하여 다른 패턴으로 회피주행을 수행하도록 제어할 수 있다. 제어부(150)는 비위험 장애물(일반 장애물), 위험 장애물, 이동 가능한 장애물 등 장애물의 속성에 따라 다른 패턴으로 회피 주행하도록 제어할 수 있다.
예를 들어, 제어부(150)는 위험 장애물은 더 긴 거리의 안전 거리를 확보한 상태에서 우회하여 회피하도록 제어할 수 있다.
또한, 제어부(150)는 이동 가능한 장애물의 경우에 소정 대기 시간 후에도 장애물이 이동하지 않으면, 일반 장애물에 대응하는 회피 주행 또는 위험 장애물에 대응하는 회피 주행을 수행하도록 제어할 수 있다. 또는, 제어부(150)는 이동 가능한 장애물에 대응하는 회피 주행 패턴이 별도로 설정된 경우에는 이에 따라 주행하도록 제어할 수 있다.
본 발명의 실시예에 따른 이동 로봇(100)은, 머신 러닝(machine learning) 기반의 장애물 인식 및 회피를 수행할 수 있다.
상기 제어부(150)는, 입력 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 장애물인식모듈(154)과 상기 인식된 장애물의 속성에 기초하여, 상기 주행부(160)의 구동을 제어하는 주행제어모듈(151)을 포함할 수 있다.
한편, 도 5에서는 복수의 모듈(151, 152, 153, 154)이 제어부(160) 내에 별도로 구비되는 예를 도시하였으나, 본 발명은 이에 한정되지 않는다.
예를 들어, 위치인식모듈(153)과 장애물인식모듈(154)은 하나의 인식기로써 통합되어 하나의 인식모듈(155)로 구성될 수 있다. 이 경우에, 머신 러닝 등의 학습 기법을 이용하여 인식기를 학습시키고, 학습된 인식기는 이후에 입력되는 데이터를 분류하여 영역, 사물 등의 속성을 인식할 수 있다.
실시예에 따라서, 지도생성모듈(152), 위치인식모듈(153), 및, 장애물인식모듈(154)이 하나의 통합모듈로 구성될 수도 있다.
이하에서는, 위치인식모듈(153)과 장애물인식모듈(154)은 하나의 인식기로써 통합되어 하나의 인식모듈(155)로 구성되는 실시예를 중심으로 설명하지만, 위치인식모듈(153)과 장애물인식모듈(154)이 각각 구비되는 경우에도 동일한 방식으로 동작할 수 있다.
본 발명의 실시예에 따른 이동 로봇(100)은, 머신 러닝으로 사물, 공간의 속성이 학습된 인식모듈(155)을 포함할 수 있다.
머신 러닝은 컴퓨터에게 사람이 직접 로직(Logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 이를 통해 컴퓨터가 알아서 문제를 해결하게 하는 것을 의미한다.
딥러닝(Deep Learning)은. 인공지능(artificial intelligence)을 구성하기 위한 인공신경망(Artificial Neural Networks: ANN)에 기반으로 해 컴퓨터에게 사람의 사고방식을 가르치는 방법으로 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.
상기 인공신경망(ANN)은 소프트웨어 형태로 구현되거나 칩(chip) 등 하드웨어 형태로 구현될 수 있다.
인식모듈(155)은 공간의 속성, 장애물 등 사물의 속성이 학습된 소프트웨어 또는 하드웨어 형태의 인공신경망(ANN)을 포함할 수 있다.
예를 들어, 인식모듈(155)은 딥러닝(Deep Learning)으로 학습된 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함할 수 있다.
인식모듈(155)은 상기 심층신경망(DNN)에 포함된 노드들 사이의 가중치(weight)들에 기초하여 입력되는 영상 데이터에 포함되는 공간, 사물의 속성을 판별할 수 있다.
한편, 상기 주행제어모듈(151)은 상기 인식된 공간, 장애물의 속성에 기초하여 상기 주행부(160)의 구동을 제어할 수 있다.
한편, 인식모듈(155)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 상기 선택된 특정 시점 영상에 포함되는 공간, 장애물의 속성을 인식할 수 있다.
한편, 저장부(105)에는 공간, 사물 속성 판별을 위한 입력 데이터, 상기 심층신경망(DNN)을 학습하기 위한 데이터가 저장될 수 있다.
저장부(105)에는 영상획득부(120)가 획득한 원본 영상과 소정 영역이 추출된 추출 영상들이 저장될 수 있다.
또한, 실시예에 따라서는, 저장부(105)에는 상기 심층신경망(DNN) 구조를 이루는 웨이트(weight), 바이어스(bias)들이 저장될 수 있다.
또는, 실시예에 따라서는, 상기 심층신경망 구조를 이루는 웨이트(weight), 바이어스(bias)들은 인식모듈(155)의 임베디드 메모리(embedded memory)에 저장될 수 있다.
한편, 상기 인식모듈(155)은 상기 영상획득부(120)가 영상을 획득하거나 영상의 일부 영역을 추출할 때마다 소정 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 영상이 획득된 후 학습 과정을 수행할 수 있다.
또는, 이동 로봇(100)은 통신부(190)를 통하여 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다.
이 경우에, 이동 로봇(100)은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 인식모듈(155)을 업데이트(update)할 수 있다.
도 6은 본 발명의 일 실시예에 따른 제품 데이터(product data)를 이용한 학습(Learning)에 대한 설명에 참조되는 도면이다.
도 6을 참조하면, 이동 로봇(100) 등 소정 기기의 동작으로 획득되는 제품 데이터(product data)가 서버(70)로 전송될 수 있다.
예를 들어, 이동 로봇(100)은, 서버(70)로 공간(space), 사물(Object), 사용(Usage) 관련 데이터(Data)를 서버(70)로 전송할 수 있다.
여기서, 공간(space), 사물(Object) 관련 데이터는 이동 로봇(100)이 인식한 공간(space)과 사물(Object)의 인식 관련 데이터이거나, 영상획득부(120)가 획득한 공간(space)과 사물(Object)에 대한 이미지 데이터일 수 있다.
또한, 사용(Usage) 관련 데이터(Data)는 소정 제품, 예를 들어, 이동 로봇(100)의 사용에 따라 획득되는 데이터로, 사용 이력 데이터, 센서부(170)에서 획득된 센싱 데이터 등이 해당될 수 있다.
한편, 이동 로봇(100)의 제어부(150), 더욱 상세하게는 인식모듈(155)에는 CNN(Convolutional Neural Network) 등 심층신경망 구조(DNN)가 탑재될 수 있다.
상기 학습된 심층신경망 구조(DNN)는 인식용 입력 데이터를 입력받고, 입력 데이터에 포함된 사물, 공간의 속성을 인식하여, 그 결과를 출력할 수 있다.
또한, 상기 학습된 심층신경망 구조(DNN)는 인식용 입력 데이터를 입력받고, 이동 로봇(100)의 사용(Usage) 관련 데이터(Data)를 분석하고 학습하여 사용 패턴, 사용 환경 등을 인식할 수 있다.
한편, 공간(space), 사물(Object), 사용(Usage) 관련 데이터(Data)는 통신부(190)를 통하여 서버(70)로 전송될 수 있다.
서버(70)는 학습된 웨이트(weight)들의 구성을 생성할 수 있고, 서버(70)는 심층신경망(DNN) 구조를 트레이닝(training) 데이터를 사용하여 학습할 수 있다.
서버(70)는 수신한 데이터에 기초하여, 심층신경망(DNN)을 학습시킨 후, 업데이트된 심층신경망(DNN) 구조 데이터를 이동 로봇(100)으로 전송하여 업데이트하게 할 수 있다.
이에 따라, 이동 로봇(100) 등 홈 어플라이언스 제품이 점점 더 똑똑해지고, 사용할수록 진화되는 사용자 경험(UX)을 제공할 수 있다.
도 7은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다
도 7을 참조하면, 서버(70)는, 통신부(720), 저장부(730), 학습모듈(740), 및 프로세서(710)를 구비할 수 있다.
프로세서(710)는, 서버(70)의 전반적인 동작을 제어할 수 있다.
한편, 서버(70)는, 상기 이동 로봇(100) 등 홈 어플라이언스 제조사가 운영하는 서버 또는 서비스 제공자가 운영하는 서버일 수 있고, 일종의 클라우드(Cloud) 서버일 수 있다.
통신부(720)는, 휴대 단말기, 이동 로봇(100) 등 홈 어플라이언스, 게이트웨이 등으로부터 상태 정보, 동작 정보, 조작 정보 등 각종 데이터를 수신할 수 있다.
그리고 통신부(720)는 수신되는 각종 정보에 대응하는 데이터를 휴대 단말기, 이동 로봇(100) 등 홈 어플라이언스, 게이트웨이 등으로 송신할 수 있다.
이를 위해, 통신부(720)는 인터넷 모듈, 이동 통신 모듈 등 하나 이상의 통신 모듈을 구비할 수 있다.
저장부(730)는, 수신되는 정보를 저장하고, 이에 대응하는 결과 정보 생성을 위한 데이터를 구비할 수 있다.
또한, 저장부(730)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
학습모듈(740)은 상기 이동 로봇(100) 등 홈 어플라이언스의 학습기 역할을 수행할 수 있다.
상기 학습모듈(740)에는 인공신경망, 예를 들어, CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함될 수 있고, 심층신경망을 학습할 수 있다.
한편, 상기 제어부(710)는 설정에 따라 학습 후 상기 이동 로봇(100) 등 홈 어플라이언스의 인공신경망 구조를 학습된 인공신경망 구조로 업데이트시키도록 제어할 수 있다.
또한, 상기 학습모듈(740)은, 인식용 입력 데이터를 입력받고, 입력 데이터에 포함된 사물, 공간의 속성을 인식하여, 그 결과를 출력할 수 있다. 이 경우에, 통신부(720)는 이동 로봇(100)으로 인식 결과를 송신할 수 있다.
또한, 상기 학습모듈(740)은, 이동 로봇(100)의 사용(Usage) 관련 데이터(Data)를 분석하고 학습하여 사용 패턴, 사용 환경 등을 인식하여, 그 결과를 출력할 수 있다. 이 경우에, 통신부(720)는 이동 로봇(100)으로 인식 결과를 송신할 수 있다.
이에 따라, 이동 로봇(100) 등 홈 어플라이언스 제품들은 서버(70)로부터 인식 결과를 수신하고, 수신된 인식 결과를 활용하여 동작할 수 있다.
또한, 서버(70)가 제품 데이터를 이용하여 학습하여 점점 더 똑똑해지므로, 홈 어플라이언스 제품을 사용할수록 진화되는 사용자 경험(UX)을 제공할 수 있다.
한편, 이동 로봇(100) 및 서버(70)는 외부 정보(external information)도 이용할 수 있다.
예를 들어, 이동 로봇(100) 및 서버(70)는, 이동 로봇(100) 등 특정 홈 어플라이언스 제품의 공간 정보, 사물 정보, 사용 패턴 등의 내부 정보 및 다른 제품으로부터 획득하거나, 서버(70)가 다른 연계 서비스 서버로부터 획득한 외부 정보를 종합적으로 사용하여 우수한 사용자 경험을 제공할 수 있다.
본 발명의 일실시예에 따르면, 인공지능을 통한 와이파이(Wi-Fi)로 연결된 홈 어플라이언스 네트워크 시스템 내의 제품 운전 순서를 최적화하고, 최적 운전 순서를 사용자에게 제시할 수 있다.
예를 들어, 이동 로봇(100)으로 집안 청소를 수행하고, 공기 청정기(12, 13)로 청소 중 생긴 먼지 관리를 수행하며, 공기조화기(11)로 집안 습도 및 온도 관리하고, 세탁기(32)가 사용자가 집에 도착하는 시간에 맞추어 세탁이 종료되도록 세탁을 수행할 수 있다.
상기 서버(70)는 사용자가 발화한 음성 입력 신호를 수신하여 음성 인식을 수행할 수 있다. 이를 위해, 상기 서버(70)는 음성 인식 모듈을 포함할 수 있고, 음성 인식 모듈은 입력 데이터에 대하여 음성 인식을 수행하여 음성 인식 결과를 출력하도록 학습된 인공신경망을 포함할 수 있다.
한편, 상기 서버(70)는 음성 인식을 위한 음성 인식 서버를 포함할 수 있다. 또한, 음성 인식 서버도 음성 인식 과정 중 소정 과정을 분담하여 수행하는 복수의 서버를 포함할 수 있다. 예를 들어, 음성 인식 서버는, 음성 데이터를 수신하고, 수신한 음성 데이터를 텍스트(text) 데이터로 변환하는 자동 음성 인식(Automatic Speech Recognition: ASR) 서버, 및, 상기 자동 음성 인식 서버로부터 상기 텍스트 데이터를 수신하고, 수신한 텍스트 데이터를 분석하여 음성 명령을 판별하는 자연어 처리(Natural Language Processing: NLP) 서버를 포함할 수 있다. 경우에 따라서, 음성 인식 서버는, 자연어 처리 서버가 출력한 텍스트 음성 인식 결과를 음성 데이터로 변환하여 다른 서버 또는 홈 어플라이언스로 송신하는 텍스트 음성 변환(Text to Speech: TTS) 서버를 더 포함할 수 있다.
본 발명에 따르면, 이동 로봇(100) 및/또는 서버(70)가 음성 인식을 수행할 수 있어, 이동 로봇(100)의 제어를 위한 입력을 사용자 음성을 사용할 수 있다.
또한, 본 발명에 따르면, 이동 로봇(100)이 능동적으로 먼저 정보를 제공하거나 기능, 서비스를 추천하는 음성을 출력함으로써 사용자에게 더욱 다양하고 적극적인 제어 기능을 제공할 수 있다.
또한, 본 발명에 따르면, 이동 로봇(100) 및/또는 서버(70)는 주행 구역 내에 배치된 다른 기기의 센싱 데이터와 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.
이를 위해 제어부(150) 및/또는 학습모듈(740)은 이동 로봇(100)이 주행 구역을 주행하면서 생성한 맵을 활용할 수 있다.
도 8과 도 9는 본 발명의 일 실시예에 따른 공간 인식에 관한 설명에 참조되는 도면으로, 도 8은 본 발명의 일 실시예에 따른 이동 로봇의 영역 구분 및 그에 따른 맵 생성의 예를 도시하고, 도 9는 영역의 속성 인식 예를 도시한다.
도 8의 (a)에 도시된 바와 같이, 이동 로봇(100)은 저장된 맵이 존재하지 않는 경우, 월팔로윙을 통해 주행 구역(X1)을 주행하면서 맵을 생성할 수 있다.
지도생성모듈(152)은 도 8의(b)에 도시된 바와 같이, 주행 구역(X1)을 복수의 영역(A1' 내지 A9')으로 구분하여 도 8의 (c)와 같이 맵을 생성한다. 생성된 맵은 저장부(105)에 저장되고, 통신부(190)를 통해 외부 단말기, 서버로 전송된다. 지도생성모듈(152)은 전술한 바와 같이 주행 구역(X1)에 대하여 소영역과 대영역을 구분하고 그에 따른 맵을 생성한다.
단말은 애플리케이션을 실행하고, 수신된 맵을 화면에 표시한다. 이때 구분된 복수의 영역(A1 내지 A9)을 각각 상이하게 표시한다. 맵은 복수의 영역(A1 내지 A9)이 각각 상이한 색상으로 표시되거나 또는 상이한 이름이 표시된다.
이동 로봇과 단말은 동일한 맵을 저장하는 것을 기본으로 하나, 단말에는 사용자가 영역을 쉽게 인식할 수 있도록 도 8의 (c)와 같이 영역을 단순화한 사용자맵이 표시되도록 하고, 이동 로봇은, 장애물에 대한 정보가 포함된 도 6의 (b)와 같은 맵을 바탕으로 주행 및 청소를 수행한다. 도 8의 (c)의 사용자 맵에도 장애물이 표시될 수 있다. 도 8의 (b)에서 예시된 맵은 SLAM 맵 이거나 SLAM 맵에 기반한 내비게이션 맵일 수 있다.
이동 로봇(100)은 청소명령이 입력되면, 저장된 맵을 바탕으로, 현재 위치를 판단하고, 현재 위치와 맵 상의 위치가 일치하는 경우에는 지정된 청소를 수행하고, 현재 위치가 일치하지 않는 경우, 현재 위치를 인식하여 복구한 후 청소를 수행한다. 따라서 이동 로봇(100)은 복수의 영역(A1 내지 A9) 중 어느 위치에 있더라도 현재 위치를 판단 한 후 지정영역으로 이동하여 청소를 수행할 수 있다.
리모컨 또는 단말은 도시된 바와 같이, 복수의 영역(A1 내지 A9) 중 적어도 하나의 영역을 선택하여 이동 로봇(100)으로 청소명령을 입력할 수 있다. 또한, 이동 로봇(100)은 리모컨 또는 단말을 통해 어느 하나의 영역의 일부를 청소영역으로 설정하거나, 복수의 영역에 대하여 영역 구분없이 터치 또는 드래그를 통해 청소영역을 설정할 수 있다.
복수의 영역에 대하여 청소명령이 입력되는 경우, 어느 하나의 영역을 우선영역으로 설정하거나, 우선영역을 시작한 후 근거리인 영역으로 이동하여 청소할 수 있으며, 또는 청소순서를 설정할 수 있다. 이동 로봇(100)은 복수의 지정영역에 대하여 청소순서가 설정된 경우 지정된 순서에 따라 이동하며 청소를 수행한다. 이동 로봇(100)은 복수의 청소영역에 대하여, 별도의 순서가 지정되지 않은 경우에는 현재 위치로부터 가까운 영역으로 이동하여 청소를 수행할 수 있다.
실시예에 따라서, 이동 로봇(100)은 주행 구역(X1)에 포함되는 복수의 영역(A1 내지 A9)의 속성을 인식할 수 있다.
도 9를 참조하면, 내비게이션 맵(900)은 복수의 로컬 맵(LM1, LM2, LM3, LM4, LM5, ...)을 포함할 수 있다. 상기 내비게이션 맵은, 복수의 영역으로 구분되고, 각 영역은 하나 이상의 로컬 맵을 포함할 수 있다. 각 로컬 맵은 서로 겹치지 않도록 설정된다.
상기 로컬 맵들(LM1, LM2, LM3, LM4, LM5)은 일종의 단위 맵으로서 임의의 크기로 설정 가능하다. 예를 들어, 도 9와 같이, 로컬 맵들(LM1, LM2, LM3, LM4, LM5)은 벽(Wall)을 기준으로 N by N의 크기를 가지는 정사각형 형태로 설정될 수 있다.
또한, 이동 로봇(100)은, 이동 중에, 연속되는 영상 정보와 맵 정보를 활용한 영역 정보를 획득할 수 있다. 이동 로봇(100)은, 가정 내 청소를 수행하면서 이동할 수 있고, 영상획득부(120)가 이동 중에 촬영하여 복수의 영상을 획득할 수 있다.
이 경우에, 제어부(150)는, 다른 방향으로 촬영된 N개의 영상이 획득된 로컬 맵에 대응하는 영역에서는 추가 촬영을 하지 않도록 상기 영상획득부(120)를 제어할 수 있다. 이에 따라, 속성 인식에 필요한 개수의 데이터가 확보되면, 더 이상의 영상을 획득하지 않음으로써, 불필요한 연산, 처리, 인식 과정을 방지할 수 있다.
예를 들어, 제어부(150)는, 각 로컬 맵 별 4방위 또는 8방위에서 영상을 획득하고 영상이 모두 획득되면 추가적인 영상을 획득하지 않도록 상기 영상획득부(120)를 제어할 수 있다.
한편, 영상 획득 시, 이동 로봇(100)의 로컬 맵 내 위치는 큰 영향이 없고 방향이 중요하다. 상기 영상획득부(120)가 구비하는 카메라는 화각에 따라 소정 범위의 영역을 촬영할 수 있다, 따라서, 동일한 위치가 아니여도, 소정 범위 내에 존재하는 위치에서 다른 각도로 촬영되는 영상들은, 특정 위치에서 회전하면서 촬영하는 360도와 유사한 범위를 커버(cover)할 수 있고, 이를 분석하면, 해당 공간의 속성을 정확하게 인식할 수 있다.
한편, 제어부(150)는, 복수의 영상들이 획득됨에 따라, 영역 인지 가능 여부를 판단할 수 있다.
제어부(150)는, 상기 로컬 맵에서 획득된 N개의 영상에 기초하여 상기 로컬 맵에 대응하는 영역을 인식할 수 있다.
또한, 제어부(150)는, 상기 로컬 맵에서 획득된 N개의 영상에서, 사물에 대응하는 이미지를 추출한 후에, 상기 추출된 이미지에 기초하여, 상기 로컬 맵에 대응하는 영역에 존재하는 사물을 인식할 수 있다.
한편, 제어부(150)는, 영상 전체에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 소정 영역의 속성을 인식할 수 있다.
또한, 제어부(150)는, 영상 중 적어도 일부에서 머신 러닝으로 기학습된 데이터에 기초하여 사물을 인식할 수 있다.
제어부(150)는, 각 로컬 맵들의 사물 인식 결과와 영역 인식 결과들을 통합하여 최종 결론 도출하고, 복수의 의미 맵을 포함하는 계층 맵을 구성할 수 있다.
도 9를 참조하면, 제어부(150)는, 로컬 맵의 개수가 연속해서 M개(ex 3개)가 모아지면, 점진적으로 의미 맵을 생성할 수 있다. 이 경우에, 의미 맵의 경계는 겹쳐도 상관없다.
예를 들어, 제어부(150)는, 제1 로컬 맵(LM1), 제2 로컬 맵(LM2), 제3 로컬 맵(LM3)으로 하나의 의미 맵을 구성하고, 제2 로컬 맵(LM2), 제3 로컬 맵(LM3), 제4 로컬 맵(LM4)으로 하나의 의미 맵을 구성하고, 제3 로컬 맵(LM3), 제4 로컬 맵(LM4), 제5 로컬 맵(LM5)으로 하나의 의미 맵을 구성할 수 있다.
제어부(150)는, 상기 인식된 복수의 로컬 맵 인식 결과에서, 인식 결과의 빈도수, 신뢰값, 신뢰값들의 평균값 중 적어도 하나에 기초하여, 상기 의미 맵에 대응하는 영역의 최종 속성을 판별할 수 있다.
예를 들어, 제어부(150)는, 제1 로컬 맵(LM1), 제2 로컬 맵(LM2), 제3 로컬 맵(LM3)으로 구성된 의미 맵에서, 제1 로컬 맵(LM1), 제2 로컬 맵(LM2), 제3 로컬 맵(LM3) 각각의 인식 결과들의 빈도수, 신뢰값, 신뢰값들의 평균값 중 적어도 하나에 기초하여, 의미 맵에 대응하는 영역의 속성을 침실로 판별할 수 있다.
또한, 제어부(150)는, 제3 로컬 맵(LM3), 제4 로컬 맵(LM4), 제5 로컬 맵(LM5)으로 구성된 의미 맵에서, 제3 로컬 맵(LM3), 제4 로컬 맵(LM4), 제5 로컬 맵(LM5) 각각의 인식 결과들의 빈도수, 신뢰값, 신뢰값들의 평균값 중 적어도 하나에 기초하여, 의미 맵에 대응하는 영역의 속성을 거실로 판별할 수 있다.
또한, 제어부(150)는, 제2 로컬 맵(LM2), 제3 로컬 맵(LM3), 제4 로컬 맵(LM4)으로 구성된 의미 맵에서, 신뢰값이 소정 문턱값(Threshold)을 넘지 못할 경우 Unknown으로 처리할 수 있다.
도 10은 사물인터넷(IoT) 기기의 일예로, 내부에 센서들을 구비하여 다양한 기능을 수행할 수 있는 다용도 센서를 예시한다.
도 10을 참조하면, 다용도 센서(45)는, 제1 유닛(601)과, 상기 제1 유닛(601)과 분리 가능하게 결합되는 제2 유닛(602)을 포함할 수 있다.
상기 제2 유닛(602)은 홈 어플라이언스나 벽, 도어 등에 부착될 수 있다. 일 예로 상기 제2 유닛(602)은 접착제 또는 양면 테이프 등에 의해서 홈 어플라이언스나 벽, 도어 등에 부착될 수 있다.
상기 제2 유닛(602)이 특정 위치에 고정된 상태에서 상기 제1 유닛(601)은 상기 제2 유닛(602)에서 분리될 수 있다. 또한, 상기 제1 유닛(601)의 일부는 상기 제2 유닛(602)에 삽입될 수 있다.
다용도 센서(45)의 내부 공간에는 각종 모듈, 배터리 등 다양한 부품이 수용될 수 있다.
상기 제1 유닛(601)은, 통신을 위한 통신 모듈(미도시)을 포함할 수 있다. 상기 통신 모듈은 지그비(zigbee) 통신 모듈, 블루투스(bluetooth) 통신 모듈이거나 와이파이(wi-fi) 통신 모듈일 수 있다.
다용도 센서(45)는 통신 모듈을 통하여 이동 로봇(100), 서버(70), 휴대 단말기(50) 등과 통신할 수 있다.
또한, 상기 제1 유닛(601)은 센싱 모듈(sensing module, 미도시)을 더 포함할 수 있고, 센싱 모듈은 하나 이상의 센서를 포함할 수 있다.
일 예로 상기 센싱 모듈은 가속도 센서를 포함할 수 있다. 상기 가속도 센서에 의해서 상기 다용도 센서(45)가 부착된 제품이나 도어의 움직임이 감지될 수 있다.
상기 센싱 모듈은 온도와 습도를 감지하기 위한 온도 및 습도 센서를 포함할 수 있다. 상기 센싱 모듈이 온도 센서와 습도 센서 중 어느 하나만을 포함하거나 두 개의 센서 전부를 포함하는 것도 가능하다.
상기 센싱 모듈은 근접 센서를 포함할 수 있다. 상기 근접 센서는 일 예로 적외선 센서일 수 있으며, 상기 다용도 센서(45)로의 특정 물체의 근접이나 상기 다용도 센서(45)가 설치된 제품이나 도어와 주변 구조물과의 거리 변화 등을 감지할 수 있다.
상기 다용도 센서(45)는 통신 모듈을 구비하지 않는 홈 어플라이언스에 부착되어 사용될 수 있다. 이에 따라, 통신 모듈을 구비하지 않는 홈 어플라이언스도 다양한 스마트 기능을 사용할 수 있게 된다.
또는 상기 다용도 센서(45)는 특정 홈 어플라이언스에 추가 기능을 부여하기 위하여 사용될 수 있다.
또는 다용도 센서(45)는 홈 어플라이언스의 작동과 무관하게 다용도 센서(45) 주변의 상태를 감지하기 위하여 사용될 수 있다.
일 예로 상기 다용도 센서(45)는 홈 어플라이언스에 부착되어 사용되거나, 실내 벽 또는 창문이나 도어(door) 등에 부착되어 사용될 수 있다.
도 11a와 도 11b는 도 10의 사물인터넷(IoT) 기기의 사용 예를 도시한 것으로, 다용도 센서(45)가 도어에 부착되어 도어의 열림과 닫힘을 감지하는 예를 도시한 것이다.
도 11a와 도 11b는 다용도 센서(45)가 도어에 부착된 상태를 보여주는 도면이다. 도 11a는 도어가 열린 상태를 예시하고, 도 11b는 도어가 열린 상태를 예시한 것이다.
도 11a와 도 11b를 참조하면, 상기 다용도 센서(45)는 일 예로 창문, 문 등 도어(850)에 부착되어 도어 개방 감지 기능을 수행할 수 있다.
한편, 상기 도어에 부착된 다용도 센서(45)와 인접한 위치에 리플렉터(851)가 부착될 수 있다. 다용도 센서(45)의 근접 센서는 발광부와 수광부를 포함할 수 있으며, 상기 리플렉터(851)는 상기 발광부에서 조사된 광을 반사할 수 있고, 상기 수광부는 상기 리플렉터(851)에서 반사된 빛을 감지할 수 있다.
상기 다용도 센서(45)는, 근접 센서에서 감지된 정보를 기초로 도어의 개방 여부를 판단할 수 있다.
상기 다용도 센서(45)가 도어 개방을 감지하면, 상기 다용도 센서(45)는 이동 로봇(100), 서버(70), 휴대 단말기(50) 등으로 도어 개방 알림 정보를 송신할 수 있다.
상기 다용도 센서(45)가 도어 닫힘을 감지하면, 상기 다용도 센서(45)는 이동 로봇(100), 서버(70), 휴대 단말기(50) 등으로 도어 닫힘 알림 정보를 송신할 수 있다.
이와 같이 다용도 센서(45)에서 센싱된 데이터는 이동 로봇(100), 서버(70), 휴대 단말기(50) 등으로 전달되어, 저장, 관리될 수 있다.
또한, 이동 로봇(100), 서버(70), 휴대 단말기(50) 등은 다른 기기로부터 수신되는 센싱 데이터와 연계하여 저장할 수 있다.
또한, 이동 로봇(100), 서버(70), 휴대 단말기(50) 등은 다용도 센서(45)로부터 수신된 데이터를 이용하여 학습할 수 있다.
도 12는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 12를 참조하면, 먼저, 이동 로봇(100)은 복수의 영역을 포함하는 주행 구역에 대한 맵(map)을 생성할 수 있다(S1210).
예를 들어, 도 8과 도 9를 참조하여 설명한 것과 같이 이동 로봇(100)은 주행 구역을 주행하고 주행 구역에 대한 맵을 생성할 수 있다.
또한, 이동 로봇(100)은 맵에 포함되는 복수의 영역을 구분할 수 있다. 더욱 바람직하게는 이동 로봇(100)은 복수의 영역에 대한 속성을 인식할 수 있다.
한편, 이동 로봇(100)은, 하나 이상의 센서(sensor)를 포함하는 복수의 유닛을, 각각 상기 복수의 영역 중 특정 영역에 매핑(mapping)할 수 있다(S1220).
예를 들어, 제어부(150)는, 소정 영역과 소정 영역 내에 배치되어 있는 유닛을 매핑할 수 있다.
여기서, 상기 유닛은, 하나 이상의 정보를 센싱하는 센서이거나, 하나 이상의 센서를 포함하는 사물인터넷 기기, 홈 어플라이언스(Home Appliance)일 수 있다.
예를 들어, 상기 유닛은 도 10에서 예시한 다용도 센서(45)일 수 있다. 다용도 센서(45)는 온도 센서, 습도 센서 등을 구비하여 각종 데이터를 센싱할 수 있다.
또는 상기 유닛은 도 1에서 예시한 공기조화기(11), 공기 청정기(12, 13) 등 홈 어플라이언스일 수 있다. 홈 어플라이언스들은 기능, 사양에 따라 여러 센서를 구비하는 경우가 많다. 예를 들어, 공기조화기(11), 공기 청정기(12, 13)는 먼지 센서 등 공기질과 관련된 센서를 포함할 수 있다. 또한, 공기조화기(11)는 온도 센서, 습도 센서 등을 구비할 수 있다.
한편, 유닛과 공간의 매핑(S1220)은, 수동으로 수행될 수 있다. 예를 들어, 사용자는 휴대 단말기(50)로 맵을 불러온 후에 맵에 포함되는 복수의 영역에 직접 유닛 정보를 입력하여 유닛과 공간을 매핑할 수 있다.
더욱 바람직하게는, 이동 로봇(100) 또는 서버(70)가 자동으로 유닛과 공간을 매핑할 수 있다.
예를 들어, 제어부(150) 및/또는 학습모듈(740)은, 영상획득부(120)를 통하여 획득되는 영상에 기초하여, 소정 영역에 배치된 유닛을 식별할 수 있다. 이 경우에, 제어부(150) 및/또는 학습모듈(740)은, 상기 식별된 유닛을 상기 소정 영역에 매핑할 수 있다. 영상 기반으로 유닛을 식별하는 경우에는 식별된 유닛과 유닛이 포함된 영상이 획득된 영역을 쉽게 매칭할 수 있는 장점이 있다.
공간과 유닛 매핑의 정확도를 더욱 높이기 위하여, 제어부(150) 및/또는 학습모듈(740)은, 상기 영역에서 통신부(190)를 통하여 수신되는 상기 식별된 유닛이 송신한 신호의 신호 세기가 기준치 이상인 경우에 상기 식별된 유닛을 상기 소정 영역에 매핑할 수 있다.
실시예에 따라서, 제어부(150) 및/또는 학습모듈(740)은, 특정 위치에서 통신부(190)를 통하여 수신되는 신호 세기가 기준치 이상인 유닛을 상기 특정 위치를 포함하는 영역에 매핑할 수 있다.
이동 로봇(100)은 통신부(190)를 통하여 상기 복수의 유닛으로부터 센싱(sensing) 데이터를 수신할 수 있다(S1230). 유닛들의 센싱 데이터는 서버(70)를 경유하여 이동 로봇(100)으로 전달될 수도 있다. 경우에 따라서, 서버(70)도 복수의 유닛으로부터 센싱(sensing) 데이터를 수신할 수 있다.
한편, 이동 로봇(100)은, 상기 수신된 센싱 데이터를 해당 센서에 매핑된 영역에 연계하여 저장할 수 있다(S1240). 또는, 서버(70)는, 상기 수신된 센싱 데이터를 해당 센서에 매핑된 영역에 연계하여 저장할 수 있다(S1240).
예를 들어, 제어부(150)는 센서, 센서를 포함하는 기기들로부터 센싱 데이터가 수신되면, 센싱 데이터를 해당 기기가 배치된 영역에 매핑하여 저장부(105)에 저장하도록 제어할 수 있다.
종래에는 다른 기기의 센싱 데이터를 이용하기 어려울 뿐만 아니라, 센싱 데이터를 수신해도, 어떤 기기가 어떤 위치에서 획득한 데이터인지 정확히 파악하기 어려웠다.
하지만, 본 발명에 따르면, 이동 로봇(100)이 생성한 맵과 인식된 영역에 유닛들을 매핑하고, 해당 영역에서 센싱된 센싱 데이터를 저장하고 관리함으로써, 센싱 데이터를 더 정확하고 편리하게 활용할 수 있다.
본 발명에 따르면, 상기 저장되는 영역별 센싱 데이터에 기초하여 상기 주행 구역 내 사용자 패턴을 판별할 수 있다(S1250). 여기서, 사용자 패턴은 소정 공간에 대한 사용 시간 정보를 포함하는 공간 사용 패턴을 포함할 수 있다. 경우에 따라서, 사용자 패턴은, 특정 공간에서 특정 유닛의 사용 시간, 특정 공간에서의 움직임 패턴, 특정 공간에 배치시키는 전자 기기, 가구의 정보를 포함할 수도 있다.
제어부(150) 및/또는 학습모듈(740)은 상기 저장되는 영역별 센싱 데이터에 기초하여 상기 주행 구역 내 공간 사용 패턴을 판별할 수 있다(S1250).
예를 들어, 제어부(150) 및/또는 학습모듈(740)은 복수의 영역에 이격되어 배치된 유닛들의 다양한 센싱 데이터에 기초하여 사용자가 집에 있는 시간, 취침시간, 외출시간, 휴가기간 등의 사용자 패턴을 감지할 수 있다.
또한, 상기 공간 사용 패턴은 상기 영역별 사용 시간 정보를 포함할 수 있다. 즉, 영역별로 1인 이상의 사용자가 있는 시간을 확인할 수 있다.
또한, 제어부(150) 및/또는 학습모듈(740)은 영역별로 먼지, 온도, 습도 등 센싱 데이터를 저장하고 관리할 수 있다. 이에 따라, 영역별 공간 청결도, 오염도, 오염 발생 시간 등을 판별할 수 있다.
또한, 제어부(150) 및/또는 학습모듈(740)은 사용자의 공간 사용 패턴과 공간 청결도 사이의 상관 관계를 분석할 수도 있다.
이동 로봇(100)은 통신부(190)를 토하여 상기 공간 사용 패턴에 대한 데이터를 휴대 단말기(50)로 송신할 수 있다.
한편, 제어부(150) 및/또는 학습모듈(740)은 판별된 공간 사용 패턴에 기초하여 청소 계획을 수립할 수 있고(S1260). 수립된 청소 계획 정보를 사용자에게 제공하도록 제어할 수 있다(S1270).
이러한 청소 계획은 신규로 수립되는 청소 계획일 수 있다. 또는, 청소 계획은 사용자가 이동 로봇(!00)을 구입한 후에 설정한 청소 일정을 주변환경 및 사용자의 생활 패턴에 따라서 조절한 것일 수 있다.
예를 들어, 상기 청소 계획은 상기 주행 구역에 대한 최적 청소 시간을 포함할 수 있다. 제어부(150) 및/또는 학습모듈(740)은 상기 공간 사용 패턴에 기초하여 상기 주행 구역에 대한 최적 청소 시간을 산출할 수 있다. 예를 들어, 제어부(150) 및/또는 학습모듈(740)은 사용자가 집에 없는 시간을 최적 청소 시간으로 산출할 수 있다.
또한, 제어부(150) 및/또는 학습모듈(740)은 상기 공간 사용 패턴 및 해당 영역에서의 센싱 데이터에 기초하여 상기 주행 구역 중 적어도 하나의 영역에 대한 최적 청소 시간을 산출할 수 있다.
오염된 상태가 오랫동안 지속되면 청소가 더 어려워질 수 있으므로, 제어부(150) 및/또는 학습모듈(740)은, 먼지량 데이터 등으로 오염 발생 또는 오염 증가를 판별하고, 사용자가 집에 없는 시간 중 오염 발생 시간, 오염 증가 시간에 가장 가까운 시간을 최적 청소 시간으로 산출할 수 있다.
한편, 집에는 여러 가족 구성원이 있고, 각 구성원별 생활 패턴에는 차이가 있다. 또한, 각 영역을 이용하는 사용자의 생활 패턴에도 차이가 있다.
따라서, 더욱 바람직하게, 제어부(150) 및/또는 학습모듈(740)은 상기 복수의 영역 중 적어도 하나의 영역에 대한 최적 청소 시간을 산출할 수 있다. 즉, 제어부(150) 및/또는 학습모듈(740)은 영역별로 최적 청소 시간을 산출할 수 있다.
한편, 제어부(150) 및/또는 학습모듈(740)은 상기 공간 사용 패턴 및 해당 영역에서의 센싱 데이터에 기초하여 상기 주행 구역 중 적어도 하나의 영역에 대한 최적 청소 시간을 산출할 수 있다.
또한, 제어부(150) 및/또는 학습모듈(740)은 소정 영역이 일(day) 또는 주(week) 중 가장 적게 사용되는 시간을 상기 최적 청소 시간으로 판별할 수 있다. 예를 들어, 방 A가 평일 낮 시간대에 거의 사용되지 않는다면, 제어부(150) 및/또는 학습모듈(740)은 방 A에 대한 최적 청소 시간으로 평일 낮 시간대를 설정할 수 있다.
한편, 청소 계획에는 청소 모드 설정이 포함될 수 있다. 즉, 청소 계획은 최적 청소 시간, 청소 모드 설정 중 적어도 하나를 포함할 수 있다.
제어부(150) 및/또는 학습모듈(740)은, 상기 공간 사용 패턴에 기초하여 상기 주행 구역에 대한 최적 청소 모드를 판별하할 수 있다. 이 경우에도, 제어부(150) 및/또는 학습모듈(740)은, 상기 공간 사용 패턴 및 해당 영역에서의 센싱 데이터에 기초하여 상기 복수의 영역 중 적어도 하나의 영역에 대한 최적 청소 모드를 판별할 수 있다.
본 발명의 일 실시예에 따르면, 이동 로봇(100)은, 공간 사용 패턴에 기초하여 상기 복수의 영역 중 적어도 하나의 영역에 대한 청소 일정을 수립할 수 있다(S1260). 여기서, 청소 일정은, 소정 영역에 대한 청소 시간, 상기 청소 시간에서의 청소 모드 설정을 포함할 수 있다.
또한, 이동 로봇(100)은, 통신부(190)를 통하여, 상기 수립된 청소 일정에 대한 데이터를 휴대 단말기(50)로 송신할 수 있다.
청소 계획 정보는 이동 로봇(100)의 출력부(180)를 통하여 출력될 수 있다. 실시예에 따라서는, 청소 계획 정보는 휴대 단말기(100)로 송신될 수 있다. 사용자는 휴대 단말기(100)를 조작하여 이동 로봇(100) 또는 서버(70)가 제안한 청소 계획을 확인할 수 있다.
이후, 이동 로봇(100)은, 수립된 청소 계획에 따라 주행 구역에 대한 청소를 수행할 수 있다(S1280).
이동 로봇(100)은 능동적으로 스스로 청소 계획을 수립하고 수립된 청소 계획에 따라서 청소를 수행할 수 있다.
실시예에 따라서는, 이동 로봇(100)은 수립된 청소 계획에 대한 사용자 확인 후에, 사용자 명령에 따라서 청소를 수행할 수 있다.
본 발명에 따르면, 여러 장소에 배치된 센서, 센서를 포함하는 유닛으로부터 취합된 주변 환경 및 사용자 패턴 정보를 통하여 최적의 청소 일정 설정 및 패턴을 자동으로 설정하거나 변경할 수 있다.
또한, 이동 로봇(100)은 유닛들로부터 센싱 데이터를 계속 수신하여, 주변 환경 및 사용자 패턴의 변경을 지속적 모니터링할 수 있다. 만약, 특정 정보가 변경되면, 제어부(150)는 청소 일정 및 패턴에 변경 사항을 반영할 수 있다.
본 발명에 따른 이동 로봇(100)은, 청소가 필요한 지역을 예측하고 아무도 없을 때를 판단하여 스스로 청소 계획을 수립하고 실행할 수 있다.
이동 로봇(100)은 영역별 먼지 집진 증가량 측정할 수 있다. 이동 로봇(100)은 자체적으로 먼지량을 측정하거나 각 영역에 배치된 유닛으로부터 먼지량을 수신할 수 있다.
이동 로봇(100)은 구분된 방 영역별 먼지 집진 증가량을 측정하고, 먼지 증가 예측량을 토대로 청소 구역 및 청소 일정을 일별로 정리할 수 있다.
또한, 이동 로봇(100)은 입력부(125)의 마이크를 통해 요일별 댁내 사람이 없는 시간을 판별할 수 있다.
예측된 시간과 구역이 발생한 경우에 이동 로봇(100)은 능동적으로 “지금 청소를 시작할께요. 시끄러우시면 다음에 해라고 말씀해주세요”등 청소 수행과 관련된 안내 메시지를 음향 출력부(181)를 통하여 발화할 수 있다.
사용자가 “다음에 해”, "아니" 등 부정적인 답변을 말하면, 이동 로봇(100)은 청소를 중지하고 해당 시간을 금지 시간으로 분류하며 다음 예측 시간으로 스케쥴링을 변경할 수 있다. 이에 따라, 사용자가 청소를 원하는 시간, 원하지 않는 시간을 파악하여 더 사용자의 패턴에 맞는 청소 일정을 구립할 수 있다.
청소를 수행하는 기존 로봇 청소기는 육체적 가사 노동을 대신 수행해주나 언제, 어디를 청소할 지에 대한 사용자 고민은 지속되고 있다. 로봇 청소기는 명령에 따라서 청소를 수행하나, 집안에 사람 존재 여부 등을 고려하지 않으므로 청소 작업시 소음을 불편해하는 사람이 있을 수 있다. 로봇 청소기도 모터 소음으로 시끄러워 스트레스를 받지 않고 직접 수동 청소기를 사용하는 것을 선호하는 사람도 있다.
하지만, 본 발명에 따르면, 처음에는 사용자의 청소 명령을 통해 모든 영역을 청소하기 시작하다가, 충분한 정보가 수집된 이후에는 능동적으로 청소 계획을 수립하고 청소를 수행할 수 있다.
또한, 고객과 인터랙션(interaction)을 통해 청소의 스케쥴, 모드 등을 조정함으로써, 점점 더 사용자에게 개인화된 맞춤형 청소 서비스를 제공할 수 있다.
실시예에 따라서, 이동 로봇(100)은 복수의 영역을 포함하는 주행 구역 내에서 복수의 사용자가 발화한 음성 데이터들을 획득할 수 있다.
이동 로봇(100)은 상기 주행 구역을 주행하면서 마이크를 통하여 복수의 사용자가 발화한 음성 데이터들을 획득할 수 있다.
또는, 이동 로봇(100)은 유닛들 중 적어도 일부로부터 복수의 사용자가 발화한 음성 데이터들을 수신하여 획득할 수 있다.
이동 로봇(100)은 자체적으로 또는 서버(70)를 토하여, 상기 음성 데이터들을 사용자별로 분류할 수 있고, 상기 분류된 사용자별 음성 데이터를 각각 상기 복수의 영역 중 하나 이상의 영역에 매핑(mapping)할 수 있다.
예를 들어, 제어부(150)는, 상기 분류된 사용자별 음성 데이터를 상기 음성 데이터들이 획득된 영역별로 분류하고, 영역별 사용자의 발화 빈도수에 따라 사용자와 영역을 매핑할 수 있다.
예를 들어, 획득된 음성 데이터들을 사용자별, 영역별로 분류하고, 사용자별로 영역별 발화 빈도수를 카운팅(countion)한 경과, 사용자 A가 방 A에서 가장 많은 발화를 했다면, 사용자 A와 방 A를 매핑할 수 있다.
또한, 제어부(150)는, 상기 복수의 영역에 대한 속성을 인식할 수 있다. 이 경우에, 제어부(150)는, 상기 복수의 영역 중에서 전용 공간으로 인식된 영역에는 상기 복수의 사용자 중 하나 이상의 사용자를 매핑하고, 공용 공간으로 인식된 영역에는 사용자를 매핑하지 않을 수 있다.
예를 들어, 방 등 전용 공간으로 인식된 영역에는 부부(2인) 또는 아이1(1인)의 사용자를 매핑하고, 주방 등 공용 공간으로 인식된 영역에는 어느 사용자도 매핑하지 않을 수 있다.
이와 같이, 방 A는 부부가 사용하고, 방 B는 자녀가 사용하는 것으로 공간 상태가 인식된다면, 이동 로봇(100)은 공간 상태 인식 결과와 유닛들로부터 수신되는 센싱 데이터를 결합하여 청소 계획을 수립할 수 있고, 다음과 같은 영역별 분석 리포트를 제공할 수 있다.
-방 A: 사용자 2명, 많은 머리카락, 카펫트 존재, 스마트 터보, 꼼꼼청소 2회 청소 필요
-방 B: 사용자 1명, 적은 먼지, 사용자가 짧게 머무는 공간, 지그재그 청소 모드 이용해 빠르게 청소 가능
예를 들어, 이동 로봇(100)은 방 A에 대해서 사용자가 출근한 다음 꼼꼼청소 모드로 청소를 실행하고, 퇴근 전에 흡입력이 가변되는 스마트 터보 청소를 수행하는 청소 계획을 제안하고 실행할 수 있다.
또한, 이동 로봇(100)은 수립된 청소 계획에 따라 청소를 수행할 수 있고, 사용자 피드백이 있으면 사용자 피드백을 반영하고, 사용자의 공간 사용 패턴 등에 변경이 있으면 변경 사항을 반영하여 청소 계획을 지속적으로 수정할 수 있다.
도 13 내지 도 17b는 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
이동 로봇(100)은 슬램(Simultaneous localization and mapping: SLAM) 등의 공간인지 기술(위치추정 및 지도작성)을 통해 맵을 생성하고 실내 공간을 인식할 수 있다(S1210).
본 발명에 따르면, 실내 환경 데이터 획득 가능한 센서 및 센서를 구비하는 홈 어플라이언스 등 유닛들을 각 유닛이 배치된 영역(A, B, C, D)과 매핑할 수 있다(S1220).
예를 들어, 공기청정기(13)는 PM 1.0 초 미세먼지 센서, 제습기(16)는 습도 센서, 공기조화기(11)는 온도 센서, 다용도 센서(35)는 온/습도 센서를 구비할 수 있다. 이와 같이, 센서 정보 전달 가능한 홈 어플라이언스 및 스마트씽큐 센서(다용도 센서(35)) 등 IoT 센서가 유닛에 해당될 수 있다.
도 13을 참조하면, 공기청정기(13)는 공간 A, 제습기(16)는 공간 B, 다용도 센서(35)는 공간 C, 공기조화기(11)는 공간 D에 매핑될 수 있다.
예를 들어, 이동 로봇(100)은. 인식된 공간 단위 내에서 영상 기반 물체 인지(Object Detection), 센서 신호 세기로 센서를 인식하여 해당 공간 내 센서를 매핑(mapping)할 수 있다.
이동 로봇(100)이 카메라 영상으로 제습기(16)를 인식하는 경우, 제습기(16) 습도 센서 데이터를 공간 B와 매핑할 수 있다.
또한, 공간 C에서 다용도 센서(35)의 신호 강도가 특정 임계치 이상일 경우, 이동 로봇(100)은 다용도 센서(35)의 습/온도센서 데이터를 공간 C와 매핑할 수 있다. 여기서, 임계치는 센서마다 차이가 있을 수 있으며, 벽을 투과한 센서 강도보다 강하고, 인식된 공간 내 거리를 기반으로 공간마다 차별화하여 설정할 수 있다.
한편, 이동 로봇(100)은 매핑된 센서 및 홈 어플라이언스 정보를 슬램(SLAM)으로 작성한 공간 맵과 연동하여 랜드마킹시킬 수 있다.
이후, 이동 로봇(100)은 센서 및 홈 어플라이언스 등 유닛으로부터 센싱 데이터를 수신하면, 수신된 센싱 데이터를 매핑된 공간 정보에 연계하여 저장할 수 있다.
한편, 이동 로봇(100) 및/또는 서버(70)는 센서 및 센서를 구비하는 홈 어플라이언스가 이동하거나 센서가 없는 경우에는 가장 최근에 확보된 데이터 또는 타 센서 데이터를 기반으로 해당 공간 내에 환경을 예측하고 추론할 수 있다.
예를 들어, 공간 B에 있던 제습기(16)가 다른 공간으로 이동한 것으로 이동 로봇(100)이 파악한 경우, 현재 다른 센서를 통해 확보된 환경 데이터 및 최근 특정 기간동안의 데이터를 기반으로 공간 B의 환경을 예측하고 추론할 수 있다.
한편, 이동 로봇(100)은 제습기(16) 등 이동한 홈 어플라이언스의 위치를 슬램(SLAM)으로 작성한 공간 맵과 연동하여 랜드마킹을 수정할 수 있다.
주변환경 데이터 취득에는 센서를 구비하는 홈 어플라이언스 또는 IoT 센서와의 연결이 필수적이다. 이동 로봇(100)은 홈 어플라이언스 또는 IoT 센서를 영상 또는 센서 신호 강도로 인식하여 해당 공간과 센서를 매핑하고 해당 센서의 위치를 이동 로봇(100)이 구성한 공간 맵에 랜드마킹시킬 수 있다.
한편, 해당 센서에서 취득되는 데이터는 와이파이(WIFI), 블루투스(BT) 통신 등을 이용하여 서버(70) 및 이동 로봇(100)에게로 주기적으로 전달될 수 있다.
한편, 도 10, 도 11a, 도 11b를 참조하여 설명한 것과 같이, 다용도 센서(45)는 도어에 부착되어 도어의 열림과 닫힘을 감지할 수 있다.
도 14는 댁내 여러 도어에 다용도 센서(45)가 부착되어 각 도어의 열림, 닫힘을 감지하는 예를 도시한 것이다.
도 14를 참조하면, 공간 C의 다용도 센서(45)는 공간 C의 온도, 습도를 감지하는 역할을 수행하고, 나머지 다용도 센서(45)는 부착된 도어의 열림, 닫힘을 감지하는 역할을 수행한다.
또한, 다용도 센서(45)는 창문에 부착되어 부착된 창문의 열림, 닫힘을 감지할 수 있다.
본 발명의 일 실시예에 따르면, 유닛들의 센싱 데이터에 기초하여 사용자 패턴을 판별할 수 있다(S1250). 여기서, 사용자 패턴은 1인 이상의 사용자가 집에 있는 시간, 취침 시간, 외출 시간, 휴가 등 1인 이상의 사용자의 집안 사용 패턴일 수 있다.
또한, 본 발명의 일 실시예에 따르면, 유닛들의 센싱 데이터 및 이동 로봇(100) 자체의 센싱 데이터에 기초하여 사용자 패턴을 판별할 수 있다.
즉, 본 발명은 복수의 센싱 데이터를 융합하여, 사용자 패턴을 판별할 수 있다.
현관을 포함하는 도어, 창문에 부착된 다용도 센서(45), 이동 로봇에 구비되는 장애물 감지 센서 및 카메라, 그 외에 센서 정보 전달 가능한 홈 어플라이언스 및 IoT 센서로부터 획득되는 센싱 데이터로 사용자 패턴을 감지할 수 있다.
유닛들의 센싱 데이터는 서버(70) 및 이동 로봇(100)에게 주기적으로 전달될 수 있고, 서버(70) 및/또는 이동 로봇(100)은 공간별로 사용자가 사용한 시간을 판별할 수 있다.
도 15의 (a)는 24시간 일간 단위로 분석된 공간별 사용자 사용 데이터이고, 도 15의 (b)는 일주일 주간 단위로 분석된 공간별 사용자 사용 데이터이다.
이와 같이, 일간/주간 단위 등을 주기로의 사용자 집안 사용 패턴(생활 패턴, e.g. 집안 내 생활/취침/외출/휴가 등)을 감지할 수 있다.
또한, 유닛들의 센싱 데이터에 기초하여, 바닥 먼지, 공기 중 미세먼지 등 공간 청결도, 습도, 온도 등 공간 환경을 판별할 수 있다.
이동 로봇(100) 및/또는 서버(70)는, 공간 사용 패턴, 공간 청결도, 공간 환경의 상관관계를 분석하고 학습된 추론 모델을 생성할 수 있고, 추론 모델에 따라 청소 시간, 청소 모드를 포함하는 청소 일정을 수립할 수 있다(S1260). 또한, 이동 로봇(100)은 수립된 청소 일정에 따라 청소를 수행할 수 있다(S1280).
예를 들어, C 공간은 오전 9시 내지 오후 7시 사이에 사용자가 부재하고, 오전 8시에 바닥에 먼지, 머리카락 등이 많이 발생하므로, “매일 9시10분에 집중청소 모드"로 10분간 청소할 수 있다.
또한, 공간 A와 연결된 화장실은 오전 7~8시 사이에 사용이 빈번하며, 사용자는 오전 9시 내지오후 7시 사이에 부재하므로, 공간 A의 습도 및 바닥 상태 등을 확인 후 “매일 오전 9시 10분에 물걸레 청소 모드”로 10분간 청소할 수 있다.
또한, 공간 D(식당)에서 전기 인덕션이 켜지고 난 후, 공기청정기(13)의 PM 1.0 센서로 미세먼지가 많이 검출되는 것으로 확인할 수 있다. 이에 따라, 이동 로봇(100)은 “공간 D(식당)에서부터 거실까지 물걸레 청소모드”로 구동할 수 있다. 이 경우에, 이동 로봇(100)은 다용도 센서(35)의 센싱 데이터기반으로 미세먼지가 높은 곳의 바닥을 물걸레 청소할 수 있다.
한편, 본 발명의 일 실시예에 따른 이동 로봇(100)은 다른 기기와 연동되어 동작할 수 있다. 예를 들어, 애플리케이션을 통해 이동 로봇(100)이 드라이어와 연결될 경우, 드라이어 사용 시 소리 및 통신으로 드라이어의 사용 및 위치를 감지하고, 드라이어 사용 종료 이후 이동 로봇(100)이 바닥에 떨어진 머리카락을 집중 청소할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 발화 빈도수를 기반으로 사용자와 공간을 매핑할 수 있다. 이와 같이, 공간 B의 공간 사용 패턴에 사용자 정보(연령/성별 등)이 추가되면, 최적 청소 시간/최적 청소 모드의 추론/예측 알고리즘 생성 정확도가 높아질 수 있다.
본 발명에 따르면, 유닛들로부터 취합한 주변 환경 및 사용자 공간 이용 패턴 정보를 통하여 최적의 청소 일정, 청소 모드를 설정할 수 있다. 또한, 본 발명에 따르면, 청소 일정 및 패턴을 자동으로 변경할 수 있다.
예를 들어, 이동 로봇(100) 및/또는 서버(70)는, 유닛들로부터 수신되는 센싱 데이터에 기초하여 먼지량, 온도, 습도 등 사용 환경 데이터 및 제품 사용 공간, 사용자 재실 시간, 취침 시간, 외출 시간, 장기간 집을 비운 경우 등 사용자 패턴을 판별할 수 있다.
이동 로봇(100) 및/또는 서버(70)는, 유닛들로부터 수신되는 센싱 데이터에 기초하여 다음과 같은 영역별 분석 리포트를 생성할 수 있고, 분석 리포트는 휴대 단말기(50) 등을 통하여 사용자에게 제공될 수도 있다.
-공간 A.
특징: 주 사용자 2명, 많은 머리카락, 카펫트 존재
온도, 습도: 22℃, 40% 내외
주사용 시간 : 오후 9시 - 익일 오전 6시
-공간 B.
특징: 주 사용자 1명, 적은 먼지
온도, 습도: 24℃, 40% 내외
주사용 시간 : 오후 11시 - 익일 오전 10시
-공간 C.
특징: 주 사용자 1명, 많은 먼지
온도, 습도: 18℃, 30% 내외
주사용 시간 : 오후 8시 - 익일 오전 6시
-공간 D
특징: 많은 사용자, 많은 먼지 발생
온도, 습도 : 22℃, 40% 내외
주사용 시간 : 오후 4시 - 오후 9시
또한, 이동 로봇(100) 및/또는 서버(70)는, 분석 리포트에 따른 청소 계획을 수립할 수 있다.
공간 별 사용자의 패턴을 인식하기 위해서는 현관/창문 센서를 가지고 있는 스마트씽큐 센서(35)와 같은 IoT 센서가 필요하다, 이동 로봇(100)은 언제 해당 공간에 있고, 형광등이 언제 켜있고, 언제 부재한 지 등 IoT 센서에서 확보한 사용자의 공간 사용 패턴 등을 파악할 수 있다.
또한, 이동 로봇(100) 및/또는 서버(70)는, 미세먼지 농도, 바닥 청결도 등 해당 공간의 청결도, 습도, 온도 등 환경 정보도 파악한 후, 해당 정보들을 기반으로 최적의 청소 모드와 최적의 청소 시간을 예측, 추론하여 청소 계획을 수립할 수 있다.
이동 로봇(100)은 수립된 청소 계획에 따라 자동으로 효율적으로 구동될 수 있다.
도 16a는 공간 A에 대한 분석 결과에 따라 생성된 청소 계획을 예시한다.
도 16a를 참조하면, 오후 9시부터 익일 오전 6시까지 사용되고, 많은 먼지가 발생하는 공간 A의 특성을 고려하여, 청소 모드 1로 집중 청소 모드(1610)가 설정되고 청소 모드 1에 대응하는 청소 시작 시간으로 월요일부터 금요일까지 평일 오전 9시(1615)가 설정될 수 있다.
또한, 카펫트가 존재하는 공간 특성을 고려하여 청소 모드 2로 스마트 터보 청소 모드(1620)가 설정되고 청소 모드 2에 대응하는 청소 시작 시간으로 월요일부터 금요일까지 평일 오후 6시(1625)가 설정될 수 있다.
이에 따라, 이동 로봇(100)은, 사용자가 공간 A를 떠난 뒤에 집중 청소를 수행하고, 사용자가 공간 A로 오기 전에 스마트 터보 청소를 수행할 수 있다.
도 16b는 공간 B에 대한 분석 결과에 따라 생성된 청소 계획을 예시한다.
도 16b를 참조하면, 오후 11시부터 익일 오전 10시까지 사용되고, 적은 먼지가 발생하는 공간 B의 특성을 고려하여, 빠르게 청소를 수행할 수 있도록 청소 모드 1로 지그재그 청소 모드(1630)가 설정되고 청소 모드 1에 대응하는 청소 시작 시간으로 월요일부터 금요일까지 평일 오전 11시(1645)가 설정될 수 있다.
또한, 청소 모드 2는 사용하지 않도록 설정(1640, 1645)되어 1회의 청소만 수행하도록 설정될 수 있다.
이에 따라, 이동 로봇(100)은, 사용자가 공간 B를 떠난 뒤에 빠르게 지그재그 청소를 수행할 수 있다.
한편, 사용자의 공간 사용 패턴에는 변화가 있을 수 있다. 또한, 공간 사용 패턴에 변화가 감지되면, 공간 사용 패턴 분석 결과에도 변경 사항이 발생한다.
다음은 공간 A와 공간 B의 변경된 분석 리포트를 예시한다. 공간 A에서는 주사용 시간에 변경 사항이 있고, 공간 B에서는 먼지 발생량 등 오염 관련 사항과 주사용 시간에 변경 사항이 있다.
-공간 A.
특징: 주 사용자 2명, 많은 머리카락, 카펫트 존재
온도, 습도: 22℃, 40% 내외
주사용 시간 : 오후 8시 - 익일 오전 7시
-공간 B.
특징: 주 사용자 1명, 많은 먼지, 러그 추가
온도, 습도: 24℃, 40% 내외
주사용 시간 : 오후 6시 - 익일 오전 8시
본 발명에 따르면, 주변 환경 및 사용자 패턴의 변경사항 여부를 지속적으로 모니터링하고, 변경 발생 시 이를 청소 일정, 패턴, 모드 적용에 반영할 수 있다.
도 17a는 공간 A에 대한 변경 사항을 포함하는 분석 결과에 따라 변경된 청소 계획을 예시한다.
도 17a를 참조하면, 오후 8시부터 익일 오전 7시까지 사용되고, 많은 먼지가 발생하는 공간 A의 특성을 고려하여, 청소 모드 1로 집중 청소 모드(1610)가 설정되고 청소 모드 1에 대응하는 청소 시작 시간은 월요일부터 금요일까지 평일 오전 6시(1715)로 변경될 수 있다.
또한, 카펫트가 존재하는 공간 특성을 고려하여 청소 모드 2로 집중 청소 및 스마트 터보 청소 모드(1720)가 설정되고 청소 모드 2에 대응하는 청소 시작 시간으로 월요일부터 금요일까지 평일 오후 6시(1625)가 설정될 수 있다.
이에 따라, 이동 로봇(100)은, 사용자가 공간 A를 떠난 뒤에 집중 청소를 수행하고, 사용자가 공간 A로 오기 전에 집중 청소 및 스마트 터보 청소를 수행할 수 있다.
도 17b는 공간 B에 대한 변경 사항을 포함하는 분석 결과에 따라 변경된 청소 계획을 예시한다.
도 16b를 참조하면, 오후 6시부터 익일 오전 8시까지 사용되고, 많은 먼지가 발생하는 공간 B의 특성을 고려하여, 청소 모드 1로 엣지 청소 모드(1730)가 설정되고 청소 모드 1에 대응하는 청소 시작 시간으로 월요일부터 금요일까지 평일 오전 10시(1735)가 설정될 수 있다.
또한, 청소 모드 2도 사용하도록 설정(1740, 1745)되어 2회의 청소를 수행하도록 설정될 수 있다. 청소 모드 2로 집중 청소 및 스마트 터보 청소 모드(1740)가 설정되고 청소 모드 2에 대응하는 청소 시작 시간으로 월요일부터 금요일까지 평일 오후 5시(1745)가 설정될 수 있다.
이에 따라, 이동 로봇(100)은, 사용자가 공간 B를 떠난 뒤에 엣지 청소를 수행하고, 사용자가 공간 B로 오기 전에 집중 청소 및 스마트 터보 청소를 수행할 수 있다.
실시예에 따라서는, 사용자 애플리케이션을 통해서 변경 사항 관련 정보만 제공하고 사용자가 직접 수동으로 청소 시간과 청소 모드를 입력하게 할 수 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 사용자에게 요청하기 전에 먼저 이동 로봇이 능동적으로 청소 계획을 수립하고, 추천함으로써, 사용자의 신뢰도, 선호도 및 제품 활용도를 높일 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 홈 어플라이언스, 사물인터넷(IoT) 기기들과 통신하여, 이동 로봇을 연동 제어함으로써, 사용자의 이용 편의성을 증대할 수 있다.
본 발명에 따른 이동 로봇은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 실시예에 따른 이동 로봇의 제어 방법은, 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
이동 로봇: 100
서버: 70
저장부: 105
본체: 110
영상획득부: 120
입력부: 125
제어부: 150
주행부: 160
센서부: 170
출력부: 180
통신부: 190

Claims (18)

  1. 복수의 영역을 포함하는 주행 구역에 대한 맵(map)을 생성하는 단계;
    하나 이상의 센서(sensor)를 포함하는 복수의 유닛을, 각각 상기 복수의 영역 중 특정 영역에 매핑(mapping)하는 단계;
    상기 복수의 유닛으로부터 센싱(sensing) 데이터를 수신하는 단계;
    상기 수신된 센싱 데이터를 해당 센서에 매핑된 영역에 연계하여 저장하는 단계;
    상기 복수의 영역을 포함하는 상기 주행 구역 내에서 복수의 사용자가 발화한 음성 데이터들을 획득하는 단계;
    상기 음성 데이터들을 사용자별로 분류하는 단계;
    상기 분류된 사용자별 음성 데이터를 각각 상기 복수의 영역 중 하나 이상의 영역에 매핑(mapping)하는 단계;를 포함하는 이동 로봇의 제어 방법.
  2. 제1항에 있어서,
    상기 유닛은,
    하나 이상의 정보를 센싱하는 센서이거나, 하나 이상의 센서를 포함하는 홈 어플라이언스(Home Appliance)인 것을 특징으로 하는 이동 로봇의 제어 방법.
  3. 제1항에 있어서,
    영상획득부를 통하여 획득되는 영상에 기초하여, 소정 영역에 배치된 유닛을 식별하는 단계;를 더 포함하고,
    상기 매핑 단계는, 상기 식별된 유닛을 상기 소정 영역에 매핑하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  4. 제3항에 있어서,
    상기 매핑 단계는, 상기 영역에서 통신부를 통하여 수신되는 상기 식별된 유닛이 송신한 신호의 신호 세기가 기준치 이상인 경우에 상기 식별된 유닛을 상기 소정 영역에 매핑하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  5. 제1항에 있어서,
    상기 매핑 단계는, 특정 위치에서 통신부를 통하여 수신되는 신호 세기가 기준치 이상인 유닛을 상기 특정 위치를 포함하는 영역에 매핑하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  6. 제1항에 있어서,
    상기 저장되는 영역별 센싱 데이터에 기초하여 상기 주행 구역 내 공간 사용 패턴을 판별하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  7. 제6항에 있어서,
    상기 공간 사용 패턴은 상기 영역별 사용 시간 정보를 포함하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  8. 제6항에 있어서,
    상기 공간 사용 패턴에 기초하여 상기 주행 구역에 대한 최적 청소 시간을 산출하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  9. 제8항에 있어서,
    상기 최적 청소 시간을 산출하는 단계는, 상기 복수의 영역 중 적어도 하나의 영역에 대한 최적 청소 시간을 산출하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  10. 제9항에 있어서,
    상기 최적 청소 시간을 산출하는 단계는 소정 영역이 일(day) 또는 주(week) 중 가장 적게 사용되는 시간을 상기 최적 청소 시간으로 산출하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  11. 제6항에 있어서,
    상기 공간 사용 패턴에 기초하여 상기 주행 구역에 대한 최적 청소 모드를 판별하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  12. 제6항에 있어서,
    상기 공간 사용 패턴에 대한 데이터를 휴대 단말기로 송신하는 단계;를 더 포함하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  13. 제6항에 있어서,
    상기 공간 사용 패턴에 기초하여 상기 복수의 영역 중 적어도 하나의 영역에 대한 청소 일정을 수립하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  14. 제13항에 있어서,
    상기 청소 일정은, 소정 영역에 대한 청소 시간, 상기 청소 시간에서의 청소 모드 설정을 포함하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  15. 제13항에 있어서,
    상기 수립된 청소 일정에 대한 데이터를 휴대 단말기로 송신하는 단계;를 더 포함하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  16. 삭제
  17. 제1항에 있어서,
    상기 분류된 사용자별 음성 데이터를 상기 음성 데이터들이 획득된 영역별로 분류하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  18. 제1항에 있어서,
    상기 복수의 영역에 대한 속성을 인식하는 단계;를 더 포함하고,
    상기 매핑 단계는, 상기 복수의 영역 중에서 전용 공간으로 인식된 영역에는 상기 복수의 사용자 중 하나 이상의 사용자를 매핑하고, 상기 복수의 영역 중에서 공용 공간으로 인식된 영역에는 상기 복수의 사용자 중 어느 사용자도 매핑하지 않는 것을 특징으로 하는 이동 로봇의 제어 방법.
KR1020180132870A 2018-07-23 2018-11-01 인공지능 이동 로봇의 제어 방법 KR102612827B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/005470 WO2020022622A1 (ko) 2018-07-23 2019-05-08 인공지능 이동 로봇의 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862701856P 2018-07-23 2018-07-23
US62/701,856 2018-07-23

Publications (2)

Publication Number Publication Date
KR20200068033A KR20200068033A (ko) 2020-06-15
KR102612827B1 true KR102612827B1 (ko) 2023-12-11

Family

ID=71081487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180132870A KR102612827B1 (ko) 2018-07-23 2018-11-01 인공지능 이동 로봇의 제어 방법

Country Status (1)

Country Link
KR (1) KR102612827B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230123344A (ko) * 2022-02-16 2023-08-23 삼성전자주식회사 로봇 청소기의 청소 동작을 제어하는 신발 관리 장치 및 그 제어 방법
WO2023219362A1 (ko) * 2022-05-13 2023-11-16 삼성전자 주식회사 무선 청소기가 거치되는 스테이션 장치 및 스테이션 장치의 통신 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018075167A (ja) * 2016-11-09 2018-05-17 トヨタホーム株式会社 掃除機制御システム
KR102071575B1 (ko) 2013-04-23 2020-01-30 삼성전자 주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100698380B1 (ko) * 2004-09-17 2007-03-23 전자부품연구원 능동적 다중 카메라를 통한 다중 생체정보 및 환경정보 처리 시스템 및 방법
KR101295003B1 (ko) * 2011-10-12 2013-08-16 한국과학기술연구원 지능 로봇, 지능 로봇과 사용자의 상호작용을 위한 시스템 및 지능 로봇과 사용자의 상호작용을 위한 방법
US10091015B2 (en) * 2014-12-16 2018-10-02 Microsoft Technology Licensing, Llc 3D mapping of internet of things devices
KR102521493B1 (ko) * 2015-10-27 2023-04-14 삼성전자주식회사 청소 로봇 및 그 제어방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102071575B1 (ko) 2013-04-23 2020-01-30 삼성전자 주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법
JP2018075167A (ja) * 2016-11-09 2018-05-17 トヨタホーム株式会社 掃除機制御システム

Also Published As

Publication number Publication date
KR20200068033A (ko) 2020-06-15

Similar Documents

Publication Publication Date Title
JP7395229B2 (ja) 状況認識のためのモバイル清掃ロボット人工知能
US11317778B2 (en) Mobile robot
KR102412850B1 (ko) 복수의 자율주행 이동 로봇
US9974422B2 (en) Robot cleaner and method for controlling a robot cleaner
US20190332119A1 (en) Mobile robot and method of controlling the same
KR102290983B1 (ko) 인공지능 이동 로봇의 제어 방법
KR102621350B1 (ko) 로봇 청소기 시스템 및 그 동작 방법
KR102612822B1 (ko) 인공지능 이동 로봇의 제어 방법
KR102314538B1 (ko) 인공지능 이동 로봇
KR102612827B1 (ko) 인공지능 이동 로봇의 제어 방법
EP3644154B1 (en) Controlling method for artificial intelligence moving robot
KR102423572B1 (ko) 인공지능 이동 로봇의 제어 방법
TWI808480B (zh) 移動式機器人、移動式機器人系統以及在移動式機器人系統中執行協作行駛的方法
TWI804973B (zh) 在待清掃區內行駛的移動式機器人、移動式機器人系統及其執行協作行駛的方法
TWI789896B (zh) 移動式機器人系統以及執行移動式機器人的協作行駛的方法
TWI760881B (zh) 清掃機器人及其控制方法
CN112805128B (en) Artificial intelligent mobile robot
KR102508073B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
KR102201143B1 (ko) 인공지능 이동 로봇 및 그 제어 방법
KR20200115691A (ko) 이동 로봇 및 이동 로봇의 제어방법
US20220230637A1 (en) Method of controlling electronic devices
KR20240040180A (ko) 이동 로봇
KR20220046999A (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