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

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

Info

Publication number
KR102612822B1
KR102612822B1 KR1020180132869A KR20180132869A KR102612822B1 KR 102612822 B1 KR102612822 B1 KR 102612822B1 KR 1020180132869 A KR1020180132869 A KR 1020180132869A KR 20180132869 A KR20180132869 A KR 20180132869A KR 102612822 B1 KR102612822 B1 KR 102612822B1
Authority
KR
South Korea
Prior art keywords
mobile robot
user
area
cleaning
areas
Prior art date
Application number
KR1020180132869A
Other languages
English (en)
Other versions
KR20200068032A (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/005467 priority Critical patent/WO2020022621A1/ko
Publication of KR20200068032A publication Critical patent/KR20200068032A/ko
Application granted granted Critical
Publication of KR102612822B1 publication Critical patent/KR102612822B1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • 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

Abstract

본 발명의 일 측면에 따른 인공지능 이동 로봇의 제어방법은, 복수의 영역을 포함하는 주행 구역 내에서 복수의 사용자가 발화한 음성 데이터들을 획득하는 단계, 음성 데이터들을 사용자별로 분류하는 단계, 및, 상기 분류된 사용자별 음성 데이터를 각각 상기 복수의 영역 중 하나 이상의 영역에 매핑(mapping)하는 단계를 포함하여, 음성과 공간 정보를 매핑할 수 있다.

Description

인공지능 이동 로봇의 제어 방법{Controlling method for Artificial intelligence Moving robot}
본 발명은 이동 로봇 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는 학습된 인공지능 기반의 사용자 맞춤형 서비스를 제공할 수 있는 이동 로봇 및 그 제어 방법에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다.
가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기로, 로봇 청소기는 일정 영역을 스스로 주행하면서, 주변의 먼지 또는 이물질을 흡입함으로써, 해당 영역을 청소하는 기기이다.
이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다.
한편, 사용자의 사용 편의성을 향상하기 위하여 다양한 기기에 음성 인식 기술이 적용되고 있고, 음성 인식 기술을 이용하여 이동 로봇을 제어하는 방안에 대한 연구가 증가하고 있다.
예를 들어, 선행 문헌 1(한국 공개특허공보 10-2012-0114670호, 공개일자 2012년 10월 17일)은 로봇 청소기가 음성 인식 유닛을 구비하고 사용자의 음성 신호를 인식하여 대응하는 제어 명령을 실행하고 있다.
선행 문헌 1에서는, 음성 입력이 사용자에서 로봇 청소기로 단방향으로 이루어져서, 버튼을 누르거나 리모콘으로 조작하는 제어동작의 추가적인 수단에서 머무르고 있다. 따라서, 음성 인식 기능이 사용자에게 단순한 제어 이상의 의미를 주기 힘들고, 제어 입력 수단의 추가 이외에 다른 기능 및 서비스를 제공하지 못한다는 한계가 있었다.
음성 인식을 하나의 제어 입력 수단으로만 이용하는데 그치는 선행 문헌1의 한계를 넘어, 본 발명의 목적은 음성과 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있는 이동 로봇 및 그 제어 방법을 제공함에 있다.
본 발명의 목적은, 주행 구역 내 복수의 영역들의 속성을 인식할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명의 목적은, 영역 속성 인식 결과를 편리하게 이용할 수 있어, 사용자의 편의성을 향상할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.
본 발명의 목적은 이동 로봇이 능동적으로 사용자에게 다양한 정보와 서비스를 사용자에게 제공함에 있다.
본 발명의 목적은 사용자의 제품 신뢰도 및 선호도를 향상할 수 있도록 사용자 친화적인 동작을 수행할 수 있는 이동 로봇 및 그 제어 방법을 제공함에 있다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇의 제어방법은, 복수의 사용자가 발화한 음성 데이터들을 획득하는 단계, 음성 데이터들을 사용자별로 분류하는 단계, 및, 상기 분류된 사용자별 음성 데이터를 주행 구역에 포함되는 복수의 영역 중 하나 이상의 영역에 매핑(mapping)하는 단계를 포함하여, 음성과 공간 정보를 매핑할 수 있다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇의 제어방법은, 사용자의 청소 명령을 포함하는 음성 입력을 수신하는 단계, 상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하는 단계, 및, 상기 식별된 사용자에 기초하여, 주행 구역에 포함되는 복수의 영역 중 적어도 일부 영역을 청소하는 단계를 포함할 수 있다.
본 발명의 실시예들 중 적어도 하나에 의하면, 이동 로봇은, 음성과 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 요청하기 전에 먼저 이동 로봇이 능동적으로 정보를 제공하고, 서비스, 기능 등을 추천함으로써, 사용자의 신뢰도, 선호도 및 제품 활용도를 높일 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 주행 구역 내 복수의 영역들의 속성을 인식할 수 있고, 영역 속성 인식 결과를 편리하게 이용할 수 있어, 사용자의 편의성을 향상할 수 있다.
또한, 본 발명의 실시예들 중 적어도 하나에 의하면, 음성 인식, 영역 인식, 제품 데이터 분석 등에 인공지능과 딥러닝을 활용함으로써, 진화하는 사용자 경험(ux)을 제공할 수 있다.
한편, 그 외의 다양한 효과는 후술될 본 발명의 실시예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.
도 1은 본 발명의 일 실시예에 따른 홈 어플라이언스 네트워크 시스템 구성도이다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇을 도시하는 사시도이다.
도 3은 도 2의 이동 로봇의 평면도이다.
도 4는 도 2의 이동 로봇의 측면도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 제품 데이터(product data)를 이용한 학습(Learning)에 대한 설명에 참조되는 도면이다.
도 7은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 8은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 9는 본 발명의 일 실시예에 따른 음성 분류에 관한 설명에 참조되는 도면이다.
도 10과 도 11은 본 발명의 일 실시예에 따른 공간 인식에 관한 설명에 참조되는 도면이다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따른 음성과 공간 매핑에 관한 설명에 참조되는 도면이다.
도 13은 본 발명의 일 실시예에 따른 매핑 정보 및 설정에 관한 설명에 참조되는 도면이다.
도 14는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 15, 도 16a 및 도 16b는 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나 본 발명이 이러한 실시예에 한정되는 것은 아니며 다양한 형태로 변형될 수 있음은 물론이다.
도면에서는 본 발명을 명확하고 간략하게 설명하기 위하여 설명과 관계없는 부분의 도시를 생략하였으며, 명세서 전체를 통하여 동일 또는 극히 유사한 부분에 대해서는 동일한 도면 참조부호를 사용한다.
한편, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
본 발명의 일 실시예에 따른 이동 로봇(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)이 능동적으로 먼저 정보를 제공하거나 기능, 서비스를 추천하는 음성을 출력함으로써 사용자에게 더욱 다양하고 적극적인 제어 기능을 제공할 수 있다.
도 8은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 8을 참조하면, 이동 로봇(100)은 복수의 영역을 포함하는 주행 구역 내에서 복수의 사용자가 발화한 음성 데이터들을 획득할 수 있다(S810).
이동 로봇(100)은 주행 구역을 주행하면서 마이크를 통하여 사용자들의 음성 데이터들을 획득할 수 있다. 실시예에 따라서, 이동 로봇(100)은 홈 어플라이언스 네트워크 시스템에 포함되는 다른 기기들로부터 음성 데이터를 수신하여 획득할 수 있다.
한편, 획득된 상기 음성 데이터들은 사용자별로 분류될 수 있다(S820). 예를 들어, 소정 기간 복수의 장소에서 획득된 복수의 사용자의 음성이 사용자별로 분류될 수 있다.
실시예에 따라서, 상기 음성 데이터의 분류 단계(S820)에서 사용자 식별 및 분류 작업은 제어부(150)에서 수행될 수 있다.
또는 상기 음성 데이터의 분류 단계(S820)에서 사용자 식별 및 분류 작업은 서버(70)의 학습모듈(740)에서 수행되고, 이동 로봇(100)은 통신부(190)를 통하여 상기 서버(70)로부터 분류된 정보를 수신하는 방식으로 이루어질 수도 있다. 이 경우에, 상기 음성 데이터의 분류 단계(S820)는 상기 이동 로봇(100)이 상기 서버(70)로 획득된 음성 데이터를 송신하는 단계와 상기 이동 로봇(100)이 상기 서버(70)로부터 분류 결과를 포함하는 데이터를 수신하는 단계를 포함할 수 있다.
한편, 제어부(150)는 마이크를 통하여 획득된 음성 데이터를 인식할 수 있다(S815). 음성 인식(S815) 결과 사용자가 이동 로봇(100)에 소정 명령을 입력한 것이면, 제어부(150)는, 인식된 명령에 대응하는 동작을 수행하도록 제어할 수 있다.
또한, 제어부(150)는 음성 인식(S815) 결과에 기초하여, 해당 음성의 사용자를 식별할 수 있다. 실시예에 따라서, 제어부(150)는 획득된 음성 데이터들을 사용자별로 분류할 수 있다(S820).
도 9는 본 발명의 일 실시예에 따른 음성 분류에 관한 설명에 참조되는 도면으로, 음성 분류의 한 방법을 예시한다.
이동 로봇(100)은 주행 구역을 주행하며 청소 등 소정 동작을 수행할 수 있다. 예를 들어, 이동 로봇(100)을 가정에서 사용하는 경우에, 이동 로봇(100)의 주행 구역은 집 내부 공간일 수 있다.
도 9를 참조하면, 이동 로봇(100)을 사용하는 사용자들은, 3인의 가족 구성원-사용자 A, 사용자 B, 사용자 C일 수 있다.
한편, 사용자의 음성 입력은 등록 모드에서 수행될 수도 있다.
이동 로봇(100)이 등록 모드로 설정된 상태에서, 사용자 A, 사용자 B, 사용자 C는 각각 자신의 목소리를 등록할 수 있다. 더욱 바람직하게는 가이드(guide)로 제공되는 몇몇 문장을 사용자들이 발화하여 자신의 목소리를 입력할 수 있다.
또는, 이동 로봇(100)은 소정시간 동안 집 내부에서 가족 구성원, 기타 거주자 등 복수의 사용자의 음성 데이터를 수집할 수 있다.
이동 로봇(100)은, 소정시간 동안 동작하며 주행 구역 내 여러 장소에서 사용자 A가 발화한 음성 데이터(910a), 사용자 B가 발화한 음성 데이터(910b), 사용자 C가 발화한 음성 데이터(910c)를 획득할 수 있다.
제어부(150) 및/또는 학습모듈(740)은 획득된 음성 데이터(910a, 910b, 910c)를 입력 데이터로 사용하여 음성을 인식하도록 학습될 수 있다. 학습 방법으로는 딥러닝이 사용될 수 있고, 제어부(150) 및/또는 학습모듈(740)은 음성을 인식하는 음성 인식기(920)를 포함할 수 있다.
한편, 음성 인식기(920)는 자연어로 입력되는 음성 데이터로부터 내용을 인식할 수 있을 뿐만 아니라 입력되는 음성이 누구의 것인지 식별하도록 학습될 수 있다. 이를 위해, 음성 인식기(920)는 딥러닝으로 학습된 특징 추출기(921)를 포함할 수 있다. 예를 들어, 등록된 기존 클래스(class)에 속하는지, 아닌지 판단하는 메트릭 러닝(Metric learning) 등 사용자 음성 식별(identification) 알고리즘을 이용할 수 있다. 딥러닝 등을 이용하여 만들어진 특징 추출기(921)는 입력되는 음성으로부터 특징을 추출하도록 학습된 모델을 포함할 수 있다.
또한, 음성 인식기(920)는 추출된 데이터 특징들을 분류할 수 있다. 도 9는 추출된 데이터 특징들이 학습된 모델에 따라 분류되는 것을 시각화(visualization)한 것이다.
도 9를 참조하면, 사용자 A가 발화한 음성 데이터(910a), 사용자 B가 발화한 음성 데이터(910b), 사용자 C가 발화한 음성 데이터(910c)는, 각각 제1 클래스(923a), 제2 클래스(923b), 제3 클래스(923c)로 분류될 수 있다. 또한, 음성 인식기(920)는 제1 클래스(923a), 제2 클래스(923b), 제3 클래스(923c)를 각각 사용자 A, 사용자 B, 사용자 C에 매핑하여 사용자 데이터베이스에 저장하고 관리할 수 있다.
이동 로봇(100)은 학습 상태에 따라 디스플레이(182)를 통하여 완료를 표시할 수 있다.
본 발명의 일 실시예에 따르면, 사용자를 음성으로 식별하여 다양한 사용자에게 사용자 맞춤 기능을 제공할 수 있고, 개인화된 사용자 경험(UX)을 제공할 수 있다. 또한, 본 발명의 일 실시예에 따르면, 음성과 공간에 대한 정보를 매핑(mapping)하여 다양한 서비스를 제공할 수 있다.
이후, 특정 사용자의 음성이 입력되면, 음성 인식기(920)는 입력된 음성 데이터에서 특징을 추출하고, 제1 클래스(923a), 제2 클래스(923b), 제3 클래스(923c) 등 사용자 데이터베이스를 검색하여 유사한 사용자가 있는지 판별할 수 있다.
만약 사용자 데이터베이스에서 소정 기준 범위 내 유사한 특징을 가지는 사용자가 있다면, 음성을 발화한 사용자를 가장 유사한 사용자로 인식할 수 있다.
만약 사용자 데이터베이스에서 소정 기준 범위 내 유사한 특징을 가지는 사용자가 없다면, 기준 범위를 벗어나는 사용자 중 가장 유사한 사용자를 제시하거나 검색 실패로 알릴 수 있다.
이동 로봇(100)은 복수의 영역을 포함하는 주행 구역 내에서 복수의 사용자가 발화한 음성 데이터들을 획득할 수 있고(S810), 도 9에서 예시된 방법 등으로 사전에 학습된 데이터에 기초하여 획득된 음성 데이터들은 사용자별로 분류될 수 있다(S820).
예를 들어, 이동 로봇(100)은 획득된 음성 데이터(910a)를 인식하여 발화자로 사용자 A를 식별할 수 있다.
한편, 제어부(150) 및/또는 학습모듈(740)은 상기 분류된 사용자별 음성 데이터를 각각 주행 구역에 포함되는 복수의 영역 중 하나 이상의 영역에 매핑(mapping)할 수 있다(S830).
이를 위해, 제어부(150) 및/또는 학습모듈(740)은 이동 로봇(100)이 주행 구역을 주행하면서 생성한 맵을 활용할 수 있다.
도 10과 도 11은 본 발명의 일 실시예에 따른 공간 인식에 관한 설명에 참조되는 도면으로, 도 10은 본 발명의 일 실시예에 따른 이동 로봇의 영역 구분 및 그에 따른 맵 생성의 예를 도시하고, 도 11은 영역의 속성 인식 예를 도시한다.
도 10의 (a)에 도시된 바와 같이, 이동 로봇(100)은 저장된 맵이 존재하지 않는 경우, 월팔로윙을 통해 주행 구역(X1)을 주행하면서 맵을 생성할 수 있다.
지도생성모듈(152)은 도 10의(b)에 도시된 바와 같이, 주행 구역(X1)을 복수의 영역(A1' 내지 A9')으로 구분하여 도 10의 (c)와 같이 맵을 생성한다. 생성된 맵은 저장부(105)에 저장되고, 통신부(190)를 통해 외부 단말기, 서버로 전송된다. 지도생성모듈(152)은 전술한 바와 같이 주행 구역(X1)에 대하여 소영역과 대영역을 구분하고 그에 따른 맵을 생성한다.
단말은 애플리케이션을 실행하고, 수신된 맵을 화면에 표시한다. 이때 구분된 복수의 영역(A1 내지 A9)을 각각 상이하게 표시한다. 맵은 복수의 영역(A1 내지 A9)이 각각 상이한 색상으로 표시되거나 또는 상이한 이름이 표시된다.
이동 로봇과 단말은 동일한 맵을 저장하는 것을 기본으로 하나, 단말에는 사용자가 영역을 쉽게 인식할 수 있도록 도 10의 (c)와 같이 영역을 단순화한 사용자맵이 표시되도록 하고, 이동 로봇은, 장애물에 대한 정보가 포함된 도 6의 (b)와 같은 맵을 바탕으로 주행 및 청소를 수행한다. 도 10의 (c)의 사용자 맵에도 장애물이 표시될 수 있다. 도 10의 (b)에서 예시된 맵은 SLAM 맵 이거나 SLAM 맵에 기반한 내비게이션 맵일 수 있다.
이동 로봇(100)은 청소명령이 입력되면, 저장된 맵을 바탕으로, 현재 위치를 판단하고, 현재 위치와 맵 상의 위치가 일치하는 경우에는 지정된 청소를 수행하고, 현재 위치가 일치하지 않는 경우, 현재 위치를 인식하여 복구한 후 청소를 수행한다. 따라서 이동 로봇(100)은 복수의 영역(A1 내지 A9) 중 어느 위치에 있더라도 현재 위치를 판단 한 후 지정영역으로 이동하여 청소를 수행할 수 있다.
리모컨 또는 단말은 도시된 바와 같이, 복수의 영역(A1 내지 A9) 중 적어도 하나의 영역을 선택하여 이동 로봇(100)으로 청소명령을 입력할 수 있다. 또한, 이동 로봇(100)은 리모컨 또는 단말을 통해 어느 하나의 영역의 일부를 청소영역으로 설정하거나, 복수의 영역에 대하여 영역 구분없이 터치 또는 드래그를 통해 청소영역을 설정할 수 있다.
복수의 영역에 대하여 청소명령이 입력되는 경우, 어느 하나의 영역을 우선영역으로 설정하거나, 우선영역을 시작한 후 근거리인 영역으로 이동하여 청소할 수 있으며, 또는 청소순서를 설정할 수 있다. 이동 로봇(100)은 복수의 지정영역에 대하여 청소순서가 설정된 경우 지정된 순서에 따라 이동하며 청소를 수행한다. 이동 로봇(100)은 복수의 청소영역에 대하여, 별도의 순서가 지정되지 않은 경우에는 현재 위치로부터 가까운 영역으로 이동하여 청소를 수행할 수 있다.
실시예에 따라서, 이동 로봇(100)은 주행 구역(X1)에 포함되는 복수의 영역(A1 내지 A9)의 속성을 인식할 수 있다.
도 11을 참조하면, 내비게이션 맵(900)은 복수의 로컬 맵(LM1, LM2, LM3, LM4, LM5, ...)을 포함할 수 있다. 상기 내비게이션 맵은, 복수의 영역으로 구분되고, 각 영역은 하나 이상의 로컬 맵을 포함할 수 있다. 각 로컬 맵은 서로 겹치지 않도록 설정된다.
상기 로컬 맵들(LM1, LM2, LM3, LM4, LM5)은 일종의 단위 맵으로서 임의의 크기로 설정 가능하다. 예를 들어, 도 11과 같이, 로컬 맵들(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)는, 각 로컬 맵들의 사물 인식 결과와 영역 인식 결과들을 통합하여 최종 결론 도출하고, 복수의 의미 맵을 포함하는 계층 맵을 구성할 수 있다.
도 11을 참조하면, 제어부(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으로 처리할 수 있다.
제어부(150) 및/또는 학습모듈(740)은 상기 분류된 사용자별 음성 데이터를 소정 영역에 매핑(mapping)할 수 있다(S830).
이를 위해, 제어부(150)는 사용자별 음성 통계를 작성할 수 있다. 예를 들어, 사용자별 음성 통계는 특정 사용자가 음성을 발화한 영역 별로 발화 횟수를 누적하여 생성할 수 있다.
제어부(150)는 상기 분류된 사용자별 음성 데이터를 상기 음성 데이터들이 획득된 영역별로 분류할 수 있다. 이 경우에, 제어부(150)는 소정 사용자가 가장 많이 발화한 영역을, 상기 소정 사용자에 매핑할 수 있다.
음성 통계를 작성하기 위한 발화 빈도 측정은 주행 구역을 주행하는 이동 로봇(100)에서 수행될 수 있다.
또한, 음성 통계를 작성하기 위한 발화 빈도 측정은 이동 로봇(100)뿐만 아니라 각 방에 고정되어 있는 음성 인식기(세탁기, 냉장고, 에어컨, 공기 청정기, AI agent 등)이나 비고정형 음성 인식기(스마트폰, 스마트 워치)를 통해서 수행될 수 있다. 이때, 비고정형 음성 인식기는 다시 와이파이(wifi) 신호 강도 등을 통해 현재 기기의 위치를 유추하고, 그 결과에 신뢰도가 높을 경우, 통계를 계산하는 데 사용할 수 있다.
본 발명의 일 실시예에 따르면, 음성 인식기를 구비하고 있는 기기에서 수집된 음성 데이터를 공유하여, 음성 통계를 생성할 수 있다.
한편, 음성 통계 작성을 위한 음성 데이터 수집이 기준치 미만인 사용자가 있는 경우에, 이동 로봇(100)은, 출력부(180)를 통하여 음성 입력을 유도하는 메시지를 출력할 수 있다. 또는, 이동 로봇(100)은, 서버(70), 휴대 단말기(50) 등으로 음성 입력이 필요하다는 것을 알리는 데이터를 송신할 수 있다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따른 음성과 공간 매핑에 관한 설명에 참조되는 도면으로, 도 12a, 도 12b, 도 12c는 각각 사용자 A, 사용자 B, 사용자 C의 음성 통계를 예시한다.
이동 로봇(100)은 주행 구역을 주행하면서 영역을 인식하여, 영역 1, 영역 2... 영역 N을 구분할 수 있다.
더 바람직하게는 이동 로봇(100)은 주행 구역을 주행하면서 거실, 주방, 방 창고 등 영역의 속성을 인식할 수 있다. 제어부(150)는 복수의 영역에 대한 속성을 인식할 수 있다. 이동 로봇(100)은, 주행 구역을 주행할 수 있고, 주행 중에 영상획득부(120)를 통하여, 복수의 영상을 획득할 수 있다. 제어부(150)는, 획득된 복수의 영상에 기초하여 주행 구역에 포함되는 복수의 영역의 속성을 인식할 수 있다.
도 11을 참조하여 설명한 것과 같이, 이동 로봇(100)은 복수의 로컬(local) 맵(map)을 포함하는 맵에 기반하여 이동할 수 있고, 제어부(150)는, 상기 로컬 맵들의 속성 인식 결과들 중 인접한 로컬 맵들에 대한 속성 인식 결과들에 기초하여 소정 영역의 속성을 인식할 수 있다.
이렇게 인식된 영역은 사용자 영역 후보군으로 선정되어 후보군별 음성 획득 횟수가 카운팅(counting)될 수 있다.
실시예에 따라서, 제어부(150)는, 상기 복수의 영역 중에서 전용 공간으로 인식된 영역에는 상기 복수의 사용자 중 하나 이상의 사용자를 매핑할 수 있다. 예를 들어, 방들은 소정 사용자의 전용 공간으로 분류될 수 있다. 전용 공간에는 1인 이상의 사용자가 매핑될 수 있다. 예를 들어, 안방에는 부부 2인이 매핑되고, 다른 방에는 1인 이상의 아이가 매핑될 수 있다.
또한, 제어부(150)는, 상기 복수의 영역 중에서 공용 공간으로 인식된 영역에는, 사용자를 매핑하지 않을 수 있다. 예를 들어, 거실, 주방 등은 공용 공간으로 특정 사용자만을 단독으로 매핑하지 않는 것이 바람직하다.
경우에 따라서, 용자 음성과 공간 매핑(Voice & space mapping)은 휴대 단말기(50)를 통한 사용자 입력으로 수동 설정될 수도 있다. 또한, 전용 공간 및 공용 공간의 설정은 휴대 단말기(50)를 통한 사용자 입력으로 수동 설정될 수도 있다.
도 12a, 도 12b, 도 12c는 공간 인식 결과를 바탕으로 만든 사용자 영역 후보군으로 방A, 방B, 방C, 거실, 주방을 예시한다.
도 12a를 참조하면, 사용자 A는 방A의 발화 빈도 수가 가장 많다. 따라서, 제어부(150)는, 사용자 A와 방A를 매핑할 수 있다. 즉, 제어부(150)는 사용자별로 최빈 발화 영역을 찾아 사용자에게 매핑할 수 있다.
도 12b를 참조하면, 사용자 B는 방B와 거실의 발화 빈도 수가 가장 많다.
도 12b의 예와 같이, 최빈 발화 영역이 동점인 경우에, 제어부(150)는 동점인 영역 방B와 거실을 모두 사용자 B에 매핑할 수 있다. 더욱 바람직하게는, 최빈 발화 영역이 동점이지만, 거실은 공용 구간이므로 방B를 사용자 B의 사용자 영역으로 선정될 수 있다. 따라서, 제어부(150)는, 사용자 B와 방B를 매핑할 수 있다.
도 12c를 참조하면, 사용자 C는 방C의 발화 빈도 수가 가장 많다. 따라서, 제어부(150)는, 사용자 C와 방C를 매핑할 수 있다.
도 13은 본 발명의 일 실시예에 따른 매핑 정보 및 설정에 관한 설명에 참조되는 도면이다.
도 13을 참조하면, 방A에는 가족 구성원 중 부부(부모)가 매핑될 수 있고, 방B에는 가족 구성원 중 자녀 1이 매핑될 수 있으며, 방C에는 가족 구성원 중 자녀 2가 매핑될 수 있다.
실시예에 따라서, 영역 또는 사용자를 기준으로 청소 모드, 청소 순서의 설정도 가능하다.
예를 들어, 방A에는 복수의 청소 모드 중 B 청소 모드가 설정될 수 있다. 또한, 방A에는 흡입력이 자동으로 조절되는 스마트 터보 기능이 설정될 수 있다. 한편, 방B에는 A 청소 모드가 설정되고, 방C에는 B 청소 모드가 설정될 수 있다.
이에 따라, 영역별 청소 모드 설정 및 변경이 가능하다. 특히, 사용자의 음성 분류 데이터 및 사용자별 주 사용 영역을 기반으로 청소 모드를 설정하거나 변경할 수 있다.
더욱 바람직하게는, 사용자의 이동 로봇(100) 사용 이력(history)에 따라 청소 모드를 변경할 수 있다. 이를 위해, 제어부(150)는, 상기 분류된 사용자별로 사용 이력을 학습할 수 있고, 상기 사용 이력에 기초하여 상기 사용자별로 청소 모드를 설정할 수 있다. 예를 들어, 특정 청소 모드를 자주 사용하는 사용자에 매핑된 영역에는 대응하는 사용자가 자주 쓰는 청소 모드를 자동으로 설정할 수 있다.
또는, 사용자를 기준으로 청소 모드를 설정할 수도 있다. 예를 들어, 자녀 1에게는 A 청소 모드가 설정되고, 자녀 2에게는 B 청소 모드가 설정될 수 있다.
본 발명에 따르면, 음성으로 분류된 사용자의 고유 영역을 파악하여 사용자와 공간을 매핑할 수 있다.
제어부(150)는, 공간 인식 결과를 바탕으로 사용자 영역 후보군을 설정하고, 영역 당 사용자 발화 빈도 측정하여, 각 사용자 당 최빈 발화 영역을 해당 사용자의 영역으로 할당할 수 있다.
이후, 사용자 음성을 이용하여 매핑된 사용자 영역을 이용하여, 사용자 맞춤형 서비스를 제공할 수 있다. 예를 들어, 사용자가 '청소해줘'와 같은 청소 명령을 포함하는 음성 명령을 입력하면, 이동 로봇(100)은 사용자에 매핑된 영역만을 청소하거나 사용자에 매핑된 영역을 우선적으로 청소할 수 있다.
실시예에 따라서는, 거실 및 주방 같은 공용 구간은 특정 사용자 영역으로 직접 할당하지 않을 수 있다. 이 경우에도 필요에 따라 음성 및 영역에 대한 정보를 사용할 수 있다. 예를 들어, 사용자 B가‘내가 자주 다니는데 좀 청소해봐‘라고 음성 명령을 입력하면, 이동 로봇(100)은 방B와 거실 청소를 시작할 수 있다.
한편, 사용자와 영역의 매핑은 수동으로도 가능하다, 예를 들어, 사용자는 휴대 단말기(50)로 이동 로봇(100)과 관련된 애플리케이션을 실행한 후에, 맵 상의 영역들에 특정 사용자를 수동으로 입력하여 사용자와 영역을 매핑할 수 있다.
한편, 사용자가 맵 상에 수동으로 사용자 음성과 공간 매핑(Voice & space mapping)에 대한 입력을 진행한 경우에도, “내가 자주 다니는...“ 등의 명령 수행을 위해 자동으로 매핑 단계(S830)를 수행할 수 있다.
또한, 제어부(150)는, 상기 복수의 영역 중 매핑되지 않은 영역에 대한 안내 메시지를 출력하도록 출력부(180)를 제어할 수 있다. 또는, 제어부(150)는, 상기 복수의 영역 중 매핑되지 않은 영역에 대한 안내 메시지를 출력하기 위한 소정 신호를 서버(70) 또는 휴대 단말기(50)로 송신하도록 통신부(190)를 제어할 수 있다.
사용자는 3명인데, 2명만 각자의 공간(space)이 매핑된 경우, 혹은 방이 4개인데, 3개만 매핑된 경우 등 실제 사용자와 방이 완전히(fully) 매칭되지 않은 경우, 이동 로봇(100)은 매핑되지 않은 사람이나, 장소에 대해 다양한 방법을 통해 매핑을 요청할 수 있다.
실시예에 따라서는, 매핑을 자동으로 수행한 후에, 사용자의 컨펌을 받는 과정이 존재할 수 있다.
한편, 매핑에는 복수의 발화 음성 데이터를 획득하고, 빈도 수를 영역 별로 체크하는 시간이 필요하므로, '자동 설정은 20일 이후 사용할 수 있습니다.' 라는 안내 메시지를 오디오 또는 영상으로 출력하여, 현재 공간 매핑과 관련된 서비스를 이용할 수 없음을 알릴 수 있다.
한편, 사용자와 공간 매핑이 된 상태에서, 이동 로봇(100)은, 복수의 사용자 중 어느 한 사용자의 청소 명령을 포함하는 음성 입력을 수신할 수 있고(S840). 음성 인식을 수행하여 사용자가 입력한 청소 명령 등 발화 내용을 판별할 수 있다(S850).
또한, 제어부(150)는, 상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하고(S860), 식별된 발화자와 매핑된 영역에 기초하여 동작하도록 제어할 수 있다(S870). 예를 들어, 제어부(150)는, 상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역을 청소하도록 제어할 수 있다. 제어부(150)는, 상기 복수의 영역을 각 영역별로 설정된 청소 모드에 따라 청소하도록 제어할 수 있다.
또한, 제어부(150)는, 상기 식별된 사용자에 매핑된 영역을 가장 먼저 청소하도록 제어할 수 있다. 또는 제어부(150)는, 상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역만을 청소하도록 제어할 수 있다.
본 발명은 음성에 따른 사용자 분류 및 공간 매핑을 결합하여, 이동 로봇(100)의 청소 영역, 청소 모드 및 청소 시간을 설정할 수 있다.
먼저, 발화된 사용자의 음성을 사용자별로 분류하고 식별한다(S860). 예를 들어, “내 방 깨끗이 해줘”라는 발화 음성을 인식하여 발화자를‘가족구성원1’ 로 분류할 수 있다.
또한, 분류된 사용자의 고유 영역을 파악할 수 있고(S870), 음성분류 및 영역을 기반으로 청소 모드를 변경할 수 있다(S870). 예를 들어, 이동 로봇(100)은‘가족구성원1’에 매핑된 영역 ‘방1’을 ‘꼼꼼청소모드’로 청소할 수 있다.
또한, 청소 후, 이동 로봇(100)은 사용자 피드백을 기반으로 설정 내용을 업데이트(update)할 수 있다. 예를 들어, 제어부(150)는,‘가족구성원1’의 지속적 청소 요구 발화를 감지함에 따라, 자동으로‘방1’에 대한 청소 모드 설정을 ‘꼼꼼청소모드’로 변경할 수 있다.
본 발명에 따르면, 사용자 음성 분류 데이터 및 사용 영역 기반으로 청소 모드를 변경하고 개인화할 수 있다. 예를 들어, 사용자 A가 꼼꼼청소 모드를 자주 쓰면 사용자 A에 매핑된 영역에는 꼼꼼청소 모드를 설정하고, 청소를 자주 요청하는 사용자 B에 매핑된 영역에 꼼꼼청소 모드를 설정할 수 있다. 또한, 청소 순서, 청소 시간 등을 설정하는 것도 가능하다.
본 발명에 따른 이동 로봇(100)은, 집안 공간 구성, 사용자 목소리, 사용자별 주사용 청소 모드 등을 학습할 수 있다.
이동 로봇(100)은 학습 데이터 기반으로 공간과 사용자 목소리를 매핑할 수 있고, 학습 데이터 기반으로 영역, 사용자 별 청소 모드 변경 기능을 제공하거나, 'LG', 'R9' 등 기동어 발화 시 발화한 사용자와 매칭된 공간을 먼저 청소할 수 있다.
또한, 이동 로봇(100)은 사용자의 목소리로 남/녀, 나이(어른/아이) 등을 구분하여, “아이들이 노는 방 청소해줘“, “할머니 방은 꼼꼼 청소해 줘“ 등의 명령을 수행할 수 있다.
이에 따라, 여러 사용자가 하나의 이동 로봇(100)을 사용할 때 각자의 공간을 쉽게 청소할 수 있다. 또한, 다양한 사용자에게 사용자 맞춤 기능을 제공할 수 있다.
도 14는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이고, 도 15, 도 16a 및 도 16b는 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
도 14를 참조하면, 이동 로봇(100)은, 입력부(125)의 마이크를 통하여 사용자의 청소 명령을 포함하는 음성 입력을 수신할 수 있다(S1410).
제어부(150)는, 직접 음성 인식을 수행하여 사용자가 입력한 청소 명령 등 발화 내용을 판별할 수 있다(S1420).
또는 입력된 음성 데이터를 서버(70)로 송신하고, 서버(70)로부터 수신되는 인식 결과 데이터를 확인하여, 제어부(150)는, 사용자가 입력한 청소 명령 등 발화 내용을 판별할 수 있다(S1420).
도 15를 참조하면, 사용자(1510)는 "R9, 내 방 청소해줘“와 같이 이동 로봇(100)을 호출하는 기설정된 기동어 'R9'와 '청소'를 포함하는 음성(1511)을 발화할 수 있다. 또는 사용자(1510)는 기동어 'R9'를 먼저 말하고, 소정 시간 이내에 "내 방 청소해줘“와 같이 청소 명령을 포함하는 음성을 발화할 수 있다.
한편, 제어부(150)는, 상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하고(S1430), 식별된 발화자와 매핑된 영역에 기초하여 동작하도록 제어할 수 있다(S1440).
도 15의 예에서, 이동 로봇(100)은 사용자(1510)의 음성을 식별하여 사용자(1510)가 방C에 매핑된 사용자 C라는 것을 판별할 수 있다.
상기 음성 입력은 청소 명령을 포함하고 있으므로, 제어부(150)는, 식별된 발화자와 매핑된 영역에 기초하여 청소 동작하도록 제어할 수 있다(S1440).
즉, 이동 로봇(100)은 제어부(150)의 제어에 따라, 상기 식별된 사용자에 기초하여, 상기 주행 구역에 포함되는 복수의 영역 중 적어도 일부 영역을 청소할 수 있다(S1440).
여기서, 상기 주행 구역 내 복수의 영역은 도 8 내지 도 13을 참조하여 설명한 것과 같이 적어도 일부 영역에 사용자가 매핑될 수 있다. 즉, 상기 복수의 영역은 1이상의 사용자가 매핑되어 있는 영역을 포함할 수 있다.
한편, 제어부(150)는, 상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역을 청소하도록 제어할 수 있다.
실시예에 따라서, 제어부(150)는, 상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역을 가장 먼저 청소하도록 제어할 수 있다.
한편, 제어부(150)는, 상기 복수의 영역을 각 영역별로 설정된 청소 모드에 따라 청소하도록 제어할 수 있다. 또는 제어부(150)는, 상기 식별된 사용자에 매핑된 영역만 해당 영역에 설정된 청소 모드로 청소하도록 제어할 수도 있다.
경우에 따라, 이동 로봇(100)은 청소 수행에 앞서 사용자의 음성 명령을 식별했음을 알리기 위하여 "방C를 집중 청소모드로 청소합니다!”와 같은 피드백 음성 안내 메시지(1520)를 출력할 수 있다.
사용자(1510)는 피드백 음성 안내 메시지(1520)를 듣고, 자신이 일상에서 사용하는 용어인 "내 방"을 이동 로봇(100)이 정확히 인식하였음을 확인할 수 있다. 이에 따라, 사용자(1510)의 만족도 및 신뢰도가 향상될 수 있다.
만약, 피드백 음성 안내 메시지(1520)가 사용자 의도에 부합하지 않는다면, 사용자(1510)는 다시 음성을 발화하여 더 정확한 표현으로 음성 명령을 입력할 수 있다.
한편, 본 발명의 일 실시예에 따른 이동 로봇(100)은 사용자별 사용 이력(history)에 따라 청소 모드를 변경할 수 있다. 이를 위해, 제어부(150)는, 상기 분류된 사용자별로 사용 이력을 학습할 수 있고, 상기 사용 이력에 기초하여 상기 사용자별로 청소 모드를 설정할 수 있다. 예를 들어, 특정 청소 모드를 자주 사용하는 사용자에 매핑된 영역에는 대응하는 사용자가 자주 쓰는 청소 모드를 자동으로 설정할 수 있다.
또한, 본 발명의 일 실시예에 따른 이동 로봇(100)은, 청소 후 사용자의 피드백을 기반으로 설정되어 있는 청소 모드를 업데이트할 수 있다.
도 16a를 참조하면, "R9, 안방 청소해줘!"와 같은 음성 명령(1611)에 따라, 이동 로봇(100)은, “안방을 A 청소 모드로 청소합니다!”와 같은 피드백 음성 안내 메시지(1621)를 출력하고, A 청소 모드로 안방 청소 작업을 수행할 수 있다.
안방 사용자의 청소 요구 빈도 증가, B 청소 모드 사용 빈도 증가, 청소 중 스마트터보 사용 빈도 증가 등의 청소 모드 관련 사용자 피드백이 있으면, 제어부(150)는 사용자의 피드백을 반영할 수 있다.
예를 들어, 제어부(150)는 '안방'의 청소 횟수를 증가, 기본 청소 모드를 B 청소 모드로 변경, 스마트 터보 설정을 디폴트 온(default On)으로 변경하는 등 설정을 변경할 수 있다.
이후에는 도 16b와 같이 "R9, 안방 청소해줘!"와 같은 동일한 음성 명령(1612)에도, 이동 로봇(100)은 B 청소 모드로 안방 청소 작업을 수행할 수 있다.
이때, 이동 로봇(100)은“안방을 B 청소 모드로 청소합니다!”와 같은 피드백 음성 안내 메시지(1622)를 출력할 수 있다.
본 발명의 일 실시예에 따르면, 사용자의 피드백(feedback)을 반영하여 청소 모드를 변경하여 제품이 진화하고 있다는 느낌을 사용자에게 제공할 수 있다.
또한, 본 발명의 일 실시예에 따른 이동 로봇(100)은, 공간별로 청소 기능을 달리하여 더 효율적인 청소가 가능하다.
본 발명에 따른 이동 로봇은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 실시예에 따른 이동 로봇의 제어 방법은, 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
이동 로봇: 100
서버: 70
저장부: 105
본체: 110
영상획득부: 120
입력부: 125
제어부: 150
주행부: 160
센서부: 170
출력부: 180
통신부: 190

Claims (20)

  1. 복수의 사용자가 발화한 음성 데이터들을 획득하는 단계;
    상기 음성 데이터들을 사용자별로 분류하는 단계; 및,
    상기 분류된 사용자별 음성 데이터를 각각 주행 구역에 포함되는 복수의 영역 중 하나 이상의 영역에 매핑(mapping)하는 단계;를 포함하는 이동 로봇의 제어 방법.
  2. 제1항에 있어서,
    상기 분류된 사용자별 음성 데이터를 상기 음성 데이터들이 획득된 영역별로 분류하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  3. 제2항에 있어서,
    상기 매핑 단계는, 소정 사용자가 가장 많이 발화한 영역을, 상기 소정 사용자에 매핑하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  4. 제1항에 있어서,
    상기 복수의 영역에 대한 속성을 인식하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  5. 제4항에 있어서,
    상기 매핑 단계는, 상기 복수의 영역 중에서 전용 공간으로 인식된 영역에는 상기 복수의 사용자 중 하나 이상의 사용자를 매핑하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  6. 제4항에 있어서,
    상기 매핑 단계는, 상기 복수의 영역 중에서 공용 공간으로 인식된 영역에는, 사용자를 매핑하지 않는 것을 특징으로 하는 이동 로봇의 제어 방법.
  7. 제4항에 있어서,
    상기 주행 구역을 주행하는 단계;
    상기 주행 중에, 영상획득부를 통하여, 복수의 영상을 획득하는 단계;
    상기 획득된 복수의 영상에 기초하여 상기 복수의 영역의 속성을 인식하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  8. 제7항에 있어서,
    상기 주행 단계는, 복수의 로컬(local) 맵(map)을 포함하는 맵에 기반하여 이동하고,
    상기 영역 속성 인식 단계는, 상기 로컬 맵들의 속성 인식 결과들 중 인접한 로컬 맵들에 대한 속성 인식 결과들에 기초하여 소정 영역의 속성을 인식하는 것을 특징으로 하는 이동 로봇의 제어 방법.
  9. 제1항에 있어서,
    상기 복수의 영역 중 매핑되지 않은 영역에 대한 안내 메시지를 출력하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  10. 제1항에 있어서,
    상기 분류된 사용자별로 사용 이력을 학습하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  11. 제10항에 있어서,
    상기 사용 이력에 기초하여 상기 영역별로 청소 모드를 설정하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  12. 제10항에 있어서,
    상기 사용 이력에 기초하여 상기 사용자별로 청소 모드를 설정하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  13. 제1항에 있어서,
    상기 복수의 사용자 중 어느 한 사용자의 청소 명령을 포함하는 음성 입력을 수신하는 단계;
    상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하는 단계;
    상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역을 청소하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  14. 제1항에 있어서,
    상기 복수의 사용자 중 어느 한 사용자의 청소 명령을 포함하는 음성 입력을 수신하는 단계;
    상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하는 단계;
    상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역을 가장 먼저 청소하는 단계;를 더 포함하는 이동 로봇의 제어 방법.
  15. 제1항에 있어서,
    상기 복수의 사용자 중 어느 한 사용자의 청소 명령을 포함하는 음성 입력을 수신하는 단계;
    상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하는 단계;
    상기 복수의 영역을 각 영역별로 설정된 청소 모드에 따라 청소하는 단계;를 포함하는 이동 로봇의 제어 방법.
  16. 제1항에 있어서,
    사용자의 청소 명령을 포함하는 음성 입력을 수신하는 단계;
    상기 수신된 음성 입력에 기초하여 발화 사용자를 식별하는 단계; 및,
    상기 식별된 사용자에 기초하여, 상기 복수의 영역 중 상기 식별된 사용자에 매핑된 영역을 청소하는 단계;를 더 포함하는 이동 로봇의 제어 방법.




  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020180132869A 2018-07-23 2018-11-01 인공지능 이동 로봇의 제어 방법 KR102612822B1 (ko)

Priority Applications (1)

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862701853P 2018-07-23 2018-07-23
US62/701,853 2018-07-23

Publications (2)

Publication Number Publication Date
KR20200068032A KR20200068032A (ko) 2020-06-15
KR102612822B1 true KR102612822B1 (ko) 2023-12-11

Family

ID=71081405

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102612822B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022152875A2 (de) * 2021-01-15 2022-07-21 RobArt GmbH Situationsbewertung mittels objekterkennung in autonomen mobilen robotern
CN112936281B (zh) * 2021-03-05 2023-09-26 节卡机器人股份有限公司 一种机器人控制方法及装置
KR20240037027A (ko) * 2022-09-14 2024-03-21 삼성전자주식회사 청소 로봇의 옵션을 설정하는 방법 및 그에 따른 전자 장치

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 (3)

* 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 한국과학기술연구원 지능 로봇, 지능 로봇과 사용자의 상호작용을 위한 시스템 및 지능 로봇과 사용자의 상호작용을 위한 방법
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
KR20200068032A (ko) 2020-06-15

Similar Documents

Publication Publication Date Title
JP7395229B2 (ja) 状況認識のためのモバイル清掃ロボット人工知能
US11737635B2 (en) Moving robot and control method thereof
US11226633B2 (en) Mobile robot and method of controlling the same
KR102290983B1 (ko) 인공지능 이동 로봇의 제어 방법
US20200097012A1 (en) Cleaning robot and method for performing task thereof
KR102612822B1 (ko) 인공지능 이동 로봇의 제어 방법
KR20200084449A (ko) 청소 로봇 및 그의 태스크 수행 방법
KR102621350B1 (ko) 로봇 청소기 시스템 및 그 동작 방법
US11540690B2 (en) Artificial intelligence robot cleaner
KR102314538B1 (ko) 인공지능 이동 로봇
EP3644154B1 (en) Controlling method for artificial intelligence moving robot
KR102423572B1 (ko) 인공지능 이동 로봇의 제어 방법
KR102612827B1 (ko) 인공지능 이동 로봇의 제어 방법
CN111343696A (zh) 自移动设备的通信方法、自移动设备及存储介质
WO2023020269A1 (zh) 自移动机器人控制方法、装置、设备及可读存储介质
KR102201143B1 (ko) 인공지능 이동 로봇 및 그 제어 방법
KR20200091110A (ko) 이동 로봇 및 그 제어 방법
KR20230134800A (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