KR102410529B1 - 이동 로봇 시스템 - Google Patents

이동 로봇 시스템 Download PDF

Info

Publication number
KR102410529B1
KR102410529B1 KR1020200130381A KR20200130381A KR102410529B1 KR 102410529 B1 KR102410529 B1 KR 102410529B1 KR 1020200130381 A KR1020200130381 A KR 1020200130381A KR 20200130381 A KR20200130381 A KR 20200130381A KR 102410529 B1 KR102410529 B1 KR 102410529B1
Authority
KR
South Korea
Prior art keywords
robot
driving
trap
situation
cooperative
Prior art date
Application number
KR1020200130381A
Other languages
English (en)
Other versions
KR20220046999A (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 KR1020200130381A priority Critical patent/KR102410529B1/ko
Priority to TW110133102A priority patent/TWI803965B/zh
Priority to PCT/KR2021/012304 priority patent/WO2022075611A1/ko
Publication of KR20220046999A publication Critical patent/KR20220046999A/ko
Application granted granted Critical
Publication of KR102410529B1 publication Critical patent/KR102410529B1/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/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • 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/005Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators using batteries, e.g. as a back-up power source
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • 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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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

제1 로봇 및 제2 로봇이 협업 주행을 수행하는 중, 상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황이 발생한 경우, 상기 제1 로봇 및/또는 상기 제2 로봇은 트랩 탈출 주행을 수행하며, 상기 트랩 상황은, 상기 제1 로봇 또는 상기 제2 로봇이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며, 상기 트랩 탈출 주행은, 상기 제1 로봇 또는 상기 제2 로봇이 주행한 청소 대상 구역의 경계를 따라 주행하는 주행 방법인 이동 로봇 시스템의 실시예에 관한 것이다.

Description

이동 로봇 시스템{MOVING ROBOT SYSTEM}
이동 로봇 시스템에 관한 것으로, 구체적으로는 복수의 이동 로봇이 협업 주행을 수행하는 이동 로봇 시스템 및 이의 협업 주행 수행 방법에 관한 것이다.
청소기는 먼지와 이물질을 흡입하거나 걸레질을 통하여 청소 기능을 수행하는 장치이다. 일반적으로 청소기는 바닥에 대한 청소 기능을 수행하게 되며, 청소기는 이동을 위한 휠을 포함한다. 일반적으로 휠은 청소기 본체에 가해지는 외력에 의해 굴림되어 청소기 본체를 바닥에 대하여 이동시키도록 이루어진다.
그러나, 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 로봇 청소기가 개발됨에 따라, 복수의 로봇 청소기를 사용자의 조작 없이 상호 협업하면서 청소시키기 위한 개발의 필요성이 대두되고 있다.
선행문헌 WO2017-036532는 마스터(master) 로봇 청소 장치(이하, 마스터 로봇)가 적어도 하나의 슬레이브(slave) 로봇 청소 장치(이하, 슬레이브 로봇)를 제어하는 방법에 대하여 개시한다. 상기 선행문헌은, 마스터 로봇이 장애물 검출 장치를 이용하여 주위의 장애물을 검출하고, 장애물 검출 장치로부터 파생된 위치 데이터를 이용하여 슬레이브 로봇과 관련된 마스터 로봇의 위치를 결정하는 구성에 대하여 개시한다. 또한, KR20170174493에서는 두 개의 로봇 청소기가 서로 통신하면서청소를 수행하는 일반적인 과정에 대해서 개시한다.
그러나 상기 두 개의 선행문헌에서는 협업 주행 중 발생하는 다양한 이벤트에 대한 대응 모션이 개시되어 있지 못하다. 두 대의 로봇 청소기가 협업하여 주행할 시에는 한 대의 주행 시보다 다양한 이벤트에 대응한 제어가 요구되는데, 이를테면, 한 대에서만 에러가 발생하는 경우와 두 대 모두에서 에러가 발생하는 경우 각각에 대응한 모션 제어가 필요하고, 이 외에도 트랩이나 키드냅 발생 시 선행/후행 관계에서 두 대의 로봇 청소기 각각의 적절한 대응 모션이 요구되어 진다.
또한, 두 대의 청소기가 협업 주행하는 모드에서는, 두 대의 청소기의 사양 및 상태가 상이함에 따라 적절한 협업 주행이 이루어지기 어려운 한계도 있다. 예컨대, 두 대의 청소기가 원활하게 협업 주행을 완료하기 위해서는 두 대의 청소기 모두의 배터리 충전 상태가 일정 기준 이상 요구되는데, 만약 한 대의 청소기의 충전 상태가 일정 기준 미만인 경우에는 협업 주행이 완료되기 어려워지게 된다.
이처럼 복수의 로봇 청소기가 협업 주행하는 시스템에서는 다양한 구동 상태, 주행 조건 및 이벤트 대응의 경우가 고려되어지는데, 종래에는 적절한 방안이 제안되지 못하여 복수의 로봇 청소기를 이용한 협업 주행의 정확성/안정성/신뢰성이 제한될 수 밖에 없었다.
상술한 바와 같은 종래기술의 한계를 개선하는 것을 과제로 하여, 본 명세서는 상술한 바와 같은 과제를 해결할 수 있는 이동 로봇 시스템의 실시예를 제공하고자 한다.
즉, 협업 주행의 다양한 조건을 만족시키며 협업 주행이 수행될 수 있는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예를 제공하고자 한다.
또한, 협업 주행 시 발생되는 다양한 이벤트에 적절한 대응이 이루어질 수 있는 협업 주행이 수행될 수 있는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예를 제공하고자 한다.
구체적으로는, 협업 주행 시 발생하는 트랩 상황에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예를 제공하고자 한다.
또한, 협업 주행 시 발생하는 다양한 오류 상황에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예를 제공하고자 한다.
또한, 헙업 주행 중 감지되는 장애물에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예를 제공하고자 한다.
또한, 협업 주행의 수행 중 복수의 이동 로봇의 배터리 충전 레벨의 변화 및 배터리 충전 레벨의 다양한 상태에 따른 적절한 대응이 이루어질 수 있는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예를 제공하고자 한다.
상술한 바와 같은 과제를 해결하기 위한 이동 로봇 시스템 및 이의 협업 주행 수행 방법은, 복수의 이동 로봇의 구동 상태가 기설정된 기준 조건에 해당하는지 여부를 판단하고, 판단 결과에 따라 협업 주행을 위한 모션을 수행하는 것을 해결 수단으로 한다.
구체적으로는, 협업 주행에 대한 제어 명령이 입력되면, 상기 협업 주행의 수행 조건에 해당하는 복수의 이동 로봇의 구동 상태를 기설정된 기준 조건과 비교하여, 상기 구동 상태가 상기 기준 조건에 해당할 시에 상기 협업 주행을 위한 모션을 수행함으로써, 상기 협업 주행이 정확하고 안정적으로 수행될 수 있게 된다.
즉, 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예는, 복수의 이동 로봇의 구동 상태가 기설정된 기준 조건에 해당하는지 여부를 판단하고, 판단 결과에 따라 협업 주행을 위한 모션을 수행하는 것을 특징으로 하여, 상술한 바와 같은 과제를 해결하게 된다.
상기와 같은 기술적 특징을 과제 해결 수단으로 하는 이동 로봇 시스템의 실시예는, 청소 대상 영역을 주행하며 청소를 수행하는 복수의 이동 로봇 및 상기 복수의 이동 로봇과 통신하며, 상기 복수의 이동 로봇에 원격 제어에 대한 제어 명령을 송신하는 제어기를 포함하고, 상기 복수의 이동 로봇은, 상기 제어기로부터 상기 청소 대상 영역을 협업하여 청소하는 협업 주행 모드에 대한 제어 명령을 입력받은 경우, 상기 복수의 이동 로봇의 구동 상태가 기설정된 기준 조건에 해당하는지 여부를 판단하고, 판단 결과에 따라 상기 협업 주행 모드를 위한 모션을 수행한다.
또한, 상기와 같은 기술적 특징을 과제 해결 수단으로 하는 이동 로봇 시스템의 협업 주행 수행 방법의 실시예는, 제1 로봇 및 제2 로봇의 협업 주행 수행 방법으로, 상기 제1 로봇 및 상기 제2 로봇에 협업 주행의 수행에 대한 명령이 입력되는 단계, 상기 제1 로봇이 상기 제1 로봇 및 상기 제2 로봇의 구동 상태를 기설정된 기준 조건과 비교하는 단계 및 비교 결과에 따라 상기 제1 로봇 및 상기 제2 로봇 각각이 협업 주행을 위한 모션을 수행하는 단계를 포함한다.
한편, 협업 주행 시 발생하는 트랩 상황에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 실시예는, 제1 로봇 및 제2 로봇이 협업 주행을 수행하는 중, 상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황이 발생한 경우, 상기 제1 로봇 및/또는 상기 제2 로봇은 트랩 탈출 주행을 수행하며, 상기 트랩 상황은, 상기 제1 로봇 또는 상기 제2 로봇이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며, 상기 트랩 탈출 주행은, 상기 제1 로봇 또는 상기 제2 로봇이 주행한 청소 대상 구역의 경계를 따라 주행하는 주행 방법이다.
또한, 협업 주행 시 발생하는 트랩 상황에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 협업 주행 수행 방법의 실시예는, 제1로봇 및 제2로봇이, 서로 협업 주행을 수행하는 단계, 상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황 발생 여부를 판단하는 단계, 그리고 상기 제1 로봇 및/또는 상기 제2 로봇이 트랩 상황인 경우 트랩 탈출 주행을 수행하는 단계를 포함하며, 상기 트랩 상황은, 상기 제1 로봇 또는 상기 제2 로봇이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며, 상기 트랩 탈출 주행은, 상기 제1 로봇 또는 상기 제2 로봇이 주행한 청소 대상 구역의 경계를 따라 주행하는 주행 방법이다.
한편, 협업 주행 시 발생하는 다양한 오류 상황에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 실시예는, 청소 대상 구역의 오염물을 흡입하는 제1로봇, 상기 청소 대상 구역의 바닥을 닦는 제2 로봇, 상기 제1로봇을 충전하는 제1충전대, 상기 제2로봇을 충전하는 제2충전대, 그리고 상기 제1로봇 및 상기 제2로봇을 연결하는 네트워크를 포함하고, 상기 제1로봇 및 상기 제2로봇이, 상기 네트워크를 이용하여 협업 주행 모드에 진입하고, 서로의 위치 정보를 파악하여 협업 주행을 수행하고, 상기 협업 주행 수행 중에, 상기 제1로봇 및 상기 제2로봇 중 적어도 하나에 오류가 발생한 경우, 또는 상기 제1로봇 및 상기 제2로봇 중 적어도 하나에 키드냅이 발생한 경우, 또는 상기 네트워크의 연결이 해제된 경우에, 상기 제1로봇 또는 상기 제2로봇이 상기 협업 주행 모드를 해제할지 결정한다.
또한, 협업 주행 시 발생하는 다양한 오류 상황에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 협업 주행 수행 방법의 실시예는, 청소 대상 구역을 주행하는 이동 로봇 시스템의 협업 주행 수행 방법으로서, 상기 이동 로봇 시스템은, 상기 청소 대상 구역의 오염물을 흡입하는 제1로봇, 상기 청소 대상 구역의 바닥을 닦는 제2 로봇, 상기 제1로봇을 충전하는 제1충전대, 상기 제2로봇을 충전하는 제2충전대, 그리고 상기 제1로봇 및 상기 제2로봇을 연결하는 네트워크를 포함하고, 상기 협업 주행 수행 방법은, 상기 제1로봇 및 상기 제2로봇이, 상기 네트워크를 이용하여 협업 주행 모드에 진입하는 단계, 상기 제1로봇 및 상기 제2로봇이, 서로의 위치 정보를 파악하여 협업 주행을 수행하는 단계, 그리고 상기 협업 주행 수행 중에, 상기 제1로봇 및 상기 제2로봇 중 적어도 하나에 오류가 발생한 경우, 또는 상기 제1로봇 및 상기 제2로봇 중 적어도 하나에 키드냅이 발생한 경우, 또는 상기 네트워크의 연결이 해제된 경우에, 상기 제1로봇또는 상기 제2로봇이 상기 협업 주행 모드를 해제할지 결정하는 단계를 포함한다.
한편, 헙업 주행 중 감지되는 장애물에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 실시예는, 청소 대상 구역의 오염물을 흡입하는 제1로봇, 상기 청소 대상 구역의 바닥을 닦는 제2 로봇, 상기 제1로봇을 충전하는 제1충전대, 상기 제2로봇을 충전하는 제2충전대, 그리고 상기 제1로봇 및 상기 제2로봇을 연결하는 네트워크를 포함하고, 상기 제1로봇 및 상기 제2로봇이, 상기 네트워크를 이용하여 협업 주행 모드에 진입하고, 상기 청소 대상 구역을 복수의 단위 구역으로 분할하여 각 단위 구역마다 협업 주행하고, 상기 제1로봇 및/또는 상기 제2로봇이, 상기 복수의 단위 구역 중 어느 하나의 단위 구역에서 상기 협업 주행 중에, 미리 설정된 범위의, 높이 또는 깊이로 형성된 장애물을 감지한 경우, 상기 장애물을 회피하거나,상기 장애물을 등반하여, 상기 협업 주행을 계속 수행한다.
또한, 헙업 주행 중 감지되는 장애물에 대한 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 협업 주행 수행 방법의 실시예는, 청소 대상 구역을 주행하는 이동 로봇 시스템의 협업 주행 수행 방법으로서, 상기 이동 로봇 시스템은, 상기 청소 대상 구역의 오염물을 흡입하는 제1로봇,상기 청소 대상 구역의 바닥을 닦는 제2 로봇,상기 제1로봇을 충전하는 제1충전대,상기 제2로봇을 충전하는 제2충전대,그리고상기 제1로봇 및 상기 제2로봇을 연결하는 네트워크를 포함하고, 상기 협업 주행 수행 방법은, 상기 제1로봇 및 상기 제2로봇이, 상기 네트워크를 이용하여 협업 주행 모드에 진입하는 단계, 상기 제1로봇 및 상기 제2로봇이, 상기 청소 대상 구역을 복수의 단위 구역으로 분할하여 각 단위 구역마다 협업 주행하는 단계, 그리고 상기 제1로봇 및/또는 상기 제2로봇이, 상기 복수의 단위 구역 중 어느 하나의 단위 구역에서 상기 협업 주행 중에, 미리 설정된 범위의, 높이 또는 깊이로 형성된 장애물을 감지한 경우,상기 장애물을 회피하거나, 상기 장애물을 등반하여, 상기 협업 주행을 계속 수행하는 단계를 포함한다.
한편, 협업 주행의 수행 중 복수의 이동 로봇의 배터리 충전 레벨의 변화 및 배터리 충전 레벨의 다양한 상태에 따른 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 실시예는, 복수의 이동 로봇이 협업하여 주행하는 이동 로봇 시스템으로, 제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇 및 제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇을 포함하고, 상기 제1 로봇 및 상기 제2 로봇은, 협업 주행 모드를 수행하는 중 각각이 배터리에 충전된 용량을 감지하여, 상기 배터리의 충전 용량값에 따라 상기 협업 주행 모드를 해제하고, 상기 충전 용량값에 대응하여 각각 단독 주행 모드 및 상기 배터리의 충전 모드 중 하나 이상을 수행한다.
또한, 협업 주행의 수행 중 복수의 이동 로봇의 배터리 충전 레벨의 변화 및 배터리 충전 레벨의 다양한 상태에 따른 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 다른 실시예는, 복수의 이동 로봇이 협업하여 주행하는 이동 로봇 시스템으로, 제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇 및 제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇을 포함하고, 상기 제1 로봇 및 상기 제2 로봇 각각은, 협업 주행 모드를 수행하는 중 배터리에 충전된 용량을 감지하여, 상기 배터리의 충전 용량값이 기설정된 기준 용량값 이하가 되면 각각의 충전대로 이동하여 상기 배터리를 충전한다.
또한, 협업 주행의 수행 중 복수의 이동 로봇의 배터리 충전 레벨의 변화 및 배터리 충전 레벨의 다양한 상태에 따른 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 협업 주행 수행 방법의 실시예는, 제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇 및 제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇을 포함하는 이동 로봇 시스템의 협업 주행 수행 방법으로, 상기 제1 로봇 및 상기 제2 로봇 각각이 협업 주행 모드의 수행을 시작하는 단계, 상기 제1 로봇 및 상기 제2 로봇 각각이 배터리에 충전된 용량을 감지하는 단계, 상기 제1 로봇 및 상기 제2 로봇 각각이 충전 용량값을 기설정된 기준 용량값과 비교하는 단계 및 비교 결과에 따라 상기 제1 로봇 및 상기 제2 로봇 중 하나 이상이 단독 주행 모드를 수행하거나, 충전대로 이동하여 상기 배터리를 충전하는 단계를 포함한다.
또한, 협업 주행의 수행 중 복수의 이동 로봇의 배터리 충전 레벨의 변화 및 배터리 충전 레벨의 다양한 상태에 따른 적절한 대응이 이루어질 수 있는 이동 로봇 시스템의 협업 주행 수행 방법의 다른 실시예는, 제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇 및 제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇을 포함하는 이동 로봇 시스템의 협업 주행 수행 방법으로, 상기 제1 로봇 및 상기 제2 로봇 각각이 협업 주행 모드의 수행을 시작하는 단계, 상기 제1 로봇 및 상기 제2 로봇 각각이 배터리에 충전된 용량을 감지하는 단계, 상기 제1 로봇 및 상기 제2 로봇 각각이 충전 용량값을 기설정된 기준 용량값과 비교하는 단계 및 비교 결과에 따라 상기 제1 로봇 및 상기 제2 로봇 중 하나 이상이 충전대로 이동하여 상기 배터리를 충전하는 단계를 포함한다.
상술한 바와 같은 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예는, 로봇 청소기, 로봇 청소기를 제어하는 제어 시스템, 로봇 청소 시스템, 로봇 청소기를 제어하기 위한 제어 방법 등에도 적용되어 실시될 수 있고, 특히 복수의 이동 로봇, 복수의 이동 로봇을 포함하는 이동 로봇 시스템, 복수의 이동 로봇의 제어 방법 등에 유용하게 적용되어 실시될 수 있으며, 또한 상기 기술의 기술적 사상이 적용될 수 있는 모든 로봇 청소기, 로봇 청소기의 시스템, 로봇 청소기의 제어 방법에도 적용되어 실시될 수 있다.
본 명세서에서 제공하는 이동 로봇 시스템 및 이의 협업 주행 수행 방법의 실시예는, 복수의 이동 로봇의 구동 상태가 기설정된 기준 조건에 해당하는지 여부를 판단하고, 판단 결과에 따라 협업 주행을 위한 모션을 수행함으로써, 협업 주행의 다양한 조건을 만족시키며 협업 주행이 수행될 수 있게 되는 효과가 있다.
이에 따라, 복수의 이동 로봇의 부정확하고 안정적이지 못한 협업 주행을 방지할 수 있게 되며, 안전하고 정확한 환경/상태에서 협업 주행이 수행될 수 있게 되는 효과가 있다.
또한, 헙업 주행의 조건이 만족된 상태에서 협업 주행이 수행됨으로써, 협업 주행 시 발생되는 다양한 이벤트에 대하여 적절한 대응이 이루어질 수 있게 되는 효과도 있다.
이를테면, 협업 주행 시 발생하는 트랩 상황, 다양한 오류 상황 및 장애물 감지 상황 각각에 대한 적절한 대응이 이루어져, 협업 주행의 수행이 안전하고 신뢰성있게 이루어질 수 있게 되는 효과가 있다.
또한, 복수의 이동 로봇 각각이 협업 주행 모드를 수행하는 중 배터리에 충전된 용량을 감지하여, 감지 결과에 따라서 복수의 이동 로봇 각각이 대응 동작을 수행함으로써, 배터리의 충전 레벨의 변화에 따른 적절한 대응이 이루어질 수 있게 되는 효과가 있다.
이에 따라, 협업 주행의 수행 중 배터리 충전 레벨의 다양한 상태에 따른 효과적인 청소가 수행될 수 있게 됨은 물론, 협업 주행의 수행 중 배터리 충전 레벨의 변화에 따른 협업 주행의 중단 시 복수의 이동 로봇의 방치를 방지할 수 있게 되어, 협업 주행의 중단 이후의 후속 동작이 적절하고 용이하게 이루어질 수 있게 되는 효과가 있다.
도 1a 및 1b는 이동 로봇의 구성도 a 및 b.
도 2는 이동 로봇의 구체적인 구성도.
도 3은 이동 로봇 시스템의 예시도.
도 4는 이동 로봇 시스템의 복수의 이동 로봇 간의 네트워크 통신을 도시한 개념도.
도 5는 이동 로봇 시스템의 복수의 이동 로봇의 주행 개념도.
도 6은 도 5에 도시된 개념도에 따른 복수의 이동 로봇의 구체적인 주행 예시도.
도 7은 복수의 이동 로봇이 협업 주행을 수행하는 순서를 나타낸 순서도.
도 8은 복수의 이동 로봇 간 영상 비교를 통해 위치를 인식하는 개념을 설명하기 위한 예시도.
도 9는 복수의 이동 로봇 간 위치 인식의 개념을 설명하기 위한 예시도.
도 10은 복수의 이동 로봇이 협업 주행을 수행하는 예시도.
도 11은 실시예에 따른 이동 로봇 시스템의 구성도.
도 12는 실시예에 따른 이동 로봇 시스템에서 협업 주행 모드가 수행되는 과정을 나타낸 순서도.
도 13은 실시예에 따른 이동 로봇 시스템에서 협업 주행 모드가 수행되는 예시를 나타낸 도표.
도 14는 실시예에 따른 이동 로봇 시스템의 협업 주행 수행 방법의 순서도.
도 15는 도 14에 도시된 협업 주행 수행 방법의 구체적인 실시예에 따른 순서도.
도 16은 <실시예 1>에 따른 이동 로봇 시스템의 협업 주행을 도시한 도면.
도 17은 <실시예 1>에 따른 제1 로봇이 트랩(trap) 상황인 경우, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면.
도 18은 <실시예 1>에 따른 제1 로봇이 트랩(trap) 상황인 경우, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면.
도 19는 <실시예 1>에 따른 제2 로봇이 트랩(trap) 상황인 경우, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면.
도 20은 <실시예 1>에 따른 제2 로봇이 트랩(trap) 상황인 경우, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면.
도 21은 <실시예 1>에 따른 제1 로봇과 제2 로봇이 트랩(trap) 상황인 경우, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면.
도 22는 <실시예 1>에 따른 트랩 상황이 발생한 경우 이동 로봇 시스템의 협업 주행 수행 방법 순서도.
도 23은 <실시예 2>에 따른 이동 로봇 시스템의 협업 주행을 도시한 도면.
도 24a는 <실시예 2>에 따른 제1 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 a.
도 24b는 <실시예 2>에 따른 제1 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 b.
도 24c는 <실시예 2>에 따른 제1 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 c.
도 25는 <실시예 2>에 따른 제1 로봇 및 제2 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면.
도 26a는 <실시예 2>에 따른 제2 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 a.
도 26b는 <실시예 2>에 따른 제2 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 b.
도 26c는 <실시예 2>에 따른 제2 로봇에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 c.
도 27a는 <실시예 2>에 따른 제1 로봇에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 a.
도 27b는 <실시예 2>에 따른 제1 로봇에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 b.
도 27c는 <실시예 2>에 따른 제1 로봇에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 c.
도 28a는 <실시예 2>에 따른 제2 로봇에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 a.
도 28b는 <실시예 2>에 따른 제2 로봇에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 b.
도 28c는 <실시예 2>에 따른 제2 로봇에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템을 도시한 도면 c.
도 29는 <실시예 2>에 따른 이동 로봇 시스템이, 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응하여, 미리 설정된 시나리오를 수행하는 방법을 도시한 순서도.
도 30은 <실시예 3>에 따른 이동 로봇 시스템이, 청소 대상 구역을 복수의 단위 구역으로 분할하여, 각 단위 구역마다 협업 주행하는 것을 도시한 도면.
도 31은 <실시예 3>에 따른, 제1 로봇 및 제2 로봇이, 제1 장애물을 감지한 경우에 수행하는, 미리 설정된 시나리오를 도시한 도면.
도 32는 <실시예 3>에 따른, 제1 로봇이 제1 장애물을 감지하지 못하고, 제2 로봇이 제1 장애물을 감지한 경우에 수행하는, 미리 설정된 시나리오를 도시한 도면.
도 33은 <실시예 3>에 따른, 제1 로봇 및 제2 로봇이, 제1 장애물을 감지하지 못한 경우에 수행하는, 미리 설정된 시나리오를 도시한 도면.
도 34는 <실시예 3>에 따른, 제1 로봇이 제2 장애물을 감지하고, 제2 로봇이 제2 장애물을 감지하지 못한 경우에 수행하는, 미리 설정된 시나리오를 도시한 도면.
도 35는 <실시예 3>에 따른 이동 로봇 시스템이, 협업 주행 중에 감지한 장애물에 대응하여, 미리 설정된 시나리오를 수행하는 방법을 도시한 순서도.
도 36a는 <실시예 4>에 따른 이동 로봇 시스템에서 협업 주행 모드가 수행되는 중 배터리의 충전 용량 상태에 따른 대응의 예시를 나타낸 도표 a.
도 36b는 <실시예 4>에 따른 이동 로봇 시스템에서 협업 주행 모드가 수행되는 중 배터리의 충전 용량 상태에 따른 대응의 예시를 나타낸 도표 b.
도 37은 <실시예 4>에 따른 이동 로봇 시스템에서 복수의 이동 로봇의 대응을 도시화한 예시도 1.
도 38은 <실시예 4>에 따른 이동 로봇 시스템에서 복수의 이동 로봇의 대응을 도시화한 예시도 2.
도 39는 <실시예 4>에 따른 이동 로봇 시스템에서 복수의 이동 로봇의 대응을 도시화한 예시도 3.
도 40은 <실시예 4>에 따른 이동 로봇 시스템의 협업 주행 수행 방법의 순서도.
이하, 이동 로봇 시스템의 실시예에 대하여 도면을 참조하여 보다 상세하게 설명하되, 이하에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
먼저, 이동 로봇 시스템의 실시예에서 이동 로봇(이하, 로봇이라 칭한다)의 구성을 설명한다.
상기 로봇은, 주행과 동시에 청소를 수행하는 청소 로봇일 수 있다.
상기 로봇은, 자동으로, 또는 사용자의 조작에 의해 주행 및 청소를 수행하는 청소 로봇일 수 있다.
이를테면, 상기 로봇은, 자율 주행 청소기 및 자율 주행을 수행하는 청소기일 수 있다.
상기 로봇은, 일정 영역을 주행하며 위치를 인식하는 청소 로봇일 수 있다.
상기 로봇은, 주행 중 위치를 인식함과 동시에, 일정 영역의 지도를 작성하는 청소 로봇일 수 있다.
상기 로봇은, 일정 영역을 스스로 주행하면서 바닥을 청소하는 기능을 수행할 수 있는데, 여기서 말하는 바닥의 청소에는, 바닥의 먼지(이물질을 포함한다)를 흡입하거나 바닥을 걸레질하는 것이 포함된다.
상기 로봇은, 주행 및 청소를 위한 복수의 구성을 구비할 수 있다.
상기 로봇(100)의 예를 들면, 도 1a 또는 도 1b에 도시된 바와 같은 형태일 수 있다.
상기 로봇(100)은, 도 1a에 도시된 바와 같은 형태일 수 있고, 또는 도 1b에 도시된 바와 같은 형태일 수도 있으며, 또한 도 1a 및 도 1b에 도시된 형태에서 변형된 형태이거나, 도 1a 및 도 1b에 도시된 형태와 다른 형태일 수도 있다.
상기 로봇(100)은, 도 1a 및 도 1b에 도시된 바와 같이, 본체(110), 청소부(120) 및 센싱부(130)를 포함할 수 있다.
상기 본체(10)는, 상기 로봇(100)의 외관을 형성하여, 주행 및 청소를 수행할 수 있다.
즉, 상기 본체(10)는, 상기 로봇(100)의 전반적인 동작을 수행하게 될 수 있다.
상기 본체(10)는, 주행 및 청소가 용이한 형태로 이루어져 상기 로봇(100)의 외관을 형성할 수 있다.
예를 들면, 원형으로 이루어질 수 있으며, 또한 모서리가 라운딩 처리된 사각형으로 이루어질 수도 있다.
상기 본체(110)는, 상기 로봇(100)의 주행 및 청소를 위한 구성을 구비할 수 있다.
상기 본체(10)는, 상기 로봇(100)의 주행 및 청소를 위한 구성을 내부 및 외부에 구비할 수 있다.
예를 들면, 주행 동작, 청소 동작 또는 센싱이 이루어지는 구성은 외부에, 상기 로봇(100)의 제어가 이루어지는 구성은 내부에 구비하게 될 수 있다.
또한, 상기 본체(110)는, 상기 로봇(100)의 주행을 위한 휠 유닛(111)이 구비될 수 있다.
이에 따라, 상기 로봇(100)이 상기 휠 유닛(111)에 의해 전후좌우로 이동되거나 회전될 수 있다.
또한, 상기 본체(110)는, 상기 로봇(100)의 전원을 공급하는 배터리(미도시)가 장착될 수 있다.
상기 배터리는 충전 가능하게 구성되며, 상기 본체(110)의 저면부에 착탈 가능하게 구성될 수 있다.
상기 청소부(120)는, 상기 본체(110)의 일측으로부터 돌출된 형태로 배치되어, 먼지가 포함된 공기를 흡입하거나 또는 걸레질을 할 수 있다.
여기서, 상기 일측은 상기 청소기 본체(110)가 정방향(F)으로 주행하는 측, 즉 청소기 본체(110)의 앞쪽이 될 수 있다.
상기 청소부(120)는, 상기 본체(110)에 착탈 가능하게 결합될 수 있다.
상기 청소부(120)가 상기 본체(110)로부터 분리되면, 분리된 상기 청소부(120)를 대체하여 걸레부(미도시)가 상기 본체(110)에 착탈 가능하게 결합될 수 있다.
따라서, 사용자는 바닥의 먼지를 제거하고자 하는 경우에는 상기 본체(110)에 청소부(120)를 장착하고, 바닥을 닦고자 하는 경우에는 상기 본체(110)에 걸레부를 장착할 수 있다.
상기 센싱부(130)는, 상기 청소부(120)가 위치하는 상기 본체(110)의 일측, 즉 상기 본체(110)의 앞쪽에 배치될 수 있다.
상기 센싱부(130)는, 상기 본체(110)의 상하 방향으로 상기 청소부(120)와 오버랩되도록 배치될 수 있다.
상기 센싱부(130)는, 상기 본체(110)의 상부에 배치되어, 상기 로봇(100)이 장애물과 부딪히지 않도록 전방의 장애물이나 지형지물 등을 감지하도록 이루어진다.
상기 센싱부(130)는, 이러한 감지 기능 외의 다른 센싱 기능을 추가로 수행하도록 구성될 수 있다.
예로써, 상기 센싱부(130)는, 주변의 영상을 획득하기 위한 카메라(131)를 포함할 수 있다.
상기 카메라(131)는, 렌즈와 영상 센서(image sensor)를 포함할 수 있다.
또한, 상기 카메라(131)는 상기 본체(110) 주변의 영상을 제어부가 처리할 수 있는 전기적 신호로 변환하여, 예를 들어 상방 영상에 대응되는 전기적 신호를 상기 제어부에 전달할 수 있다.
여기서, 상방 영상에 대응되는 전기적 신호는 상기 제어부가 상기 본체(110)의 위치를 검출하는데 사용될 수 있다.
또한, 상기 센싱부(130)는 상기 로봇(100)의 주행 면상 또는 주행 경로 상의 벽체, 가구, 및 낭떠러지 등의 장애물을 감지할 수 있다.
또한, 상기 센싱부(130)는, 배터리 충전을 수행하는 도킹 기기의 존재를 감지할 수 있다.
또한, 상기 센싱부(130)는, 천장 정보를 감지하여서, 상기 로봇(100)의 주행 구역 또는 청소 구역을 맵핑(Mapping)할 수 있다.
이하의 도 2에서는 상기 로봇(100)의 구체적인 구성요소와 관련된 일 실시예가 설명된다.
상기 로봇(100)은, 도 2에 도시된 바와 같이, 통신부(1100), 입력부(1200), 주행부(1300), 센싱부(1400), 출력부(1500), 전원부(1600), 메모리(1700), 제어부(1800), 청소부(1900) 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
이때, 도 2에 도시한 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 자율주행 청소기가 구현될 수 있음은 물론이다. 또한, 전술한 바와 같이, 본 명세서에서 설명되는 복수의 이동 로봇은 이하에서 설명된 구성요소들 중 일부만 동일한 구성요소를 포함할 수 있다. 즉, 복수의 이동 로봇이 각각 서로 다른 구성요소로 이루어질 수 있다.
이하, 각 구성요소들에 대해 살펴보기로 한다.
우선, 상기 전원부(1600)는 외부 상용 전원에 의해 충전 가능한 상기 배터리를 구비하여 상기 로봇(100) 내로 전원을 공급한다.
상기 전원부(1600)는, 상기 로봇(100)에 포함된 각 구성들에 구동 전원을 공급하여, 상기 로봇(100)이 주행하거나 특정 기능을 수행하는데 요구되는 동작 전원을 공급할 수 있다.
이때, 상기 제어부(1800)는 상기 배터리의 전원 잔량을 감지하고, 전원 잔량이 부족하면 외부 상용 전원과 연결된 충전대로 이동하도록 제어하여, 상기 충전대로부터 충전 전류를 공급받아 상기 배터리를 충전할 수 있다.
상기 배터리는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 상기 제어부(1800)에 전달될 수 있다. 이 때, 상기 출력부(1500)는 상기 제어부((1800)에 의해 상기 배터리 잔량을 표시할 수 있다.
상기 제어부(1800)는, 인공 지능 기술에 기반하여 정보들을 처리하는 역할을 수행하는 것으로, 정보의 학습, 정보의 추론, 정보의 지각, 자연 언어의 처리 중 적어도 하나를 수행하는 하나 이상의 회로 모듈을 포함할 수 있다.
상기 제어부(1800)는, 머신 러닝(machine running) 기술을 이용하여, 상기 로봇(100) 내에 저장된 정보, 이동 단말기 주변의 환경 정보, 통신 가능한 외부 저장소에 저장된 정보 등 방대한 양의 정보(빅데이터, big data)를 학습, 추론, 처리 중 적어도 하나를 수행할 수 있다. 그리고, 상기 제어부(1800)는 상기 머신 러닝 기술을 이용하여 학습된 정보들을 이용하여, 실행 가능한 적어도 하나의 상기 로봇(100)의 동작을 예측(또는 추론)하고, 상기 적어도 하나의 예측된 동작들 중 실현성이 가장 높은 동작이 실행되도록 상기 로봇(100)을 제어할 수 있다.
머신 러닝 기술은 적어도 하나의 알고리즘에 근거하여, 대규모의 정보들을 수집 및 학습하고, 학습된 정보를 바탕으로 정보를 판단 및 예측하는 기술이다. 정보의 학습이란 정보들의 특징, 규칙, 판단 기준 등을 파악하여, 정보와 정보 사이의 관계를 정량화하고, 정량화된 패턴을 이용하여 새로운 데이터들을 예측하는 동작이다.
머신 러닝 기술이 사용하는 알고리즘은 통계학에 기반한 알고리즘이 될 수 있으며, 예를 들어, 트리 구조 형태를 예측 모델로 사용하는 의사 결정 나무(decision tree), 생물의 신경 네트워크 구조와 기능을 모방하는 인공 신경망(neural network), 생물의 진화 알고리즘에 기반한 유전자 프로그래밍(genetic programming), 관측된 예를 군집이라는 부분집합으로 분배하는 군집화(Clustering), 무작위로 추출된 난수를 통해 함수값을 확률로 계산하는 몬테카를로 방법(Monter carlo method) 등이 될 수 있다.
머신 러닝 기술의 한 분야로써, 딥러닝 기술은 인공 신경망(Deap Neuron Network, DNN) 알고리즘을 이용하여, 정보들을 학습, 판단, 처리 중 적어도 하나를 수행하는 기술이다. 인공 신경망(DNN)은 레이어와 레이어 사이를 연결하고, 레이어와 레이어 사이의 데이터를 전달하는 구조를 가질 수 있다. 이러한 딥러닝 기술은 병렬 연산에 최적화된 GPU(graphic processing unit)를 이용하여 인공 신경망(DNN)을 통하여 방대한 양의 정보를 학습할 수 있다.
상기 제어부(1800)는, 외부의 서버 또는 상기 메모리(1700)에 저장된 트레이닝 데이터를 이용하며, 소정의 물체를 인식하기 위한 특징을 검출하는 학습 엔진을 탑재할 수 있다. 이때, 물체를 인식하기 위한 특징에는 물체의 크기, 형태 및 음영 등을 포함할 수 있다.
구체적으로, 상기 제어부(1800)는 상기 카메라(131)를 통해 획득된 영상 중 일부를 학습 엔진에 입력하면, 상기 학습 엔진은 입력된 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다.
이와 같이, 학습 엔진을 청소기의 주행에 적용하는 경우, 상기 제어부(1800)는, 상기 로봇(100)의 주행에 방해되는 의자 다리, 선풍기, 특정 형태의 발코니 틈과 같은 장애물이 주변에 존재하는지 여부를 인식할 수 있으므로, 상기 로봇(100)의 주행의 효율 및 신뢰도를 높일 수 있다.
한편, 위와 같은 학습 엔진은 상기 제어부(1800)에 탑재될 수도 있고, 외부 서버에 탑재될 수도 있다. 학습 엔진이 외부 서버에 탑재된 경우, 상기 제어부(1800)는 분석의 대상인 적어도 하나의 영상을 상기 외부 서버로 전송하도록 상기 통신부(1100)를 제어할 수 있다.
외부 서버는 청소기로부터 전송받은 영상을 학습 엔진에 입력함으로서, 해당 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다. 아울러, 외부 서버는 인식결과와 관련된 정보를 다시 청소기로 전송할 수 있다. 이때, 인식결과와 관련된 정보는 분석의 대상인 영상에 포함된 객체의 개수, 각 개체의 이름과 관련된 정보를 포함할 수 있다.
상기 주행부(1300)는 모터를 구비하여, 상기 모터를 구동함으로써, 좌, 우측 주바퀴를 양 방향으로 회전시켜 본체를 회전 또는 이동시킬 수 있다. 이때, 상기 좌, 우측 주바퀴는 독립적으로 움직일 수 있다. 상기 주행부(1300)는, 상기 본체(110)를 전후좌우로 진행시키거나, 곡선주행시키거나, 제자리 회전시킬 수 있다.
상기 입력부(1200)는, 사용자로부터 상기 로봇(100)에 대한 각종 제어 명령을 입력 받을 수 있다.
상기 입력부(1200)는, 하나 이상의 버튼을 포함할 수 있다.
예를 들어, 상기 입력부(1200)는 확인버튼, 설정버튼 등을 포함할 수 있다. 확인버튼은 감지 정보, 장애물 정보, 위치 정보, 맵 정보를 확인하는 명령을 사용자로부터 입력받기 위한 버튼이고, 설정버튼은 상기 정보들을 설정하는 명령을 사용자로부터 입력받기 위한 버튼이다.
또한, 상기 입력부(1200)는 이전 사용자 입력을 취소하고 다시 사용자 입력을 받기 위한 입력재설정버튼, 기 설정된 사용자 입력을 삭제하기 위한 삭제버튼, 작동 모드를 설정하거나 변경하는 버튼, 충전대로 복귀하도록 하는 명령을 입력받는 버튼 등을 포함할 수 있다.
또한, 상기 입력부(1200)는 하드 키나 소프트 키, 터치패드 등으로 이동 로봇의 상부에 설치될 수 있다. 또, 상기 입력부(1200)는 상기 출력부(1500)와 함께 터치 스크린의 형태를 가질 수 있다.
상기 출력부(1500)는, 상기 로봇(100)의 상부에 설치될 수 있다. 물론 설치 위치나 설치 형태는 달라질 수 있다. 예를 들어, 상기 출력부(1500)는 배터리 상태 또는 주행 방식 등을 화면에 표시할 수 있다.
또한, 상기 출력부(1500)는, 상기 센싱부(1400)가 검출한 이동 로봇 내부의 상태 정보, 예를 들어 이동 로봇에 포함된 각 구성들의 현재 상태를 출력할 수 있다. 또, 출력부(1500)는 센싱부(1400)가 검출한 외부의 상태 정보, 장애물 정보, 위치 정보, 지도 정보 등을 화면에 디스플레이할 수 있다. 출력부(1500)는 발광 다이오드(Light Emitting Diode; LED), 액정 표시 장치(Liquid Crystal Display; LCD), 플라즈마 표시 패널(Plasma Display Panel), 유기 발광 다이오드(Organic Light Emitting Diode; OLED) 중 어느 하나의 소자로 형성될 수 있다.
상기 출력부(1500)는, 상기 제어부(1800)에 의해 수행되는 상기 로봇(100)의 동작 과정 또는 동작 결과를 청각적으로 출력하는 음향 출력 수단을 더 포함할 수 있다. 예를 들어, 상기 출력부(1500)는 상기 제어부(1800)에 의해 생성된 경고 신호에 따라 외부에 경고음을 출력할 수 있다.
이때, 음향 출력 수단(미도시)은 비퍼(beeper), 스피커 등의 음향을 출력하는 수단일 수 있고, 상기 출력부(1500)는 상기 메모리(1700)에 저장된 소정의 패턴을 가진 오디오 데이터 또는 메시지 데이터 등을 이용하여 음향 출력 수단을 통해 외부로 출력할 수 있다.
따라서, 본 발명의 일 실시예에 따른 상기 로봇(100)은, 상기 출력부(1500)를 통해 주행 영역에 대한 환경 정보를 화면에 출력하거나 음향으로 출력할 수 있다. 또 다른 실시예에 따라, 상기 로봇은 상기 출력부(1500)를 통해 출력할 화면이나 음향을 단말 장치가 출력하도록, 지도 정보 또는 환경 정보를 상기 통신부(1100)릍 통해 단말 장치에 전송할 수 있다.
상기 메모리(1700)는 상기 로봇(100)을 제어 또는 구동하는 제어 프로그램 및 그에 따른 데이터를 저장한다. 상기 메모리(1700)는 오디오 정보, 영상 정보, 장애물 정보, 위치 정보, 지도 정보 등을 저장할 수 있다. 또, 상기 메모리(1700)는 주행 패턴과 관련된 정보를 저장할 수 있다.
상기 메모리(1700)는 비휘발성 메모리를 주로 사용한다. 여기서, 상기 비휘발성 메모리(Non-Volatile Memory, NVM, NVRAM)는 전원이 공급되지 않아도 저장된 정보를 계속 유지할 수 있는 저장 장치로서, 일 예로, 롬(ROM), 플래시 메모리(Flash Memory), 마그네틱 컴퓨터 기억 장치(예를 들어, 하드 디스크, 디스켓 드라이브, 마그네틱 테이프), 광디스크 드라이브, 마그네틱 RAM, PRAM 등일 수 있다.
또한, 상기 메모리(1700)에는 주행 구역에 대한 맵(Map)이 저장될 수 있다. 맵은 상기 로봇(100)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기, 서버 등에 의해 입력된 것일 수도 있고, 상기 로봇(100)이 주행을 하면서 스스로 생성한 것일 수도 있다.
맵에는 주행 구역 내의 방들의 위치가 표시될 수 있다. 또한, 상기 로봇(100)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 상기 로봇(100)의 현재의 위치는 주행 과정에서 갱신될 수 있다.
상기 메모리(1700)는 청소 이력 정보를 저장할 수 있다. 이러한 청소 이력 정보는 청소를 수행할 때마다 생성될 수 있다.
상기 메모리(1700)에 저장되는 주행 구역에 대한 맵(Map)은, 주행 구역의 소정 정보 들을 소정 형식으로 저장한 데이터로서, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는 SLAM(Simultaneous localization and mapping) 맵, 장애물 등에 부딪히면 해당 정보를 저장하여 학습 청소시 사용하는 학습 맵, 전역 위치 인식에 사용되는 전역 위치 맵, 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 등일 수 있다.
상기 맵(Map)은 복수의 노드를 포함하는 노드맵을 의미할 수 있다. 여기서, 노드(Node)란, 주행 구역 내의 어느한 위치인 지점(Point)에 대응하는 맵 상의 어느 한 위치를 나타내는 데이터를 의미한다.
한편, 상기 센싱부(1400)는, 외부 신호 감지 센서, 전방 감지 센서, 낭떠러지 감지 센서, 2차원 카메라 센서 및 3차원 카메라 센서 중 적어도 하나를 포함할 수 있다.
외부 신호 감지 센서는 상기 로봇(100)의 외부 신호를 감지할 수 있다. 외부 신호 감지 센서는, 일 예로, 적외선 센서(Infrared Ray Sensor), 초음파 센서(Ultra Sonic Sensor), RF 센서(Radio Frequency Sensor) 등일 수 있다.
상기 로봇(100)은 외부 신호 감지 센서를 이용하여 충전대가 발생하는 안내 신호를 수신하여 충전대의 위치 및 방향을 확인할 수 있다. 이때, 충전대는 이동 로봇이 복귀 가능하도록 방향 및 거리를 지시하는 안내 신호를 발신할 수 있다. 즉, 상기 로봇(100)은 충전대로부터 발신되는 신호를 수신하여 현재의 위치를 판단하고 이동 방향을 설정하여 충전대로 복귀할 수 있다.
한편, 전방 감지 센서는, 상기 로봇(100)의 전방, 구체적으로 상기 로봇(100)의 측면 외주면을 따라 일정 간격으로 설치될 수 있다. 전방 감지 센서는 상기 로봇(100)의 적어도 일 측면에 위치하여, 전방의 장애물을 감지하기 위한 것으로서, 전방 감지 센서는 상기 로봇(100)의 이동 방향에 존재하는 물체, 특히 장애물을 감지하여 검출 정보를 상기 제어부(1800)에 전달할 수 있다. 즉, 전방 감지 센서는, 상기 로봇(100)의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 상기 제어부(1800)에 전달할 수 있다.
전방 감지 센서는, 일 예로, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서 등일 수 있고, 상기 로봇(100)은 전방 감지 센서로 한 가지 종류의 센서를 사용하거나 필요에 따라 두 가지 종류 이상의 센서를 함께 사용할 수 있다.
일 예로, 초음파 센서는 일반적으로 원거리의 장애물을 감지하는 데에 주로 사용될 수 있다. 초음파 센서는 발신부와 수신부를 구비하여, 상기 제어부(1800)는 발신부를 통해 방사된 초음파가 장애물 등에 의해 반사되어 수신부에 수신되는 지의 여부로 장애물의 존부를 판단하고, 초음파 방사 시간과 초음파 수신 시간을 이용하여 장애물과의 거리를 산출할 수 있다.
또한, 상기 제어부(1800)는 발신부에서 방사된 초음파와, 수신부에 수신되는 초음파를 비교하여, 장애물의 크기와 관련된 정보를 검출할 수 있다. 예를 들어, 상기 제어부(1800)는 수신부에 더 많은 초음파가 수신될수록, 장애물의 크기가 큰 것으로 판단할 수 있다.
일 실시예에서, 복수(일 예로, 5개)의 초음파 센서가 상기 로봇(100)의 전방 측면에 외주면을 따라 설치될 수 있다. 이때, 바람직하게 초음파 센서는 발신부와 수신부가 교대로 상기 로봇(100)의 전면에 설치될 수 있다.
즉, 발신부는 본체의 전면 중앙으로부터 좌, 우측에 이격되도록 배치될 수 있고, 수신부의 사이에 하나 또는 둘 이상의 발신부가 배치되어 장애물 등으로부터 반사된 초음파 신호의 수신 영역을 형성할 수 있다. 이와 같은 배치로 센서의 수를 줄이면서 수신 영역을 확장할 수 있다. 초음파의 발신 각도는 크로스토크(crosstalk) 현상을 방지하도록 서로 다른 신호에 영향을 미치지 아니하는 범위의 각을 유지할 수 있다. 또한, 수신부들의 수신 감도는 서로 다르게 설정될 수 있다.
또한, 초음파 센서에서 발신되는 초음파가 상향으로 출력되도록 초음파 센서는 일정 각도만큼 상향으로 설치될 수 있고, 이때, 초음파가 하향으로 방사되는 것을 방지하기 위해 소정의 차단 부재를 더 포함할 수 있다.
한편, 전방 감지 센서는, 전술한 바와 같이, 두 가지 종류 이상의 센서를 함께 사용할 수 있고, 이에 따라, 전방 감지 센서는 적외선 센서, 초음파 센서, RF 센서 등 중 어느 한 가지 종류의 센서를 사용할 수 있다.
일 예로, 전방 감지 센서는 초음파 센서 이외에 다른 종류의 센서로 적외선 센서를 포함할 수 있다.
적외선 센서는 초음파 센서와 함께 상기 로봇(100)의 외주면에 설치될 수 있다. 적외선 센서 역시, 전방이나 측면에 존재하는 장애물을 감지하여 장애물 정보를 상기 제어부(1800)에 전달할 수 있다. 즉, 적외선 센서는, 상기 로봇(100)의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 상기 제어부(1800)에 전달한다. 따라서, 상기 본체(110)가 장애물과의 충돌없이 특정 영역 내에서 이동할 수 있다.
한편, 낭떠러지 감지 센서(또는 클리프 센서(Cliff Sensor))는, 다양한 형태의 광 센서를 주로 이용하여, 상기 본체(110)를 지지하는 바닥의 장애물을 감지할 수 있다.
즉, 낭떠러지 감지 센서는, 상기 로봇(100)의 배면에 설치되되, 상기 로봇(100)의 종류에 따라 다른 위치에 설치될 수 있음은 물론이다. 낭떠러지 감지 센서는 상기 로봇(100)의 배면에 위치하여, 바닥의 장애물을 감지하기 위한 것으로서, 낭떠러지 감지 센서는 상기 장애물 감지 센서와 같이 발광부와 수광부를 구비한 적외선 센서, 초음파 센서, RF 센서, PSD(Position Sensitive Detector) 센서 등일 수 있다.
일 예로, 낭떠러지 감지 센서 중 어느 하나는 상기 로봇(100)의 전방에 설치되고, 다른 두 개의 낭떠러지 감지 센서는 상대적으로 뒤쪽에 설치될 수 있다.
예를 들어, 낭떠러지 감지 센서는 PSD 센서일 수 있으나, 복수의 서로 다른 종류의 센서로 구성될 수도 있다.
PSD 센서는 반도체 표면저항을 이용해서 1개의 p-n접합으로 입사광의 단장거리 위치를 검출한다. PSD 센서에는 일축 방향만의 광을 검출하는 1차원 PSD 센서와, 평면상의 광위치를 검출할 수 있는 2차원 PSD 센서가 있으며, 모두 pin 포토 다이오드 구조를 가질 수 있다. PSD 센서는 적외선 센서의 일종으로서, 적외선을 이용하여, 적외선을 송신한 후 장애물에서 반사되어 돌아오는 적외선의 각도를 측정하여 거리를 측정한다. 즉, PSD 센서는 삼각측량방식을 이용하여, 장애물과의 거리를 산출한다.
PSD 센서는 장애물에 적외선을 발광하는 발광부와, 장애물로부터 반사되어 돌아오는 적외선을 수광하는 수광부를 구비하되, 일반적으로 모듈 형태로 구성된다. PSD 센서를 이용하여, 장애물을 감지하는 경우, 장애물의 반사율, 색의 차이에 상관없이 안정적인 측정값을 얻을 수 있다.
상기 제어부(1800)는 낭떠러지 감지 센서가 지면을 향해 발광한 적외선의 발광신호와 장애물에 의해 반사되어 수신되는 반사신호 간의 적외선 각도를 측정하여, 낭떠러지를 감지하고 그 깊이를 분석할 수 있다.
한편, 상기 제어부(1800)는 낭떠러지 감지 센서를 이용하여 감지한 낭떠러지의 지면 상태에 따라 통과 여부를 판단할 수 있고, 판단 결과에 따라 낭떠러지의 통과 여부를 결정할 수 있다. 예를 들어, 상기 제어부(1800)은 낭떠러지 감지 센서를 통해 낭떠러지의 존재 여부 및 낭떠러지 깊이를 판단한 다음, 낭떠러지 감지 센서를 통해 반사 신호를 감지한 경우에만 낭떠러지를 통과하도록 한다.
다른 예로, 상기 제어부(1800)는 낭떠러지 감지 센서를 이용하여 상기 로봇(100)의 들림 현상을 판단할 수도 있다.
한편, 2차원 카메라 센서는, 상기 로봇(100)의 일면에 구비되어, 이동 중 본체 주변과 관련된 이미지 정보를 획득한다.
옵티컬 플로우 센서(Optical Flow Sensor)는, 센서 내에 구비된 이미지 센서로부터 입력되는 하방 영상을 변환하여 소정 형식의 영상 데이터를 생성한다. 생성된 영상 데이터는 상기 메모리(1700)에 저장될 수 있다.
또한, 하나 이상의 광원이 옵티컬 플로우 센서에 인접하여 설치될 수 있다. 하나 이상의 광원은, 이미지 센서에 의해 촬영되는 바닥면의 소정 영역에 빛을 조사한다. 즉, 상기 로봇(100)이 바닥면을 따라 특정 영역을 이동하는 경우에, 바닥면이 평탄하면 이미지 센서와 바닥면 사이에는 일정한 거리가 유지된다. 반면, 상기 로봇(100)이 불균일한 표면의 바닥면을 이동하는 경우에는 바닥면의 요철 및 장애물에 의해 일정 거리 이상 멀어지게 된다. 이때 하나 이상의 광원은 조사되는 빛의 양을 조절하도록 상기 제어부(1800)에 의해 제어될 수 있다. 상기 광원은 광량 조절이 가능한 발광 소자, 예를 들어 LED(Light Emitting Diode) 등일 수 있다.
옵티컬 플로우 센서를 이용하여, 상기 제어부(1800)는 상기 로봇(100)의 미끄러짐과 무관하게 상기 로봇(100)의 위치를 검출할 수 있다. 상기 제어부(1800)은 옵티컬 플로우 센서에 의해 촬영된 영상 데이터를 시간에 따라 비교 분석하여 이동 거리 및 이동 방향을 산출하고, 이를 근거로 상기 로봇(100)의 위치를 산출할 수 있다. 옵티컬 플로우 센서를 이용하여 상기 로봇(100)의 하방에 대한 이미지 정보를 이용함으로써, 상기 제어부(1800)는 다른 수단에 의해 산출한 상기 로봇(100)의 위치에 대하여 미끄러짐에 강인한 보정을 할 수 있다.
3차원 카메라 센서는 상기 본체(110)의 일면 또는 일부분에 부착되어, 상기 본체(110)의 주위와 관련된 3차원 좌표 정보를 생성할 수 있다.
즉, 3차원 카메라 센서는 상기 로봇(100)과 피촬영 대상체의 원근거리를 산출하는 3차원 뎁스 카메라(3D Depth Camera)일 수 있다.
구체적으로, 3차원 카메라 센서는 상기 본체(110)의 주위와 관련된 2차원 영상을 촬영할 수 있으며, 촬영된 2차원 영상에 대응되는 복수의 3차원 좌표 정보를 생성할 수 있다.
일 실시예에서 3차원 카메라 센서는 기존의 2차원 영상을 획득하는 카메라를 2개 이상 구비하여, 상기 2개 이상의 카메라에서 획득되는 2개 이상의 영상을 조합하여, 3차원 좌표 정보를 생성하는 스테레오 비전 방식으로 형성될 수 있다.
구체적으로, 상기 실시예에 따른 3차원 카메라 센서는 상기 본체(110)의 전방을 향해 하측으로 제1 패턴의 광을 조사하는 제1 패턴 조사부와, 상기 본체의 전방을 향해 상측으로 제2 패턴의 광을 조사하는 제2 패턴 조사부 및 본체의 전방의 영상을 획득하는 영상 획득부를 포함할 수 있다. 이로써, 상기 영상 획득부는 상기 제1 패턴의 광과 상기 제2 패턴의 광이 입사된 영역의 영상을 획득할 수 있다.
또 다른 실시예에서 3차원 카메라 센서는 단일 카메라와 함께 적외선 패턴을 조사하는 적외선 패턴 방출부를 구비하고, 적외선 패턴 방출부에서 조사된 적외선 패턴이 피촬영 대상체에 투영된 모양을 캡쳐함으로써, 3차원 카메라 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3차원 카메라 센서는 IR(Infra Red) 방식의 3차원 카메라 센서일 수 있다.
또 다른 실시예에서 3차원 카메라 센서는 단일 카메라와 함께 빛을 방출하는 발광부를 구비하고, 발광부에서 방출되는 레이저 중 피촬영 대상체로부터 반사되는 일부를 수신하며, 수신된 레이저를 분석함으로써, 3차원 카메라 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3차원 카메라 센서는 TOF(Time of Flight) 방식의 3차원 카메라 센서일 수 있다.
구체적으로, 위와 같은 3차원 카메라 센서의 레이저는 적어도 일방향으로 연장된 형태의 레이저를 조사하도록 구성된다. 일 예에서, 상기 3차원 카메라 센서는 제1 및 제2 레이저를 구비할 수 있으며, 상기 제1 레이저는 서로 교차하는 직선 형태의 레이저를 조사하고, 제2 레이저는 단일의 직선 형태의 레이저를 조사할 수 있다. 이에 따르면, 최하단 레이저는 바닥 부분의 장애물을 감지하는 데에 이용되고, 최상단 레이저는 상부의 장애물을 감지하는 데에 이용되며, 최하단 레이저와 최상단 레이저 사이의 중간 레이저는 중간 부분의 장애물을 감지하는 데에 이용된다.
상기 로봇(100)이 주행하는 중에, 상기 센싱부(1400)는 상기 로봇(100) 주변의 영상들을 획득한다. 이하, 상기 센싱부(1400)에 의해 획득된 영상을 '획득영상'이라고 정의한다.
획득영상에는 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 포함된다.
상기 제어부(1800)는 획득영상들 각각으로부터 특징을 검출하고, 각 특징점을 근거로 디스크립터(descriptor)를 산출한다. 디스크립터(descriptor)는, 특징점을 나타내기 위한 소정 형식의 데이터를 의미하며 디스크립터들 간의 거리 또는 유사도가 산출 가능한 형식의 수학적 데이터를 의미한다. 예를 들어, 디스크립터는 n차원 벡터(n은 자연수) 또는 행렬 형식의 데이터일 수 있다.
상기 제어부(1800)은 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다.
다른 예로, 실(room)과 같이 소정 구역내의 획득영상들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
상기 제어부(1800)는 이 같은 과정을 거쳐, 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 또 다른 예로, 상기 제어부(1800)는 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 상기 로봇(100)의 현재 위치가 미지의 상태가 된 경우에, 기저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
상기 로봇(100)은, 미지의 현재 위치에서 상기 센싱부(1400)를 통해 획득영상을 획득한다. 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.
상기 제어부(1800)는 획득영상으로부터 특징들을 검출하고, 디스크립터를 산출한다.
상기 제어부(1800)는 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.
소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
이와 같이, 상기 제어부(1800)는 주행 구역을 구분하고 복수의 영역으로 구성된 맵을 생성하거나, 기저장된 맵을 바탕으로 상기 로봇(100)의 현재 위치를 인식할 수 있다.
한편, 상기 통신부(1100)는 단말 장치 및/또는 특정 영역 내 위치한 타 기기(본 명세서에서는 "가전 기기"라는 용어와 혼용하기로 한다)와 유선, 무선, 위성 통신 방식들 중 하나의 통신 방식으로 연결되어 신호와 데이터를 송수신한다.
상기 통신부(1100)는 특정 영역 내에 위치한 타 기기와 데이터를 송수신할 수 있다. 이때, 타 기기는 네트워크에 연결하여 데이터를 송수신할 수 있는 장치이면 어느 것이어도 무방하며, 일 예로, 공기 조화 장치, 난방 장치, 공기 정화 장치, 전등, TV, 자동차 등과 같은 장치일 수 있다. 또한, 상기 타 기기는, 문, 창문, 수도 밸브, 가스 밸브 등을 제어하는 장치 등일 수 있다. 또한, 상기 타 기기는, 온도, 습도, 기압, 가스 등을 감지하는 센서 등일 수 있다.
또한, 상기 통신부(1100)는 특정 영역 또는 일정 범위 내에 위치한 다른 청소기와 통신할 수 있다.
상기 제어부(1800)는 맵이 생성되면, 생성된 맵을 상기 통신부(1100)를 통해 외부 단말기, 서버 등으로 전송할 수 있고, 자체 메모리(1100)에 저장할 수 있다. 또한, 상기 제어부(1800)는 앞서 설명한 바와 같이, 외부 단말기, 서버 등으로부터 맵이 수신되면, 상기 메모리(1100)에 저장할 수 있다.
이하, 상기 로봇(100)이 복수로 이루어져 협업이 실시되는 이동 로봇 시스템(이하, 시스템이라 칭한다)을 설명한다.
상기 시스템(1)은, 도 3 및 도 4에 도시된 바와 같이, 제1 로봇(100a)과 제2 로봇(100b)이 네트워크(50)를 통해 서로 데이터를 주고 받을 수 있다. 또한, 상기 제1 로봇(100a) 및/또는 상기 제2 로봇(100b)은 상기 네트워크(50) 또는 다른 통신을 통해 단말기(300)로부터 수신되는 제어 명령에 의해 청소 관련 동작을 수행하거나 또는 대응되는 동작을 수행할 수 있다.
즉, 비록 도시되지는 않았지만, 복수의 로봇(100a, 100b)이 제1 네트워크 통신을 통해서는 단말기(300)와 통신을 수행하고, 제2 네트워크 통신을 통해서는 상호간에 통신을 수행하게 될 수 있다.
여기에서, 상기 네트워크(50)는 네트워크 통신을 의미할 수 있으며, WLAN(Wireless LAN), WPAN(Wireless Personal Area Network), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), Zigbee, Z-wave, Blue-Tooth, RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultrawide-Band), Wireless USB(Wireless Universal Serial Bus) 등과 같은 무선 통신 기술 중 적어도 하나를 이용한 근거리 통신을 의미할 수 있다.
도시된 네트워크(50)는 서로 통신하고자 하는 로봇들의 통신방식이 무엇인지에 따라 달라질 수 있다.
도 3에서, 상기 제1 로봇(100a) 및/또는 제2 로봇(100b)은 각각의 센싱부(130)를 통해 센싱된 정보를 상기 네트워크(50)를 통해 상기 단말기(300)에 제공할 수 있다. 또한, 상기 단말기(300)는 수신된 정보를 기초로 생성된 제어명령을 상기 네트워크(50)를 통해 상기 제1 로봇(100a) 및/또는 상기 제2 로봇(100b)에 전달할 수 있다.
또한, 도 3에서, 상기 제1 로봇(100a)의 통신부(1100)와 상기 제2 로봇(100b)의 통신부(1100)가 직접 무선 통신하거나 다른 공유기(미도시) 등을 매개로 간접 무선 통신하여, 주행 상태에 관한 정보 및 서로의 위치 정보 등을 파악할 수 있다.
일 예에서, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)로부터 수신되는 제어명령에 따라 주행 동작 및 청소 동작을 수행할 수 있다. 이러한 경우, 상기 제1 로봇(100a)은 마스터 청소기로, 상기 제2 로봇(100b)은 슬레이브 청소기로 동작한다고 말할 수 있다. 또는, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)을 추종한다고 말할 수 있다. 또는, 경우에 따라서는 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 서로 협업한다고 말할 수도 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 협업의 예를 들면, 상기 제1 로봇(100a)에는 상기 청소부(120)가 장착되고, 상기 제2 로봇(100b)에는 상기 걸레부가 장착되어, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)에 선행하며 바닥의 먼지를 흡입하고, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)에 후행하며 바닥을 닦게 될 수 있다.
도 4에는 복수의 로봇(100a, 100b) 및 복수의 단말기(300a, 300b)를 포함하여 협업이 이루어지는 시스템(1)의 일 예가 도시되어 있다.
도 4를 참조하면, 상기 시스템(1)은, 상기 복수의 로봇(100a, 100b), 네트워크(50), 서버(500), 및 상기 복수의 단말기(300a, 300b)을 포함할 수 있다.
이 중 상기 복수의 로봇(100a, 100b)과, 상기 네트워크(50), 그리고 적어도 하나의 단말기(300a)는 건물(10) 내에 배치되고, 다른 단말기(300b)와 상기 서버(500)는 상기 건물(10)의 외부에 위치할 수 있다.
상기 복수의 로봇(100a, 100b) 각각은, 자율 주행 및 자율 청소를 수행할 수 있다. 상기 복수의 로봇(100a, 100b)은, 주행 기능 및 청소 기능 외에, 내부에 각각 통신부(1100)를 구비할 수 있다.
또한, 상기 복수의 로봇(100a, 100b), 상기 서버(500), 및 상기 복수의 단말기(300a, 300b)는 상기 네트워크(50)를 통해 서로 연결되어 서로 데이터를 교환할 수 있다. 이를 위해, 비록 도시되지는 않았지만, AP(access point; AP) 장치 등의 무선 공유기를 더 포함할 수 있다. 이러한 경우, 상기 건물(10) 내부에 위치한 단말기(300a)는, 상기 AP 장치를 통해 상기 복수의 로봇(100a, 100b) 중 적어도 하나와 접속함으로써, 상기 복수의 로봇(100a, 100b)에 대한 모니터링, 원격제어 등을 수행할 수 있다. 또한, 상기 건물(10) 외부에 위치한 단말기(300b)도, 상기 AP 장치를 통해 상기 복수의 로봇(100a, 100b) 중 적어도 하나와 접속함으로써, 상기 복수의 로봇(100a, 100b)에 대한 모니터링, 원격제어 등을 수행할 수 있게 된다.
상기 서버(500)는, 이동 단말기(300b)를 통해서 직접 무선 연결될 수 있다. 또는, 상기 서버(500)는 상기 이동 단말기(300b)를 통하지 않고 상기 복수의 로봇(100a, 100b) 중 적어도 하나와 연결될 수도 있다.
상기 서버(500)는 프로그램 처리가능한 프로세서를 포함할 수 있으며, 각종 알고리즘을 구비할 수 있다. 예로서, 상기 서버(500)는 머신 러닝(machine learning) 및/또는 데이터 마이닝(data mining)의 수행과 관련된 알고리즘을 구비할 수 있다. 또 예로써, 상기 서버(500)는, 음성 인식 알고리즘을 구비할 수 있다. 이러한 경우, 음성 데이터 수신시, 수신되는 음성 데이터를, 텍스트 형식의 데이터로 변환하여, 출력할 수 있다.
상기 서버(500)는, 상기 복수의 로봇(100a, 100b)에 대한 펌웨어 정보, 운전 정보(코스 정보 등)를 저장하고, 상기 복수의 로봇(100a, 100b)에 대한 제품 정보를 등록할 수 있다. 예를 들어, 상기 서버(500)는, 로봇 제조자가 운영하는 서버이거나 또는 공개된 애플리케이션 스토어 운영자가 운영하는 서버일 수 있다.
다른 예에서, 상기 서버(500)는 상기 건물(10)의 내부 네트워크 내에 구비되어, 홈 기기들에 대한 상태 정보를 저장하거나, 홈 기기에서 공유되는 컨텐츠를 저장하는 홈 서버일 수도 있다. 상기 서버(500)가 홈 서버인 경우, 이물질과 관련된 정보, 예를 들어, 이물질 이미지 등을 저장할 수 있다.
한편, 상기 복수의 로봇(100a, 100b)은, 지그비(Zigbee), 지-웨이브(Z-wave), 블루투스(Blue-Tooth), 초광대역 무선기술(Ultra-wide Band) 등을 통해 직접 무선 연결될 수 있다. 이러한 경우, 상기 복수의 로봇(100a, 100b)은 서로의 위치 정보 및 주행 정보를 교환할 수 있다.
이때, 상기 복수의 로봇(100a, 100b) 중 어느 하나는 마스터 로봇(100a)이 되고, 다른 하나는 슬레이브 로봇(100b)이 될 수 있다.
이러한 경우, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 주행 및 청소를 제어할 수 있다. 또, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)을 추종하며 주행 및 청소를 수행할 수 있다. 여기에서, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)을 추종한다는 것은, 도 5에 도시된 바와 같이, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)과 적절한 거리를 유지하면서 상기 제1 로봇(100a)을 좇아서 주행 및 청소를 수행하는 것을 의미한다.
도 5를 참조하면, 상기 제1 로봇(100a)은 상기 제2 로봇(100b)이 상기 제1 로봇(100a)을 추종하도록 상기 제2 로봇(100b)을 제어한다.
이를 위해, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 상호 통신이 가능한 특정 영역 내에 존재하며, 상기 제2 로봇(100b)은 적어도 상기 제1 로봇(100a)의 상대 위치를 파악하고 있어야 한다.
예로써, 상기 제1 로봇(100a)의 통신부(1100)와 상기 제2 로봇(100b)의 통신부(1100)가 상호 IR 신호, 초음파 신호, 반송파 주파수, 임펄스 신호 등을 교환하고, 삼각측량 등을 통해 이를 분석하여 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 이동변위를 산출함으로써 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 상대 위치를 파악할 수 있다. 다만, 이러한 방식에 한정되지 않고, 전술한 다양한 무선 통신 기술 중 하나를 사용하여 삼각측량 등 통해 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 상대 위치를 파악할 수 있을 것이다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b) 간의 상대 위치가 인식되면, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)에 저장된 맵 정보 또는 상기 서버(500)나 상기 단말기(300) 등에 저장된 맵 정보를 기준으로 제어될 수 있다. 또한, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)에서 센싱된 장애물 정보를 공유할 수 있다. 또한, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)에서 수신되는 제어명령(예, 주행방향, 주행속도, 정지 등의 주행과 관련된 제어명령)에 의해 동작을 수행할 수 있다.
구체적으로, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)의 주행 경로를 따라 주행하면서 청소를 수행한다. 다만, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 진행방향이 항상 일치하지는 않는다. 예를 들어, 상기 제1 로봇(100a)이 상/하/좌/우로 이동하거나 회전하는 경우, 상기 제2 로봇(100b)은 소정 시간 후에 상/하/좌/우로 이동하거나 회전하므로, 현재 진행방향이 서로 달라질 수 있다.
또한, 상기 제1 로봇(100a)의 주행 속도(Va)와 상기 제2 로봇(100b)의 주행 속도(Vb)는 서로 다를 수 있다.
상기 제1 로봇(100a)은, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 통신가능한 거리를 고려하여, 상기 제2 로봇(100b)의 주행 속도(Vb)를 가변하도록 제어할 수 있다. 예로써, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 일정 거리 이상으로 멀어지면, 상기 제1 로봇(100a)은 상기 제2 로봇(100b)의 주행 속도(Vb)가 이전보다 빨라지도록 제어할 수 있다. 또, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 일정 거리 이상으로 가까워지면 상기 제2 로봇(100b)의 주행 속도(Vb)가 이전보다 느리도록 제어하거나 또는 소정 시간 정지하도록 제어할 수 있다. 이를 통해, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)를 계속 추종하며 청소를 수행할 수 있다.
이러한 상기 시스템(1)에서 상기 제1 로봇(100a)과 상기 제2 로봇(100b)은, 사용자의 개입 없이 상호 추종하거나 상호 협업하면서 주행 및 청소를 수행할 수 있다.
이를 위해서는, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 위치를 파악하거나, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 위치를 파악하는 것이 필요하다. 이는, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 상대위치를 파악하는 것을 의미할 수 있다.
이를테면, 전술한 다양한 무선 통신 기술 중 하나(예를 들어, 지그비(Zigbee), 지-웨이브(Z-wave), 블루투스(Blue-Tooth) 및 초광대역 무선기술(Ultra-wide Band) 중 하나)를 사용하여 삼각측량 등 통해 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 상대 위치를 파악할 수 있다.
두 장치의 상대위치를 구하는 삼각측량 방식은 일반적인 기술이므로, 본 명세서에서 구체적인 설명은 생략하고, 상기 시스템(1)에서 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 상대 위치를 파악하는 일 예로, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 UWB 모듈을 이용하여 상대 위치를 결정(파악)하게 되는 예시를 설명한다.
앞서 설명한 것과 같이, UWB 모듈(또는 UWB 센서)은, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각의 통신부(1100)에 포함될 수 있다. 또한, UWB모듈이 제1 로봇(100a)와 제2 로봇(100b)의 상대 위치를 센싱하는데 이용된다는 측면에서 보면, 상기 UWB 모듈은, 제1 로봇(100a) 및 제2 로봇(100b) 각각의 센싱부(1400)에 포함될 수도 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b)은, 각각에 포함된 UWB 모듈 간에 송수신되는 신호의 시간을 측정하여, 상기 제1 로봇(100a)과 상기 제2 로봇(100b) 사이의 거리(이격거리)를 파악할 수 있다.
이하, 도 6 내지 도 8을 참조하여 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 맵 정보의 공유를 통해 위치를 인식하며 협업 주행을 수행하는 원리를 설명한다.
도 6에 도시된 바와 같이, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 하나의 청소 공간에 배치될 수 있다. 통상적으로 청소가 수행되는 전체 공간인 집 등은 거실, 방, 부엌 등 여러 개의 공간으로 구분될 수 있다.
상기 제1 로봇(100a)은 해당 공간을 청소를 적어도 한 번 수행한 상태로 전체 공간에 대한 맵 정보를 가지고 있다. 이때 상기 맵 정보는 사용자에 의해서 입력된 것이거나, 상기 제1 로봇(100a)이 청소를 수행하면서 획득한 기록에 근거한 것이 가능하다. 도 6에서 상기 제1 로봇(100a)은 거실 또는 부엌에 위치한 상태이지만, 집 전체 공간에 대한 맵 정보를 가지고 있는 것이 가능하다.
여기서, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은 충전대가 할당될 수 있다. 즉, 두 로봇(100a, 100b)은 충전대를 공유하지 않고, 각각에 대응하는 충전대에서 배터리를 충전하게 될 수 있다. 이를테면, 상기 제1 로봇(100a)은 제1 충전대에 도킹하여 배터리를 충전하고, 상기 제2 로봇(100b)은 제2 충전대에 도킹하여 배터리를 충전하게 될 수 있다. 또한, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상호 간의 충전대의 위치 정보가 저장될 수 있다. 예컨대, 상기 제1 로봇(100a)에는 상기 제2 충전대의 위치 정보가 저장되어, 상기 제2 로봇(100b)의 도킹 시 위치를 인식하게 될 수 있으며, 상기 제2 로봇(100b)은 상기 제1 충전대의 위치 정보가 저장되어, 상기 제1 로봇(100a)의 도킹 시 위치를 인식하게 될 수 있게 된다.
이와 같은 공간에서 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 협업을 수행하는 과정은, 도 7에 도시된 바와 같을 수 있다.
상기 제1 로봇(100a)의 맵 정보는 상기 제2 로봇(100b)에 전달될 수 있다(S1). 이때, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 통신부(1100)가 직접 통신을 하면서 맵 정보가 전달될 수 있다. 또한 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 와이파이 등과 같이 다른 네트워크를 통하거나, 서버를 매개체로 해서 정보가 전달되는 것이 가능하다. 이때 공유되는 맵 정보는 상기 제1 로봇(100a)이 배치된 위치를 포함하는 맵 정보인 것이 가능하다. 또한 상기 제2 로봇(100b)이 배치된 위치를 포함하는 맵 정보가 공유되는 것이 가능하다. 실질적으로 상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 집이라는 전체 공간 내에 함께 존재할 수 있고, 나아가 거실 등과 같이 좀 더 특정된 공간에 함께 존재할 수 있기 때문에, 두 로봇(100a, 100b)이 위치한 공간에 대한 맵 정보가 공유되는 것이 바람직하다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 각각의 충전대에서 청소를 시작하기 위해서 이동하는 것이 가능하지만, 사용자에 의해서 각각의 로봇이 청소를 필요로 하는 공간이 이동되는 것도 가능하다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 각각 전원이 켜지고 구동되면(S2), 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 이동을 하는 것이 가능하다. 특히 상기 제2 로봇(100b)은 상기 제1 로봇(100a)과의 거리가 줄어드는 방향으로 이동되는 것이 가능하다.
이때, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 거리가 특정 거리 이내 인지를 판단한다(S3). 이때, 특정 거리는 50cm 이하인 것이 가능하다. 상기 특정 거리는 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 함께 주행을 하면서 청소를 하기 위해서 설정된 초기 배열을 위한 거리를 의미할 수 있다. 즉 특정 거리로 두 로봇(100a, 100b)이 배치되면, 이후에는 정해진 알고리즘에 따라서 두 대의 로봇이 함께 청소를 수행할 수 있다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 직접 통신이 가능하기 때문에, 상기 제2 로봇(100b)은 이동을 하면서 상기 제1 로봇(100a)과의 거리가 줄어드는 것을 확인할 수 있다. 참고로, 상기 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 사이에 이루어지는 통신으로는 상기 제2 로봇(100b)에서 상기 제1 로봇(100a)의 위치 및 향하는 방향에 대한 정확도가 높지 않아서, 추후에 정확도를 높이기 위한 기술이 추가될 수 있다.
상기 제2 로봇(100b)이 상기 제1 로봇(100a)으로부터 거리를 줄이기 위해서, 원형 또는 스파이럴 궤적을 그리며 이동하는 것이 가능하다. 즉 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 위치를 정확히 측정해서, 해당 위치로 이동하는 것이 쉽지 않기 때문에 원형 또는 스파이럴 궤적과 같이 다양한 방향으로 이동하면서 거리가 줄어드는 위치를 찾는 것이 가능하다.
만약 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 거리가 특정 거리 이내로 줄지 않는다면, 상기 제2 로봇(100b)은 지속적으로 이동을 하면서 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 간격이 특정 거리 이내로 이동되도록 한다. 이를테면, 상기 제2 로봇(100b)이 원형 궤적을 그리면서 이동을 하다가, 특정 방향으로 이동시에 거리가 줄면 지속적으로 해당 방향으로 이동을 하면서, 거리가 줄어드는지 여부를 확인할 수 있다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 간격이 특정 거리 이내로 줄어들면, 상기 제1 로봇(100a)에서 촬영된 영상이 상기 제2 로봇(100b)에 전송된다(S4). 이 경우, 맵 정보와 같이, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 직접 통신을 하는 것도 가능하고, 다른 네트워크나 서버를 통해서 통신하는 것도 가능하다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 특정 거리 이내에 위치하기 때문에, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)에서 촬영된 영상은 유사할 수 있다. 특히, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)에 마련된 카메라가 각각 전방 상측을 향해서 배치된다면, 두 로봇(100a, 100b)에서 촬영한 영상은 위치 및 방향이 동일하다면 동일한 영상이 될 수 있다. 따라서, 두 로봇(100a, 100b)에서 촬영된 영상을 비교해서, 두 로봇(100a, 100b)의 위치 및 방향을 조정해서, 두 로봇(100a, 100b)이 청소를 시작하기 위한 초기 위치 및 방향을 정렬하게 될 수 있다.
이후, 상기 제1 로봇(100a)에서 전송된 영상과 상기 제2 로봇(100b)에서 촬영된 영상을 서로 비교한다(S5). 도 8을 참조해서, 비교하는 과정을 설명한다.
도 8(a)는 상기 제1 로봇(100a)에서 영상을 촬영하는 모습을 설명한 도면이도, 도 8(b)는 상기 제2 로봇(100b)에서 영상을 촬영하는 모습을 설명한 도면이다.
상기 제1 로봇(100a)과 상기 제2 로봇(100b)에는 전방의 상측을 촬영하도록 카메라가 설치되는데, 각각의 도면에서 화살표가 표시된 방향을 향해서 촬영이 이루어진다.
도 8(a)에서와 같이, 상기 제1 로봇(100a)에서 촬영된 영상에서는 화살표 방향을 중심으로 좌측에 a2 특징점과 우측에 a1 특징점이 배치된다. 즉 상기 제1 로봇(100a)에서 촬영된 영상에서 특징점을 선택하되, 카메라가 촬영하는 전방을 중심으로 좌측과 우측에 다른 특징점을 선정하는 것이 가능하다. 따라서, 카메라에서 촬영된 영상의 좌우를 구분할 수 있다.
도 8(b)에서와 같이, 상기 제2 로봇(100b)에서는 초기에 점선 화살표를 기준으로 촬영이 이루어진다. 즉, 상기 제2 로봇(100b)에 마련된 카메라에서는 전방 상측을 향하도록 배치되어 있어서, 해당 부분을 촬영하는데 점선 화살표를 기준으로 좌측에 a1 특징점과 a4 특징점이 배치되고, 우측에 a3 특징점이 배치된다. 따라서 상기 제2 로봇(100b)에 마련된 제어부에서 특징점을 비교할 때에 두 로봇(100a, 100b)에서 촬영된 영상의 특징점에 차이가 있는 것을 확인할 수 있다.
이 경우, 도 8(b)에서와 같이 상기 제2 로봇(100b)이 반 시계 방향으로 회전을 하면 두 로봇(100a, 100b)이 바라보는 영상이 유사하게 구현될 수 있다. 즉 상기 제2 로봇(100b)이 반 시계 방향으로 회전되어서, 상기 제2 로봇(100b)의 카메라가 바라보는 방향이 실선 화살표와 같이 변경될 수 있다. 이때 상기 제2 로봇(100b)의 카메라에서 촬영된 영상을 보면 좌측에는 a2 특징점이 배치되고, 우측에는 a1 특징점이 배치된다. 따라서, 도 8(a)에서 상기 제1 로봇(100a)이 제공하는 영상과 도 8(b)에서 상기 제2 로봇(100b)에서 촬영한 영상의 특징점이 유사하게 배치할 수 있다. 이러한 과정을 통해서 두 로봇(100a, 100b)의 헤딩각이 유사하게 정렬될 수 있다. 나아가, 두 로봇(100a, 100b)이 제공하는 영상에 특징점이 유사하게 배치되면, 두 로봇(100a, 100b)이 현재 상태에서 특징점을 바라보는 위치가 특정 거리 이내에서 인접하게 배치된 것을 확인할 수 있어서, 서로 간의 위치를 정확하게 특정할 수 있다.
상술한 바와 같이 상기 제2 로봇(100b)에서 촬영된 영상과 상기 제1 로봇(100a)에서 촬영되어 전송된 영상, 즉 두 개의 영상에서 동일한 특징점을 선정하고, 선정된 특징점에 따라 판단하는 것이 가능하다. 이때 특징점은 특징으로 구분하기 쉬운 큰 물체이거나 특징으로 구분하기 쉬운 큰 물체의 일부분인 것이 가능하다. 예를 들어, 특징점은 공기 청정기, 문, 텔레비젼 등과 같은 물체이거나 옷장, 침대 등의 모서리와 같이 물체의 일부분일 수 있다.
상기 제2 로봇(100b)의 제어부(1800)에서는 두 개의 영상에서 특징점이 유사한 위치에 배치되면, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)과 주행 시작 전의 초기 위치에 배열된 것으로 판단할 수 있다. 상기 제1 로봇(100a)에서 제공된 영상과 상기 제2 로봇(100b) 에서 현재 촬영된 영상에 차이가 있으면, 상기 제2 로봇(100b)을 이동시키거나 회전시켜서, 상기 제2 로봇(100b)의 카메라에서 촬영된 영상을 변화시키는 것이 가능하다. 상기 제1 로봇(100a)의 카메라에서 촬영된 영상과 상기 제1 로봇(100a)에서 제공된 영상을 서로 비교할 때에, 두 개의 영상에서 특징점의 위치 변화가 유사한 방향으로 이루어지면, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)과 주행 시작 전의 초기 위치에 배열된 것으로 판단하는 것도 가능하다.
한편 두 개의 영상을 비교하기 쉽도록 하기 위해서, 상기 특징점은 복수 개가 선정되고, 각각의 특징점은 상기 제1 로봇(100a) 또는 상기 제2 로봇(100b)의 전방 중앙의 좌우측에 나뉘어서 배치되는 것이 바람직하다. 상기 제2 로봇(100b)과 상기 제1 로봇(100a)의 카메라는 각각 전방을 향하도록 배치되는데, 카메라를 기준으로 좌측과 우측에 서로 다른 특징점이 배치되면, 상기 제2 로봇(100b)의 제어부(1800)에서 타 청소기의 위치 및 방향을 감지하기 용이하기 때문이다. 상기 제2 로봇(100b)은 상기 특징점의 좌우 배치가 상기 제1 로봇(100a)에서 전송된 좌우 배치와 동일하도록 상기 제2 로봇(100b)을 이동 또는 회전시켜서, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 후방에 일렬로 배치되도록 할 수 있다. 특히 상기 제2 로봇(100b)과 상기 제1 로봇(100a)의 전방이 서로 일치하도록 배치해서, 이후에 함께 청소를 할 때에 초기 이동 방향 선정이 용이해질 수 있다.
상술한 과정을 통해서, 상기 제2 로봇(100b)이 공유한 맵 정보에서 상기 제1 로봇(100a)의 위치를 파악할 수 있다(S6).
또한 상기 제1 로봇(100a)과 상기 제2 로봇(100b)은 서로 공유된 내비게이션(navigation) 맵(map) 및/또는 슬램(SLAM) 맵에 기반하여 이동하면서, 서로 간의 위치 정보를 교환할 수 있다.
상기 제2 로봇(100b)은, 이동 중 또는 소정 거리 이동 후에 센싱부(1400)를 통하여 영상을 획득하고, 획득된 영상에서 영역 특징 정보를 추출할 수 있다.
상기 제어부(1800)는, 상기 획득된 영상에 기초하여 영역 특징 정보를 추출할 수 있다. 여기서, 추출된 영역 특징 정보는 상기 획득된 영상에 기초하여 인식된 영역과 사물에 대한 확률값의 집합을 포함할 수 있다.
한편, 상기 제어부(1800)는, 슬램(SLAM) 기반의 현재 위치 노드 정보, 및, 상기 추출된 영역 특징 정보에 기초하여, 현재 위치를 판별할 수 있다.
여기서 상기 슬램(SLAM) 기반의 현재 위치 노드 정보는, 기저장된 노드 특징 정보 중 상기 획득된 영상에서 추출된 특징 정보와 가장 유사한 노드에 대응할 수 있다. 즉, 상기 제어부(1800)는 각 노드에서 추출된 특징(feature) 정보를 활용하여 위치 인식을 수행하여 현재 위치 노드 정보를 선정할 수 있다.
또한 위치 추정의 정확도를 더욱 향상하기 위하여 상기 제어부(1800)는 특징(feature) 정보 및 영역 특징 정보를 모두 이용하여 위치 인식을 수행하여 위치 인식의 정확도를 높일 수 있다. 예를 들어, 상기 제어부(1800)는, 상기 추출된 영역 특징 정보를 기저장된 영역 특징 정보와 비교하여 복수의 후보 슬램 노드들을 선정하고, 상기 선정된 복수의 후보 슬램 노드들 중 슬램(SLAM) 기반의 현재 위치 노드 정보에 가장 유사한 후보 슬램 노드 정보에 기초하여 현재 위치를 판별할 수 있다.
또는, 상기 제어부(1800)는, 슬램(SLAM) 기반의 현재 위치 노드 정보를 판별하고, 상기 추출된 영역 특징 정보에 따라 상기 판별된 현재 위치 노드 정보를 보정하여 최종 현재 위치를 판별할 수 있다.
이 경우에, 상기 제어부(1800)는, 상기 슬램(SLAM) 기반의 현재 위치 노드 정보를 기준으로 소정 범위 내에 존재하는 노드들의 기저장된 영역 특징 정보 중 상기 추출된 영역 특징 정보와 가장 유사한 노드를 상기 최종 현재 위치로 판별할 수 있다.
이미지를 이용한 위치 추정 방법으로써 코너 등 로컬 특징점(local feature point)을 위치 추정 방법은 물론, 위치 추정을 위해 로컬 특징(local feature)이 아닌 오브젝트(object)의 전체적인 모양을 기술(description)하는 글로벌 특징(global feature)을 사용함으로써 조명/조도와 같은 환경 변화에 강인한 특징 추출이 가능하다, 예를 들어, 상기 제어부(1800)는 맵 생성시 영역 특징 정보(ex. 거실: 소파, 탁자, TV / 부엌: 식탁, 싱크대 / 방: 침대, 책상)를 추출하여 저장하고, 이후 실내 환경 내의 다양한 영역 특징 정보를 이용하여 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 위치를 추정할 수 있다.
즉, 본 발명에 따르면, 환경 저장 시에 영상 내 특정 지점(point)만을 이용하는 것이 아닌, 사물이나 물체, 영역 단위의 특징을 저장함으로써 조명/조도 변화에 강인한 위치 추정이 가능하다.
또한, 침대, 소파 등 사물 밑으로 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 적어도 일부가 들어간 경우에, 상기 센싱부(1400)는 사물에 의해 시야가 가려져 코너 등 특징점을 충분히 포함하는 영상이 획득하지 못할 수 있다. 또는 천장이 높은 환경에서 특정 위치에서는 천장 이미지를 이용한 특징점 추출 정확도가 낮아질 수 있다.
하지만, 본 발명에 따르면, 침대 소파 등 물체가 상기 센싱부(1400)를 가리는 경우, 천장이 높아 특징점 식별이 약한 경우 등에도, 상기 제어부(1800)는 코너 등 특징점 이외에도 소파, 거실과 같은 영역 특징 정보로 현재 위치는 판별할 수 있다.
이후에는 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 함께 주행을 하면서 청소를 수행하는 것이 가능하다. 즉, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)을 따라 주행하면서 청소를 수행하게 될 수 있다.
한편, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)이 협업 주행 중 맵 정보의 공유가 실패되는 경우에는, 상호 간의 통신을 통해 위치를 파악하게 될 수 있다. 이를테면, 앞서 설명한 바와 같이 상기 제1 로봇(100a)과 상기 제2 로봇(100b) 각각에 포함된 UWB 모듈 간에 송수신되는 신호의 시간을 측정하여, 두 로봇(100a, 100b) 사이의 거리(이격거리)를 파악하게 될 수 있다. 이 경우, UWB 모듈 간에 신호가 송수신되는 위치의 좌표를 이용한 변환식을 통해 두 로봇(100a, 100b) 사이의 거리(이격거리)를 파악될 수 있다.
이하 도 9를 참조하여, 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 위치를 변환식을 통해 산출하는 과정에 대해서 구체적으로 설명한다. 여기서, 상기 변환식은, 상기 제1 로봇(100a)의 이전 위치를 기준으로 상기 제1 로봇(100a)의 현재 위치를 표현하는 제1 좌표를, 상기 제2 로봇(100b)의 본체의 위치를 기준으로 상기 제1 로봇(100a)의 현재 위치를 표현하는 제2 좌표로 변환하는 식을 의미할 수 있다.
도 9에서, 상기 제1 로봇(100a)의 이전 위치는 점선으로 표현되고, 현재 위치는 실선으로 표현된다. 또한 상기 제2 로봇(100b)의 위치는 실선으로 표현된다.
변환식은 하기와 같이 설명되고, 하기 <수식 1>에서 3X3 행렬로 표현된다.
<변환식>
M(제2 로봇을 기준으로 표현된 제1 로봇의 현재 위치[제2좌표])= H(변환식) × R(제1 로봇의 이전 위치를 기준으로 표현한 제1 로봇의 현재 위치[제1좌표])
보다 상세한 수식으로는 하기 <수식 1>과 같이 표현될 수 있다.
<수식 1>
Figure 112020106723713-pat00001
여기서, Xr, Yr은 제1좌표이고, Xm, Ym은 제2좌표이다.
제1좌표는 상기 제1 로봇(100a)을 이동시키는 주행부(1300)에서 제공된 정보를 바탕으로 산출되는 것이 가능하다. 상기 제1 로봇(100a)의 상기 주행부(1300)에서 제공된 정보는, 휠을 회전시키는 모터의 회전 정보를 측정하는 엔코더에서 도출된 정보에서, 상기 제1 로봇(100a)의 회전을 감지하는 자이로 센서에 의해서 보정된 것이 가능하다.
상기 주행부(1300)는 상기 제1 로봇(100a)을 이동시키거나 회전시키는 구동력을 제공하는 것으로, 상기 제1 로봇(100a)에서 제공하는 신호를 상기 제2 로봇(100b)이 수신하지 못하는 상황에도 산출될 수 있다. 따라서 두 로봇(100a, 100b) 간에 신호를 송수신해서 산출되는 위치 정보에 비해서 상대적으로 정확한 위치를 판단할 수 있다. 또한, 상기 주행부(1300)는 실제 상기 제1 로봇(100a)의 이동에 관한 정보를 포함하기 때문에, 상기 제1 로봇(100a)의 위치 변화를 정확하게 설명할 수 있다.
예를 들어, 상기 제1 로봇(100a)에는 엔코더에서 모터가 회전된 것으로 감지했더라도, 자이로 센서를 이용해서, 상기 제1 로봇(100a)의 위치가 이동된 것이 아니라 회전된 것을 판별해서, 상기 제1 로봇(100a)의 위치 변화를 정확히 산출할 수 있다. 휠을 회전시키는 모터가 회전되는 경우라도, 상기 제1 로봇(100a)이 이동 없이 회전만 하는 것도 가능하기 때문에, 모터가 회전된다고 무조건 타 청소기의 위치가 이동되는 것은 아니다. 따라서, 자이로 센서를 이용하는 경우에 상기 제1 로봇(100a)의 위치 변화없이 회전만 이루어진 경우나, 위치에 변화와 회전이 함께 이루어진 경우나, 회전없이 위치 변화만 이루어진 경우 등을 구분할 수 있다. 따라서, 엔코더와 자이로 센서를 이용해서 상기 제1 로봇(100a)은 이전 위치에서 현재 위치로 변환된 제1좌표를 정확하게 산출할 수 있다. 또한 이런 정보는 상기 제1 로봇(100a)의 통신부(1100)를 통해서 네트워크로 전송되고, 네트워크를 통해서 상기 제2 로봇(100b)으로 전달될 수 있다.
제2좌표는 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 사이에 송수신된 신호(예를 들어, UWB 모듈을 이용해서 신호가 송수신될 수 있음)에 의해서 측정된다. 제2좌표는 상기 제2 로봇(100b)의 감지영역에 상기 제1 로봇(100a)이 존재해서 신호가 전달이 되는 경우에 산출될 수 있다.
도 9를 보면, H에 의해서 두 개의 좌표값이 등호에 의해서 표현될 수 있음을 알 수 있다.
한편 H를 구하기 위해서, 상기 제2 로봇(100b)의 감지영역 내에 상기 제1 로봇(100a)이 배치될 때의 data를 지속적으로 축적할 수 있다. 이러한 data는 하기 <수식 2>와 같이 표현된다. 상기 제1 로봇(100a)이 감지영역 내에 위치할 때에 많은 data를 축적한다. 이때 data는 복수 개의 제1좌표와 각각에 대응되는 복수 개의 제2좌표이다.
<수식 2>
Figure 112020106723713-pat00002
여기서, H를 구하기 위해서 하기 <수식 3>과 같이 최소 자승법을 이용하게 될 수 있다.
<수식 3>
Figure 112020106723713-pat00003
한편, H를 산출한 이후에, 계속해서 제1좌표와 제2좌표가 획득되면 H를 새롭게 산출해서, H를 갱신하는 것이 가능하다. H를 산출하는 data의 양이 많아지면, H는 더욱 신뢰성이 높은 값을 가지게 된다.
이렇게 산출된 변환식(H)를 이용해서, 상기 제2 로봇(100b)과 상기 제1 로봇(100a)이 직접 신호를 송수신하기 어려울 때에도 상기 제2 로봇(100b)이 상기 제1 로봇(100a)을 추종하게 될 수 있다. 상기 제1 로봇(100a)이 일시적으로 상기 제2 로봇(100b)의 감지영역을 벗어나서, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 위치에 관한 신호를 센싱부를 통해서 직접 받을 수 없는 경우, 상기 제2 로봇(100b)은 네트워크를 통해서 전달된 상기 제1 로봇(100a)의 주행 정보를 이용해서, 상기 제2 로봇(100b)의 위치 대비 상기 제1 로봇(100a)의 위치를 변환식에 의해서 계산할 수 있다.
상기 변환식에 의해서 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 위치를 판단할 때에는 상기 제2 로봇(100b)의 통신부(1100)을 통해서, R에 해당하는 제1좌표는 전달받아야 한다. 즉 R과 H를 알기 때문에, M이 산출될 있다. M은 상기 제2 로봇(100b)에 대한 상기 제1 로봇(100a)의 위치이다. 따라서 상기 제2 로봇(100b)은 상기 제1 로봇(100a)에 대한 상대 위치를 알 수 있고, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)을 따라서 이동할 수 있다.
한편, 상술한 기술을 기반으로, 상기 제2 로봇(100b) 또는 상기 제1 로봇(100a) 중에 어느 하나가 먼저 충전대에 접촉 후 충전에 들어가면, 다른 하나가 어느 하나의 충전대 위치(충전에 들어간 로봇에 대해 제2좌표 또는 제1좌표)를 기억 후 자신의 충전대로 이동한다. 위치를 기억했으므로 다음 번 청소부터는 감지영역의 밖에 있더라도, 추종 청소를 위해 모일 수 있다.
이와 같이 맵 정보를 이용하지 않고 상호 간의 통신 결과를 이용하여 상대 로봇의 위치를 파악하게 됨으로써, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 주행 중에도 맵 리스(Map-less) 위치 인식 방식으로 상호 간에 위치를 파악하게 될 수 있다.
이와 같이 상호 간에 위치를 파악하여 주행하는 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)은, 도 10에 도시된 바와 같이 협업 주행을 수행하게 될 수 있다. 이때, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 주행하는 청소 대상 영역은, 도 10에 도시된 바와 같이, 하나 이상의 구역으로 구분(Z1 내지 Z3)되어, 구분된 구역 단위로 청소가 이루어지게 될 수 있다.
협업 주행의 수행이 시작되면, 상기 제1 로봇(100a)이 제1 구역(Z1)에 대한 청소를 시작하고, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)의 시작 위치 근처에서 대기할 수 있다. 상기 제1 로봇(100a)이 상기 제1 구역(Z1)을 일정 기준 이상으로 청소를 완료하게 되면, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)에게 청소 가능한 구역에 대한 정보를 전달할 수 있다. 이를테면, 상기 제1 로봇(100a)이 상기 제1 구역(Z1)에 관한 정보, 또는 상기 제1 로봇(100a)이 상기 제1 구역(Z1)에서 주행한 경로에 대한 정보를 상기 제2 로봇(100b)에 전달하여, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 주행 경로에 따라 주행하도록 하게 될 수 있다.
상기 제1 로봇(100a)은 상기 제2 로봇(100b)에 청소 가능한 구역에 대한 정보를 전달한 후, 상기 제1 구역(Z1)의 잔여 부분을 청소하거나, 제2 구역(Z2)으로 넘어가 상기 제2 구역(Z2)을 청소하고, 상기 제2 로봇(100b)은 상기 제1 로봇(100a)으로부터 전달받은 정보를 근거로 상기 제1 구역(Z1)을 청소할 수 있다. 이 경우, 상기 제2 로봇(100a)은, 상기 제1 로봇(100a)으로부터 전달받은 정보를 근거로 상기 제1 로봇(100a)이 주행한 경로를 따라 주행하며 청소를 수행하게 될 수 있다.
상기 제1 로봇(100a)은, 상기 제2 로봇(100b)이 상기 제1 구역(Z1)을 청소하는 동안, 상기 제2 구역(Z2)을 청소하여, 상기 제2 구역(Z2)에 대한 청소를 완료하면 다음 미청소 구역인 제3 구역(Z3)으로 이동할 수 있다. 이때, 상기 제1 로봇(100a)은, 상기 제1 구역(Z1)에서 청소 가능한 구역에 대한 정보를 상기 제2 로봇(100b)에 전달한 바와 같이, 상기 제2 구역(Z2)에서 청소 가능한 구역에 대한 정보를 상기 제2 로봇(100b)에 전달할 수 있다. 이에 따라, 상기 제2 로봇(100a)이 상기 제1 구역(Z1)에 대한 청소를 완료한 후, 상기 제2 구역(Z2)으로 이동하여 상기 제2 구역(Z2)에 대한 청소를 수행하게 될 수 있다.
이후, 상기 제1 로봇(100a)은 상기 제3 구역(Z3)을 청소하게 되고, 상기 제1 로봇(100a)이 상기 제3 구역(Z3)을 청소하는 동안 상기 제2 로봇(100b)은 상기 제22 구역(Z2)을 청소하게 될 수 있다. 상기 제1 로봇(100a)이 상기 제3 구역(Z3)에 대한 청소를 완료하면, 마찬가지로 상기 제2 로봇(100b)이 상기 제3 구역(Z3)으로 이동하여, 상기 제1 로봇(100a)이 주행한 경로를 따라 주행하며 상기 제3 구역(Z3)을 청소하게 될 수 있다.
이와 같이 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 협업이 이루어지는 상기 시스템(1)은, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 구동 상태에 따라 협업 주행이 이루어지게 될 수 있다.
이를테면, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 상기 협업 주행이 불가한 구동 상태인 경우, 또는 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 상기 협업 주행 중 에러가 발생될 우려가 있는 경우에는 상기 협업 주행이 미수행될 수 있다.
구체적인 예를 들면, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상의 배터리 충전 용량이 일정 기준에 미달하여 상기 협업 주행을 완주할 수 없는 상태이거나, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 상호 간의 위치 인식이 불가한 구역에 위치하여 상대 로봇의 위치 인식이 이루어지지 않아 상기 협업 주행의 시작이 어려운 상태인 경우에는 상기 협업 주행이 수행되지 않게 될 수 있다.
즉, 상기 시스템(1)에서 상기 협업 주행은, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 구동 상태가 일정 기준에 만족할 시에 수행될 수 있다.
이하, 초기 구동 상태에 따라 협업 주행을 실시하게 되는 상기 시스템(1)의 실시예를 설명한다.
상기 시스템(1)의 실시예는, 도 11에 도시된 바와 같이, 청소 대상 영역을 주행하며 청소를 수행하는 복수의 이동 로봇(100a, 100b) 및 상기 복수의 이동 로봇(100a, 100b)과 통신하며, 상기 복수의 이동 로봇(100a, 100b)에 원격 제어에 대한 제어 명령을 송신하는 제어기(600)를 포함한다.
상기 복수의 이동 로봇(100a, 100b)은, 바람직하게는 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 두 로봇을 포함할 수 있다.
여기서, 상기 제1 로봇(100a)은, 상기 협업 주행의 대상 구역을 선 주행하며 먼지를 흡입하는 로봇일 수 있고, 상기 제2 로봇(100b)은, 상기 제1 로봇(100a)이 주행한 구역을 후 주행하며 먼지를 닦는 로봇일 수 있다.
즉, 상기 협업 주행은, 상기 제1 로봇(100a)이 선 주행하며 먼지를 흡입하고, 상기 제2 로봇(100b)이 후 주행하며 상기 제1 로봇(100a)이 선 주행하며 먼지를 흡입한 경로의 먼지를 닦으며 청소하게 될 수 있다.
이하에서는, 상기 복수의 이동 로봇(100a, 100b)이 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)을 모두 포함하는 의미로 사용한다.
상기 제어기(600)는, 상기 단말기(300), 상기 서버(500)의 제어기기 및 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 리모트 컨트롤러 중 하나 이상일 수 있다.
이에 따라, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)은, 상기 단말기(300), 상기 서버(500)의 제어기기 및 상기 제1 로봇(100a)과 상기 제2 로봇(100b)의 리모트 컨트롤러 중 하나 이상으로부터 상기 제어 명령을 수신하여 구동하게 될 수 있다.
상기 제어기(600)는, 바람직하게는 이동 단말기일 수 있다.
이에 따라, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)은, 상기 단말기(300)에 의해 상기 협업 주행 모드를 수행하게 될 수 있다.
상기 시스템(1)에서 상기 협업 주행은, 상기 제어기(600)에서 상기 협업 주행에 대한 제어 명령이 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)에 전달됨으로써 수행될 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상기 제어기(600)로부터 상기 청소 대상 영역을 협업하여 청소하는 협업 주행 모드에 대한 제어 명령을 입력받은 경우, 상기 복수의 이동 로봇(100a, 100b)의 구동 상태가 기설정된 기준 조건에 해당하는지 여부를 판단하고, 판단 결과에 따라 상기 협업 주행 모드를 위한 모션을 수행한다.
즉, 상기 복수의 이동 로봇(100a, 100b)은, 상기 제어 명령이 입력되면 각각의 구동 상태를 상기 기준 조건과 비교하여, 비교 결과에 따라 상기 협업 주행 모드를 위한 모션을 수행하게 될 수 있다.
상기 협업 주행 모드는, 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행을 수행하는 동작 모드를 의미할 수 있다.
상기 협업 주행 모드는, 상기 복수의 이동 로봇(100a, 100b)이 순서대로 주행하며 청소하는 모드일 수 있다.
이를테면, 일정 구역에서 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 순서대로 주행하며 청소하는 모드일 수 있다.
상기 협업 주행 모드는, 상기 복수의 이동 로봇(100a, 100b) 중 어느 한 로봇이 선 주행하며 청소한 구역을 나머지 로봇이 후 주행하며 청소하는 모드일 수 있다.
이를테면, 상기 제1 로봇(100a)이 선 주행하고, 상기 제2 로봇(100b)이 후 주행하며 청소하게 될 수 있다.
상기 시스템(1)에서 상기 협업 주행 모드가 수행되는 과정은, 도 12에 도시된 바와 같을 수 있다. 또한, 도 12에 도시된 과정에 따라 상기 시스템(1)에서 상기 협업 주행 모드가 수행되는 조건은, 도 13에 도시된 바와 같을 수 있다.
먼저, 상기 협업 주행 모드의 수행에 대한 제어 명령이 상기 복수의 이동 로봇(100a, 100b)에 입력(S10)되면, 상기 복수의 이동 로봇(100a, 100b)이 현재 위치에서 수행 중인 동작을 중지하여, 상기 구동 상태를 판단(S20)할 수 있다. 여기서, 상기 제어 명령이 입력될 때 상기 복수의 이동 로봇(100a, 100b)은, 다른 동작 모드를 기수행 중일 수 있으며, 또는 상기 충전대(400a, 400b) 각각에 도킹된 상태일 수도 있다. 상기 복수의 이동 로봇(100a, 100b)은, 다른 동작 모드의 기수행 중 여부나 상기 충전대(400a, 400b)의 도킹 여부에 관계없이 상기 제어 명령을 입력받아, 현재 위치에서 상기 구동 상태를 판단(S20)하게 될 수 있다.
상기 구동 상태는, 상기 복수의 이동 로봇(100a, 100b) 각각의 협업 주행의 수행을 위한 상태를 의미할 수 있다. 또한, 상기 구동 상태는, 상기 기준 조건과 비교되는 상기 복수의 이동 로봇(100a, 100b)의 하나 이상의 상태 정보를 포함하는 의미일 수 있다.
상기 구동 상태는, 도 13에 도시된 바와 같이, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태(구동 상태 1), 배터리 충전 상태(구동 상태 2) 및 상대 로봇의 충전대 위치 정보 상태(구동 상태 3) 중 하나 이상을 포함할 수 있다. 즉, 상기 구동 상태를 판단(S20)할 시, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태(구동 상태 1), 배터리 충전 상태(구동 상태 2) 및 상대 로봇의 충전대 위치 정보 상태(구동 상태 3) 중 하나 이상을 판단하게 될 수 있다.
상기 맵 공유 상태는, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 정보가 상호 간에 공유되고 있는지 여부에 대한 상태를 의미할 수 있다. 즉, 상기 제1 로봇(100a)에 상기 제2 로봇(100b)의 맵 정보가 공유되고, 상기 제2 로봇(100b)에 상기 제1 로봇(100a)의 맵 정보가 공유되고 있는지 여부에 대한 상태일 수 있다.
상기 배터리 충전 상태는, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량 상태를 의미할 수 있다. 즉, 상기 제1 로봇(100a)의 배터리 충전 용량 및 상기 제2 로봇(100b)의 배터리 충전 용량 각각의 충전 용량에 대한 상태일 수 있다.
상기 상대 로봇의 충전대 위치 정보 상태는, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대 위치 정보가 저장되었는지 여부에 대한 상태를 의미할 수 있다. 즉, 상기 제1 로봇(100a)에 상대 로봇인 상기 제2 로봇(100b)의 충전대(400b) 위치 정보가 저장되고, 상기 제2 로봇(100b)에 상대 로봇인 상기 제1 로봇(100a)의 충전대(400a) 위치 정보가 저장되었는지 여부에 대한 상태일 수 있다.
상기 구동 상태는, 바람직하게는, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태, 배터리 충전 상태 및 상대 로봇의 충전대 위치 정보 상태 모두를 포함할 수 있다.
상기 복수의 이동 로봇(100a, 100b) 각각이 상기 구동 상태를 판단(S20)한 후, 상기 복수의 이동 로봇(100a, 100b)이 서로 통신하여 판단 결과를 공유할 수 있다. 이에 따라, 상기 복수의 이동 로봇(100a, 100b) 각각이 상기 복수의 이동 로봇(100a, 100b) 모두의 구동 상태를 파악하게 될 수 있다. 이후, 상기 복수의 이동 로봇(100a, 100b) 중 하나 이상이 상기 구동 상태를 상기 기준 조건과 비교하여, 상기 구동 상태가 상기 기준 조건에 해당하는지 여부를 판단(S30 내지 S50)할 수 있다.
상기 기준 조건은, 상기 협업 주행 모드가 수행될 수 있는 상기 구동 상태의 조건일 수 있다. 즉, 상기 기준 조건은, 상기 협업 주행 모드가 수행될 수 있는 초기 상태 조건을 의미할 수 있다. 이에 따라, 상기 기준 조건은, 상기 구동 상태에 대응하는 조건들이 기설정될 수 있다.
상기 기준 조건은, 상기 복수의 이동 로봇(100a, 100b) 각각이 맵을 공유하는 제1 조건, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량이 기설정된 기준 용량 이상인 제2 조건 및 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대 위치 정보가 저장된 제3 조건 중 하나 이상을 포함할 수 있다.
상기 기준 조건은, 바람직하게는, 상기 제1 조건 내지 제3 조건 모두를 포함할 수 있다. 이에 따라, 상기 복수의 이동 로봇(100a, 100b)은, 상기 구동 상태와 상기 기준 조건을 비교(S30 내지 S50)하여, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태가 상기 제1 조건에 해당하는지 여부를 판단(S30)하고, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 상태가 상기 제2 조건에 해당하는지 여부를 판단(S40)하고, 상기 복수의 이동 로봇(100a, 100b) 각각의 상대 로봇의 충전대 위치 정보 상태가 상기 제3 조건에 해당하는지 여부를 판단(S50)하게 될 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상기 구동 상태가 상기 기준 조건에 해당하는지 여부를 판단(S30 내지 S50)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각이 맵을 공유하고, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량이 기설정된 기준 용량 이상인 경우, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대 위치 정보가 저장되었는지 여부를 판단(S50)한 결과에 따라 상기 협업 주행 모드를 위한 모션을 수행할 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태가 상기 제1 조건에 해당하는지 여부를 판단(S30)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태가 상기 제1 조건에 해당하는 경우, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량 상태가 상기 제2 조건에 해당하는지 여부를 판단(S40)할 수 있다. 그리고, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태가 상기 제1 조건에 해당하는지 여부를 판단(S30)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각의 맵 공유 상태가 상기 제1 조건에 미해당하는 경우에는, 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 미수행(R2)할 수 있다. 즉, 상기 복수의 이동 로봇(100a, 100b) 각각이 맵을 공유한 경우, 공유된 맵을 통해 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 수행 가능한 것으로 판단하고, 상기 복수의 이동 로봇(100a, 100b) 각각이 맵을 미공유한 경우에는, 맵 정보의 미공유에 따른 동일 구역의 협업 청소 제한으로 인해 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 수행 불가능한 것으로 판단하여, 상기 협업 주행 모드를 미수행(R2)하게 될 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량 상태가 상기 제2 조건에 해당하는지 여부를 판단(S40)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량이 상기 제2 조건에 해당하는 경우, 상기 복수의 이동 로봇(100a, 100b) 각각의 상대 로봇의 충전대 위치 정보 상태가 상기 제3 조건에 해당하는지 여부를 판단(S50)할 수 있다. 그리고, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량 상태가 상기 제2 조건에 해당하는지 여부를 판단(S40)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량이 상기 제2 조건에 미해당하는 경우에는, 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 미수행(R2)할 수 있다. 즉, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량 상태가 상기 기준 용량 이상인 경우, 충전된 용량으로 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 수행 가능한 것으로 판단하고, 상기 복수의 이동 로봇(100a, 100b) 각각의 배터리 충전 용량 상태가 상기 기준 용량 미만인 경우에는, 충전 용량의 부족으로 인해 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 수행 불가능한 것으로 판단하여, 상기 협업 주행 모드를 미수행(R2)하게 될 수 있다. 이 경우, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상에서, 배터리의 충전 용량의 부족에 대한 알림이 출력될 수 있다. 이를테면, 충전 용량이 상기 기준 용량에 미달인 로봇에서 충전 필요에 대한 알림이 출력될 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대(400a, 400b) 위치 정보가 저장되었는지 여부를 판단(S50)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대(400a, 400b) 위치 정보가 저장된 경우, 선 주행 대상 로봇이 상대 로봇과 일정 거리 이내의 위치로 이동하여 상기 협업 주행 모드를 수행(R1)할 수 있다. 상기 복수의 이동 로봇(100a, 100b)은, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대(400a, 400b) 위치 정보가 저장되었는지 여부를 판단(S50)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대 위치 정보가 미저장된 경우, 상호 간의 위치를 인식(S60)하여, 인식 결과에 따라 상기 협업 주행 모드를 위한 모션을 수행할 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상기 복수의 이동 로봇(100a, 100b) 각각의 상대 로봇의 충전대(400a, 400b) 위치 정보 상태가 상기 제3 조건에 해당하는지 여부를 판단(S50)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각의 상대 로봇의 충전대(400a, 400b) 위치 정보 상태가 상기 제3 조건에 해당하는 경우, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 전방에서 일정 거리 이내의 위치로 이동하여 상기 협업 주행 모드를 수행(R1)할 수 있다. 이를테면, 상기 제2 로봇(100b)의 전방 1[m] 지점으로 이동하여, 상기 제2 로봇(100b)에 선행하여 상기 협업 주행 모드를 수행(R1)하게 될 수 있다. 그리고, 상기 복수의 이동 로봇(100a, 100b) 각각의 상대 로봇의 충전대(400a, 400b) 위치 정보 상태가 상기 제3 조건에 해당하는지 여부를 판단(S50)한 결과, 상기 복수의 이동 로봇(100a, 100b) 각각의 상대 로봇의 충전대(400a, 400b) 위치 정보 상태가 상기 제3 조건에 미해당하는 경우, 상기 복수의 이동 로봇(100a, 100b) 각각이 상호 간에 위치를 인식(S60)하는 동작을 수행할 수 있다. 즉, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대의(400a, 400b) 위치 정보가 저장된 경우, 저장된 위치 정보로 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드를 수행 가능한 것으로 판단하여, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 전방에서 일정 거리 이내의 위치로 이동하여 상기 협업 주행 모드를 수행(R1)하고, 상기 복수의 이동 로봇(100a, 100b) 각각에 상대 로봇의 충전대의(400a, 400b) 위치 정보가 미저장된 경우에는, 상대 로봇의 충전대(400a, 400b)의 위치 파악 불가로 인해 상대 로봇의 초기 위치 및 종료 위치 파악이 불가능한 것으로 판단하여, 상호 간에 위치 인식(S60)을 위한 동작을 수행하게 될 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상호 간의 위치를 인식(S60)한 결과, 상호 간의 위치를 인식(S70)한 경우, 선 주행 대상 로봇이 상대 로봇과 일정 거리 이내의 위치로 이동하여 상기 협업 주행 모드를 수행(R1)할 수 있다. 상기 복수의 이동 로봇(100a, 100b)은, 상호 간의 위치를 인식(S60)한 결과, 어느 한 로봇이 상대 로봇의 위치를 미인식(S80)한 경우, 상기 복수의 이동 로봇(100a, 100b) 중 하나 이상에서 미인식 로봇을 상기 상대 로봇의 근방으로 이동시키도록 알리는 알림을 출력한 후, 이동 결과에 따라 상기 협업 주행 모드를 위한 모션을 수행할 수 있다. 상기 미인식 로봇이 상기 상대 로봇의 근방으로 이동된 경우, 상기 미인식 로봇이 상기 상대 로봇과의 통신 결과를 이용하여 상기 상대 로봇의 위치를 인식하는 위치 인식 동작을 수행한 후, 기설정된 주행 기준에 따라 상기 협업 주행 모드를 수행(R3)할 수 있다. 상기 복수의 이동 로봇(100a, 100b)은, 상호 간의 위치를 인식(S60)한 결과, 상기 복수의 이동 로봇(100a, 100b) 모두 위치를 미인식(S80)한 경우에는, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 근방에서 일정 거리 이내의 위치로 이동하여 상기 협업 주행 모드의 수행을 위한 모션을 수행(R4)할 수 있다.
상기 복수의 이동 로봇(100a, 100b)은, 상호 간의 위치를 인식(S60)한 결과, 상호 간의 위치를 인식(S70)한 경우, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 전방 일정 거리 이내의 위치로 이동하여 상기 협업 주행 모드를 수행(R1)할 수 있다. 이를테면, 상기 제2 로봇(100b)의 전방 1[m] 지점으로 이동하여, 상기 제2 로봇(100b)에 선행하여 상기 협업 주행 모드를 수행하게 될 수 있다. 그리고, 상기 복수의 이동 로봇(100a, 100b) 중 어느 하나가 상대 로봇의 위치를 미인식(S80)한 경우에는, 상기 복수의 이동 로봇(100a, 100b) 중 하나 이상에서 상기 미인식 로봇을 상기 상대 로봇의 근방으로 이동시키도록 알리는 알림을 출력한 후, 사용자에 의해 상기 미인식 로봇이 상기 상대 로봇의 근방으로 이동되면, 상기 미인식 로봇이 도 9에 도시된 바와 같은 맵 리스 위치 인식 방법에 따른 상기 상대 로봇과의 통신 결과를 이용하여 상기 상대 로봇의 위치를 인식하는 위치 인식 동작을 수행한 후, 상기 주행 기준에 따라 상기 협업 주행 모드를 수행(R3)할 수 있다. 이를테면, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 위치를 미인식한 경우, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 반경 50[cm] 이내의 위치로 이동된 후, 도 9에 도시된 맵 리스 위치 인식 방법에 따라 상기 제2 로봇(100b)의 위치를 인식하게 될 수 있다. 반대로, 상기 제2 로봇(100b)이 상기 제1 로봇(100b)의 위치를 미인식한 경우에는, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)의 반경 50[cm] 이내의 위치로 이동된 후, 도 9에 도시된 맵 리스 위치 인식 방법에 따라 상기 제1 로봇(100a)의 위치를 인식하게 될 수 있다. 여기서, 상기 상대 로봇의 근방은, 상기 상대 로봇의 카메라(131)와의 화각이 겹치는 정도의 거리를 의미할 수 있으며, 상기 상대 로봇의 반경 50[cm], 또는 50[cm] 내외일 수 있다. 이후, 상기 복수의 이동 로봇(100a, 100b)은, 상기 주행 기준에 따라 상기 협업 주행 모드를 수행(R3)하게 될 수 있다. 여기서, 상기 주행 기준은, 상기 협업 주행 모드의 설정을 변경 또는 제한하는 기준일 수 있다. 이를테면, 상기 협업 주행 모드에서 설정된 구역을 둘 이상의 소 영역으로 구분하여 주행하도록 설정된 기준일 수 있다. 이에 따라, 상기 복수의 이동 로봇(100a, 100b)이 상기 협업 주행 모드의 수행 중에도 상호 간에 위치 인식을 시도하게 되고, 시도 결과에 따라 위치 인식의 결과를 보정하게 될 수 있다. 만약, 상기 복수의 이동 로봇(100a, 100b) 모두 위치를 미인식(S80)한 경우에는, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 근방에서 일정 거리 이내의 위치로 이동한 후, 도 9에 도시된 맵 리스 위치 인식 방법에 따라 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상대 로봇의 위치를 인식한 후, 상기 협업 주행 모드의 수행을 위한 모션을 수행(R4)할 수 있다.
이와 같이 상기 구동 상태가 상기 기준 조건에 해당하는지 여부에 따라 상기 협업 주행 모드가 수행되는 상기 시스템(1)은, 도 14에 도시된 바와 같은 협업 주행 수행 방법으로 상기 협업 주행이 수행될 수 있다.
상기 협업 주행 수행 방법(이하, 수행 방법이라 칭한다)은, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 협업 주행을 수행하는 방법으로, 도 14에 도시된 바와 같이, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)에 협업 주행의 수행에 대한 명령이 입력되는 단계(S100), 상기 제1 로봇(100a)이 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 구동 상태를 기설정된 기준 조건과 비교하는 단계(S200) 및 비교 결과에 따라 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 협업 주행을 위한 모션을 수행하는 단계(S300)를 포함한다.
여기서, 상기 제1 로봇(100a)은, 상기 협업 주행의 대상 구역을 선 주행하며 먼지를 흡입하고, 상기 제2 로봇(100b)은, 상기 제1 로봇(100a)이 주행한 구역을 후 주행하며 먼지를 닦을 수 있다. 즉, 상기 수행 방법에 따라 상기 협업 주행을 수행하는 경우, 상기 제1 로봇(100a)은, 상기 제2 로봇(100b)에 선 주행하며 먼지를 흡입하고, 상기 제2 로봇(100b)은, 상기 제1 로봇(100a)에 후 주행하며 먼지를 닦게 될 수 있다.
상기 협업 주행의 수행에 대한 명령이 입력되는 단계(S100)는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각에서 상기 협업 주행의 수행에 대한 명령이 입력될 수 있다.
상기 협업 주행의 수행에 대한 명령이 입력되는 단계(S100)에서는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 현재 위치에서 수행 중인 동작을 중지할 수 있다.
상기 구동 상태를 기설정된 기준 조건과 비교하는 단계(S200)는, 상기 제1 로봇(100a)에서 상기 구동 상태를 기설정된 기준 조건과 비교하게 될 수 있다.
상기 구동 상태를 기설정된 기준 조건과 비교하는 단계(S200)는, 도 15에 도시된 바와 같이, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각의 맵 공유 상태 및 배터리 충전 용량 상태 각각을 상기 기준 조건 중 제1 조건 및 제2 조건과 비교하는 단계(S210) 및 상기 제1 조건 및 제2 조건과 비교한 결과에 따라, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각의 상대 로봇의 충전대 위치 정보의 저장 상태를 상기 기준 조건 중 제3 조건과 비교하는 단계(S220)를 포함할 수 있다.
상기 협업 주행을 위한 모션을 수행하는 단계(S300)는, 상기 구동 상태를 기설정된 기준 조건과 비교하는 단계(S200)의 비교 결과에 따라 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상에서 상기 협업 주행을 위한 모션을 수행하게 될 수 있다.
상기 협업 주행을 위한 모션을 수행하는 단계(S300)는, 상기 구동 상태가 상기 제1 조건 내지 상기 제3 조건 모두에 해당하는 경우, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)의 일정 거리 이내의 위치로 이동할 수 있다.
이 경우, 상기 제1 로봇(100a)은, 상기 제2 로봇(100b)의 전방 x[m] 이내의 위치로 이동하여, 상기 협업 주행을 시작하게 될 수 있다.
상기 협업 주행을 위한 모션을 수행하는 단계(S300)는, 상기 구동 상태가 상기 제1 조건 및 상기 제2 조건에 해당하고, 상기 제3 조건에 미해당하는 경우, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상호 간의 위치를 인식하여, 인식 결과에 따라 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 상기 협업 주행을 위한 모션을 수행할 수 있다.
상기 협업 주행을 위한 모션을 수행하는 단계(S300)는, 상기 상호 간의 위치를 인식한 결과, 어느 한 로봇이 상대 로봇의 위치를 미인식한 경우, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상에서 미인식 로봇을 상기 상대 로봇의 근방으로 이동시키도록 알리는 알림을 출력한 후, 이동 결과에 따라 상기 협업 주행을 위한 모션을 수행할 수 있다.
이 경우, 상기 미인식 로봇이 상기 상대 로봇의 반경 y[cm] 이내의 근방으로 이동되어, 상기 협업 주행을 위한 모션을 수행하게 될 수 있다.
상기 협업 주행을 위한 모션을 수행하는 단계(S300)는, 상기 미인식 로봇이 상기 상대 로봇의 근방으로 이동된 경우, 상기 미인식 로봇이 상기 상대 로봇과의 통신 결과를 이용하여 상기 상대 로봇의 위치를 인식하는 위치 인식 동작을 수행한 후, 기설정된 주행 기준에 따라 상기 협업 주행을 수행할 수 있다.
상기 협업 주행의 수행에 대한 명령이 입력되는 단계(S100), 상기 구동 상태를 기설정된 기준 조건과 비교하는 단계(S200) 및 상기 협업 주행을 위한 모션을 수행하는 단계(S300)를 포함하는 상기 수행 방법은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 상기 제어부(1800)를 포함할 수도 있다.
이하, 도 16 내지 21을 참조하여, 협업 주행 수행 중에 발생한 트랩(trap) 상황에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템(1)의 <실시예 1>을 설명한다.
도 16을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입하고, 서로의 위치 정보를 파악한 경우, 제1 로봇(100a)은 제2 로봇(100b)에 앞서 청소 대상구역의 오염물을 흡입할 수 있다. 또한, 도시된 바와 같이 청소 대상 구역을 하나 이상의 구역으로 구분(Z4 내지 Z6)하여, 구분된 구역 단위로 청소가 이루어질 수 있다.
제4 구역(Z4)은 제1 로봇(100a)이 주행을 완료한 후, 제2 로봇(100b)이 주행 예정인 청소 구역을 의미한다. 제5 구역(Z5)은 제1 로봇(100a)이 주행 예정인 청소 구역을 의미한다. 제6 구역(Z6)은 제1 로봇(100a)이 제5 구역(Z5)의 청소 완료 후 주행 예정인 청소 구역을 의미한다.
이 때, 도면 상에는 제4 구역(Z4) 내지 제6 구역(Z6)을 외벽과 입구(D1, D2)를 경계로 구분하였다. 하지만, 실시예가 이에 한정되는 것은 아니며, 제4 구역(Z4) 내지 제6 구역(Z6)은 일정한 크기를 기준으로 구분되거나, 외벽, 코너, 가구 등을 기준으로 구분되는 등 상술한 바와 같이 이동 로봇 시스템(1)의 협업 주행이 효율적으로 수행될 수 있는 방법으로 구분될 수 있다.
이동 로봇 시스템(1)의 협업 주행시, 제1 로봇(100a)은 제1 주행 경로(L1)에 따라 주행하며, 제2 로봇(100b)은 제2 주행 경로(L2)에 따라 주행할 수 있다. 이 때, 제1 경로(L1)는 제1 로봇(100a)이 장애물을 우회하는 등 청소 대상 구역을 청소하기 위한 모든 경로를 의미한다. 또한, 제2 주행 경로(L2)는, 제2 로봇(100b)이 청소 대상 구역을 청소하기 위한 모든 경로를 의미하며, 제1 로봇(100a)이 이미 주행한 주행 경로와 동일하게 설정할 수 있다. 하지만, 제2 로봇(100b)의 주행시 제1 로봇(100a)의 주행시에는 존재하지 않았던 장애물이 발생하는 경우, 우회하는 등의 변형된 경로로 주행할 수도 있다.
이하, 도 17 및 도 18을 참조하여 트랩(trap) 상황 및 제1 로봇(100a)이 트랩 상황인 경우에 따른 시나리오를 설명한다.
도 17을 참조하면, 제1 로봇(100a)은 제5 구역(Z5)의 청소를 완료하고, 제2 로봇(100b)은 제4 구역(Z4)의 청소를 완료한 상태이다. 또한, 제5 구역(Z5)에서 제6 구역(Z6)으로 이동 가능한 입구(D1)가 닫힌 상태이다. 따라서 제1 로봇(100a)이 트랩(trap) 상황인 경우를 나타낸다.
트랩 상황은 제1 로봇(100a) 또는 제2 로봇(100b)이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황을 의미한다. 즉, 제1 로봇(100a) 및/또는 제2 로봇(100b)이 미청소 영역으로 진입이 불가능한 상황을 의미한다. 따라서, 도 15에서 제1 로봇(100a)의 트랩 상황은 제1 로봇(100a)이 제5 구역(Z5)의 청소를 완료하였으나, 청소 예정 구역인 제6 구역으로(Z6) 진입이 불가능한 상태를 의미한다.
또한, 청소 구역의 구분과 청소 구역으로 이동 가능 여부를 나타내기 위하여, 제1 입구(D1)와 제2 입구(D2)의 열림, 닫힘으로 청소 구역간의 이동 가능 여부를 표시하였으나, 실시예가 이에 한정되는 것은 아니며, 트랩 상황은 문 이외에도 의자, 책상, 가구, 등 다양한 장애물에 의해 주행하지 않은 청소 대상 구역으로 제1 로봇(100a) 및 제2 로봇(100b)의 진입이 불가능한 상황을 포함한다.
이동 로봇 시스템(1)의 협업 주행모드 수행 중, 제1 로봇(100a)에 트랩 상황이 발생한 경우, 제1 로봇(100a)은 트랩 탈출 주행을 수행한다. 트랩 탈출 주행은 제1 로봇(100a)이 주행한 청소 구역의 외각 또는 경계를 따라 주행하는 주행 방법을 의미한다. 즉, 트랩 탈출 주행이란 제1 로봇(100a) 또는 제2 로봇(100b)가 이미 주행한 청소 구영의 외곽 또는 경계를 밀어내면서 주행하는 주행 방식을 의미한다. 제3 경로(L3)는 제1 로봇(100a) 또는 제2 로봇(100b)이 트랩 탈출 주행을 수행함에 따라 청소 구역의 외곽 또는 경계를 밀어내면서 주행하는 모든 경로를 의미한다.
트랩 상황을 탈출한 경우란, 제1 로봇(100a) 및/또는 제2 로봇(100b)이 진입이 불가능하던 미청소 구역으로 진입하는 것을 의미한다. 따라서, 제1 로봇(100a)이 트랩 상황이고, 제2 로봇(100b)은 트랩 상황이 아닌 경우에서, 제1 로봇(100a)이 트랩 탈출 주행을 수행하여 트랩 상황을 탈출한 경우, 즉 제1 로봇(100a)와 제2 로봇(100b)이 모두 트랩 상황이 아닌 경우, 제1 로봇(100a)과 제2 로봇(100b)은 다시 협업 주행을 수행한다.
또한, 제1 로봇(100a)이 트랩 상황이고, 제2 로봇(100b)은 트랩 상황이 아닌 경우, 제2 로봇(100b)은 미리 설정된 제1 시간 동안 제자리에서 대기할 수 있다. 또한, 제2 로봇(100b)은 청소 중인 제4 구역(Z4)의 주행을 종료한 후, 종료된 지점에서 미리 설정된 제1 시간 동안 대기할 수 있다. 제2 로봇(100b)이 대기하는 중, 제1 로봇(100b)이 트랩 상황을 탈출하면, 제2 로봇(100b)은 대기 상태를 해제하고 제1 로봇(100a)과 협업 주행을 수행한다.
또한, 제1 로봇(100a)이 트랩 상황이고 제2 로봇(100b)은 트랩 상황이 아닌 경우, 제2 로봇(100b)은 미리 설정된 제1 시간 동안 대기 후 이미 청소한 제4 구역(Z4)를 제4 경로(L4)를 따라 다시 재청소 할 수 있다. 이 때, 재청소 시간을 미리 설정한 제2 시간으로 설정할 수 있다. 제4 경로(L4)는 이미 주행한 제2 경로(L2)를 되돌아가거나, 재청소를 수행하기 위해 장애물을 회피하여 주행하는 등 청소 대상 구역의 재청소를 수행하기 위한 모든 경로를 의미한다. 제2 로봇(100b)이 이미 청소한 제4 구역(Z4)를 재청소 하는 중 제1 로봇(100a)이 트랩 상황을 탈출하면, 제2 로봇(100b)과 제1 로봇(100a)는 다시 협업 주행을 수행한다.
제1 시간은 1분으로 설정할 수 있으며, 제2 시간은 9분으로 설정할 수 있으나, 실시예가 이에 한정되는 것은 아니다. 제2 로봇(100b)의 대기 시간이 길어지면 바닥에 물이 고일 수 있으므로 제1 시간은 이를 방지하기 위한 적절한 시간으로 설정이 가능하다. 또한, 제2 시간은 제2 로봇(100b)이 재청소를 수행하며, 제1 로봇(100a)이 트랩 상황을 탈출하도록 대기하는 적절한 시간으로 설정할 수 있다.
제2 로봇(100b)이 제2 시간 동안 재청소를 수행하는 중, 제1 로봇(100a)이 트랩 상황을 탈출하면, 제2 로봇(100b)은 재청소를 중단하고 제1 로봇(100a)과 다시 협업 주행을 수행한다.
도 18은 제1 로봇(100a)이 트랩 상황이고 제2 로봇(100b)은 트랩 상황이 아닌 경우에서, 제2 로봇(100b)이 대기하는 제1 시간과, 재청소를 수행하는 제2 시간이 경과한 경우이다.
제1 시간과 제2 시간 동안 제1 로봇(100a)이 트랩 상황을 탈출하지 못한 경우, 제2 로봇(100b)은 협업 주행모드를 해제하고 제2 충전대(400b)로 복귀한다. 이 때, 제2 로봇(100b)이 제2 충전대(400b)로 복귀하는 제5 경로(L5)는 제2 로봇(100b)이 대기하는 제1 시간과, 재청소를 수행하는 제2 시간이 경과한 후 제2 충전대(400b)로 복귀하는 모든 경로를 의미한다.
또한, 제1 로봇(100a)이 트랩 상황이고 제2 로봇(100b)은 트랩 상황이 아닌 경우, 제2 로봇(100b)은 제1 시간 동안 대기 하거나 제2 시간 동안 재청소를 수행하지 않고, 제1 로봇(100a)이 트랩 상황인 경우 즉시 협업 주행모드를 해제하고 제2 충전대(400b)로 복귀할 수 있다.
또한, 제1 로봇(100a)만 트랩 상황인 경우, 제2 로봇(100b)은 협업 주행모드를 해제하지 않고 제2 충전대(400b)로 복귀한 후, 제1 로봇(100a)이 트랩 상황을 탈출하면, 협업 주행모드에 따라 청소를 수행할 수 있다. 제2 로봇(100b)이 제2 충전대(400b)로 복귀 후, 미리 설정된 시간 동안 제1 로봇(100a)이 트랩 상황을 탈출하지 못한 경우, 제2 로봇(100b)은 협업 주행모드를 해제하고 청소를 종료할 수 있다.
또한, 제1 로봇(100a)이 트랩 상황이고 제2 로봇(100b)은 트랩 상황이 아닌 경우, 제1 로봇(100a)이 트랩 탈출 주행을 수행하는 동안 제2 로봇(100b)은 제1 로봇(100a)의 청소가 완료되었으나 주행하지 않은 제5 구역(Z5)의 청소를 수행할 수 있다.
이하, 도 19를 참조하여 제2 로봇(100b)이 트랩 상황인 경우에 따른 시나리오를 설명한다.
도 19를 참조하면, 제1 로봇(100a)은 제5 구역(Z5)의 청소를 완료한 상태이고, 제2 로봇(100b)은 제4 구역(Z4)의 청소를 완료한 상태이다. 또한, 제4 구역(Z4)에서 제5 구역(Z5)으로 이동 가능한 입구(D2)가 닫힌 상태이다. 따라서 제2 로봇(100a)이 트랩(trap) 상황인 경우를 나타낸다.
제1 로봇(100a)은 트랩 상황이 아니며, 제2 로봇(100b)이 트랩 상황인 경우, 제2 로봇(100b)은 제3 경로(L3)를 따라 트랩 탈출 주행을 수행한다. 제3 경로(L3)에 따른 트랩 탈출 주행은 상술한 바와 마찬가지로, 제2 로봇(100b)이 주행한 청소 구역의 외곽 또는 경계를 밀어내면서 주행하는 주행 방식을 의미한다.
제2 로봇(100a)이 트랩 탈출 주행을 수행하는 동안, 제1 로봇(100a)은 제1 시간 동안 제자리에서 대기할 수 있다. 또한, 제1 로봇(100a)은 청소 중인 제5 구역(Z5)의 주행을 종료한 후, 종료된 지점에서 제1 시간 동안 대기할 수 있다. 제1 로봇(100a)이 대기하는 중, 제2 로봇(100b)이 트랩 상황을 탈출하면, 제1 로봇(100a)은 대기 상태를 해제하고 제2 로봇(100b)과 협업 주행을 수행한다.
또한, 제1 로봇(100a)은 트랩 상황이 아니며, 제2 로봇(100b)이 트랩 상황인 경우, 제1 로봇(100a)은 미리 설정된 제1 시간 동안 대기후 이미 청소한 제5 구역(Z5)을 제4 경로(L4)를 따라 다시 재청소 할 수 있다. 이 때, 재청소 시간을 미리 설정한 제2 시간으로 설정할 수 있으며, 제4 경로(L4)는 이미 주행한 제1 경로(L1)를 되돌아가거나, 재청소를 수행하기 위해 장애물을 회피하여 주행하는 등 청소 구역의 재청소를 수행하기 위한 모든 경로를 의미한다. 제1 로봇(100a)이 이미 청소한 제5 구역(Z5)를 재청소 하는 중 제2 로봇(100b)이 트랩 상황을 탈출하면, 제1 로봇(100a)과 제2 로봇(100b)은 다시 협업 주행을 수행한다.
이하 도 20을 참조하여, 제2 로봇(100b)이 트랩 상황인 경우에 따른 시나리오를 설명한다.
도 20은 제2 로봇(100b)이 트랩 상황이고 제1 로봇(100a)은 트랩 상황이 아닌 경우에서, 제1 로봇(100a)이 대기하는 제1 시간과, 재청소를 수행하는 제2 시간이 경과한 경우이다.
상술한 제1 로봇(100a)이 트랩 상황인 경우에서, 제2 로봇(100b)이 대기하는 제1 시간과, 재청소를 수행하는 제2 시간 동안 제1 로봇(100a)이 트랩 상황을 탈출하지 못한 경우, 제2 로봇(100b)이 협업 주행모드를 해제하고 제2 충전대(400b)로 복귀하는 것과는 달리, 제2 로봇(100b)이 트랩 상황인 경우에서 제1 시간과 제2 시간이 경과하면, 제1 로봇(100a)은 협업 주행 모드를 해제하고, 단독 주행을 실시한다.
즉, 제1 로봇(100a)은 트랩 상황이 아니고, 제2 로봇(100b)은 트랩 상황이면서, 제1 로봇(100a)이 대기 하는 제1 시간과, 재청소를 수행하는 제2 시간이 경과한 경우, 제1 로봇(100a)은 협업 주행모드를 해제하고 단독 주행 모드에 진입하여 단독 주행을 주행한다. 따라서, 제1 로봇(100a)은 청소 예정 구역인 제6 구역(Z6)을 주행한다. 이때 제1 로봇(100a)이 제6 구역(Z6)를 주행하는 제1 경로(L1)은 청소 구역을 청소하기 위한 모든 경로를 의미한다.
또한, 제1 로봇(100a)은 트랩 상황이 아니고, 제2 로봇(100b)은 트랩 상황인 경우, 제2 로봇(100b)에 트랩 상황이 발생한 즉시 제1 로봇(100a)은 협업 주행모드를 해제하고 단독주행모드로 진입하여 청소 예정 구역인 제6 구역(Z6)을 주행할 수 있다.
또한, 제1 로봇(100a)은 트랩 상황이 아니고, 제2 로봇(100b)은 트랩 상황인 경우, 제1 로봇(100a)은 제1 시간 동안 대기하거나, 제2 시간 동안 재청소를 수행하지 않고, 즉시 협업 주행모드를 해제하고 제1 충전대(400a)로 복귀할 수 있다. 즉, 제1 로봇(100a)은 트랩 상황이 아닌 경우, 제1 로봇(100a)은 제2 로봇(100b)이 트랩 상황이 되는 즉시 협업 주행모드를 해제하고 제1 충전대(400a)로 복귀할 수 있다.
또한, 제2 로봇(100b)만 트랩 상황인 경우, 제1 로봇(100a)은 협업 주행모드를 해제하지 않고 제1 충전대(400a)로 복귀한 후, 제2 로봇(100b)이 트랩 상황을 탈출하면, 다시 협업 주행모드를 수행하여 협업 주행을 수행할 수 있다. 제1 로봇(100a)이 제1 충전대(400a)로 복귀 후 미리 설정된 시간 동안 제2 로봇(100b)이 트랩 상황을 탈출하지 못한 경우, 제1 로봇(100a)은 협업 주행모드를 해제하고 청소를 종료할 수 있다.
이하 도 21을 참조하여, 제1 로봇(100a)과 제2 로봇(100b)이 트랩 상황인 경우에 따른 시나리오를 설명한다.
도 21을 참조하면, 제 1 입구(D1)와 제2 입구(D2)가 모두 닫힌 상태로써 제1 로봇(100a)과 제2 로봇(100b)이 모두 트랩 상황이다. 다만, 이는 설명의 편의를 위해 구분한 것으로 실시예가 이에 한정되는 것은 아니며, 제1 로봇(100a)과 제2 로봇(100b)이 같은 청소 구역을 주행하는 중 트랩 상황이 발생한 경우 등 제1 로봇(100a)와 제2 로봇(100b)이 트랩 상황인 모든 경우를 의미한다.
제1 로봇(100a)과 제2 로봇(100b)이 모두 트랩 상황인 경우, 제1 로봇(100a)과 제2 로봇(100b)은 각각 트랩 탈출 주행을 수행한다. 그리고, 트랩 탈출 주행에 따라 제1 로봇(100a)만 트랩 상황을 탈출한 경우에는, 상술한 제1 로봇(100a)은 트랩 상황이 아니고, 제2 로봇(100b)은 트랩 상황인 시나리오에 따라 동작한다. 또한, 트랩 탈출 주행에 따라 제2 로봇(100b)만 트랩 상황을 탈출한 경우에는, 상술한 제1 로봇(100a)은 트랩 상황이고, 제2 로봇(100b)은 트랩 상황이 아닌 시나리오에 따라 동작한다.
이하 도 22를 참조하여, 트랩 상황이 발생한 경우 이동 로봇 시스템(1)의 협업 주행 수행 방법을 설명한다.
도 22는 트랩 상황이 발생한 경우 이동 로봇 시스템(1)의 협업 주행 수행 방법 순서도이다.
도 22를 참조하면, 단계(S100)에서는 제1 로봇(100a)과 제2 로봇(100b)이 협업 주행 모드에 진입하고, 서로의 위치 정보를 파악하여 협업 주행을 수행하는 단계이다. 이 때, 청소 대상 구역을 하나 이상의 구역으로 구분(Z4 내지 Z6)하여, 구분된 구역 단위로 청소를 수행할 수 있다.
단계(S200)에서는, 제1 로봇(100a)과 제2 로봇(100b)이 트랩 상황인지를 판단한다. 이 때, 3가지 경우로 구분되어 트랩 상황에 따른 시나리오를 수행한다. 먼저, A case는 제1 로봇(100a)은 트랩 상황이고, 제2 로봇(100b)은 트랩 상황이 아닌 경우를 나타낸다. B case는 제1 로봇(100a)는 트랩 상황이 아니면서, 제2 로봇(100b)는 트랩 상황인 경우를 나타낸다. C case 는 제1 로봇(100a)과 제2 로봇(100b)가 모두 트랩 상황인 경우를 나타낸다.
단계(S300)에서는, A case에 따른 트랩 시나리오를 수행한다. A case에 따른 트랩 시나리오는 상술한 도 15 및 도 16의 설명에 기재한 바와 같이, 제1 로봇(100a)은 트랩 상황이고, 제2 로봇(100b)는 트랩 상황이 아닌 경우에 따른 제1 로봇(100a)과 제2 로봇(100b)의 주행을 의미한다.
그러므로, A case 트랩 시나리오에 따르면, 제1 로봇(100a)만 트랩 상황인 경우, 제1 로봇(100a)은 트랩 탈출 주행을 수행한다. 제1 로봇(100a)이 트랩 탈출 주행을 수행하는 동안, 제2 로봇(100b)은 미리 설정된 제1 시간 동안 제자리에서 대기할 수 있다. 또한, 제2 로봇(100b)은 청소 중인 청소 구역의 주행을 종료한 후, 청소가 종료된 지점에서 제1 시간 동안 대기할 수 있다. 제2 로봇(100b)이 대기하는 동안, 제1 로봇(100a)이 트랩 상황을 탈출하는 경우, 제2 로봇(100b)은 대기 상태를 해제하고 제1 로봇(100a)과 다시 협업 주행을 수행한다.
또한, 제1 로봇(100a)이 트랩 탈출 주행을 수행하는 동안, 제2 로봇(100b)은 제1 시간 동안 대기 후 이미 청소한 청소 구역을 다시 재청소 할 수 있다. 이 때, 재청소 시간을 미리 설정한 제2 시간으로 설정할 수 있다. 제2 로봇(100b)이 제2 시간 동안 재청소를 수행하는 중, 제1 로봇(100a)이 트랩 상황을 탈출하면, 제2 로봇(100b)은 재청소를 중단하고 제1 로봇(100a)과 다시 협업 주행을 수행한다.
또한, 제2 로봇(100b)이 대기하는 제1 시간과, 재청소를 수행하는 제2 시간 동안, 제1 로봇(100a)이 트랩 상황을 탈출하지 못한 경우, 제2 로봇(100b)은 협업 주행모드를 해제하고 제2 충전대(100b)로 복귀한다.
또한, 제1 로봇(100a)만 트랩 상황인 경우, 제2 로봇(100b)은 제1 시간 동안 대기하거나, 제2 시간 동안 재청소를 수행하지 않고, 제1 로봇(100a)이 트랩 상황인 경우 즉시 협업 주행모드를 해제하고 제2 충전대(400b)로 복귀할 수 있다.
또한, 도 20에는 대표적인 시나리오만 순서도로 표시하였으나, 이외에도 제1 로봇(100a)만 트랩 상황인 경우, 제2 로봇(100b)은 협업 주행모드를 해제하지 않고 제2 충전대(400b)로 복귀한 후, 제1 로봇(100a)이 트랩 상황을 탈출하면, 다시 협업 주행모드를 수행하여 청소를 진행할 수 있다. 제2 로봇(100b)이 제2 충전대(400b)로 복귀한 후, 미리 설정된 일정 시간 동안 제1 로봇(100a)이 트랩 상황을 탈출하지 못한 경우, 제2 로봇(100b)은 협업 주행모드를 해제하고 청소를 종료할 수 있다.
또한, 제1 로봇(100a)만 트랩 상황인 경우, 제2 로봇(100b)은 제1 로봇(100a)의 청소가 완료되었으나 제2 로봇(100b)이 주행하지 않은 청소구역의 청소를 수행할 수 있다.
단계(S310)에서는, 제1 로봇(100a)이 트랩 탈출 주행을 수행한 결과로써, 제1 로봇(100a)이 트랩 상황을 탈출하였는지 여부를 판단한다. 제1 로봇(100a)이 트랩 상황을 탈출한 경우, 제1 로봇(100a)과 제2 로봇(100b)이 모두 트랩 상황이 아니다. 따라서, 협업 주행을 수행(S100)한다. 하지만, 제1 로봇(100a)이 트랩 상황을 탈출 하지 못한 경우, 제2 로봇(100b)은 제2 충전대(400b)로 복귀(S600)한다.
단계(S400)에서는, B case에 따른 트랩 시나리오를 수행한다. B case에 따른 트랩 시나리오는 상술한 도 17 및 도 18의 설명에 기재한 바와 같이, 제2 로봇(100b)는 트랩 상황이고, 제1 로봇(100a)는 트랩 상황이 아닌 경우에 따른 제1 로봇(100a)과 제2 로봇(100b)의 주행을 의미한다.
그러므로, B case 트랩 시나리오에 따르면, 제2 로봇(100b)만 트랩 상황인 경우, 제2 로봇(100b)는 트랩 탈출 주행을 수행한다. 제2 로봇(100b)이 트랩 탈출 주행을 수행하는 동안, 제1 로봇(100a)은 미리 설정된 제1 시간 동안 제자리에서 대기할 수 있다. 또한, 제1 로봇(100a)은 청소 중인 청소 구역의 주행을 종료한 후, 청소가 종료된 지점에서 제1 시간 동안 대기할 수 있다. 제1 로봇(100a)이 대기하는 동안, 제2 로봇(100b)이 트랩 상황을 탈출하는 경우, 제1 로봇(100a)은 대기 상태를 해제하고 제2 로봇(100b)과 다시 협업 주행을 수행한다.
또한, 제2 로봇(100b)이 트랩 탈출 주행을 수행하는 동안, 제1 로봇(100a)은 제1 시간 동안 대기 후 이미 청소한 청소 구역을 다시 재청소 할 수 있다. 이 때, 재청소 시간을 미리 설정한 제2 시간으로 설정할 수 있다. 제1 로봇(100a)이 제2 시간 동안 재청소를 수행하는 중, 제2 로봇(100b)이 트랩 상황을 탈출하면, 제1 로봇(100a)은 재청소를 중단하고 제2 로봇(100b)과 다시 협업 주행을 수행한다.
또한, 제1 로봇(100a)이 대기하는 제1 시간과, 재청소를 수행하는 제2 시간 동안, 제2 로봇(100b)이 트랩 상황을 탈출하지 못한 경우, 제1 로봇(100a)은 협업 주행모드를 해제하고 단독 주행모드에 진입하여 단독 주행을 수행할 수 있다. 즉, 제2 로봇(100b)이 트랩 탈출 주행을 수행하는 동안, 제1 로봇(100a)은 제1 시간 동안 대기, 제2 시간 동안 재청소를 수행한 후, 단독 주행모드에 따라 단독 주행을 수행할 수 있다.
또한, 도 22에는 대표적인 시나리오만 순서도로 표시하였으나, 이외에도 제2 로봇(100b)만 트랩 상황인 경우, 제1 로봇(100a)는 제1 시간 동안 대기하거나, 제2 시간 동안 재청소를 수행하지 않고, 제2 로봇(100b)이 트랩 상황인 경우 즉시 협업 주행모드를 해제하고 제1 충전대(400a)로 복귀할 수 있다.
또한, 제2 로봇(100b)만 트랩 상황인 경우, 제1 로봇(100a)은 협업 주행모드를 해제하지 않고 제1 충전대(400a)로 복귀한 후, 제2 로봇(100b)이 트랩 상황을 탈출하면, 다시 협업 주행을 수행할 수 있다. 제1 로봇(100a)이 제1 충전대(400a)로 복귀한 후, 제2 로봇(100b)이 미리 설정된 일정 시간 동안 트랩 상황을 탈출하지 못한 경우, 제1 로봇(100a)은 협업 주행모드를 해제하고 청소를 종료할 수 있다.
단계(S410)에서는, 제2 로봇(100b)이 트랩 탈출 주행을 수행한 결과로써, 제2 로봇(100b)이 트랩 상황을 탈출하였는지 여부를 판단한다. 제2 로봇(100b)이 트랩 상황을 탈출한 경우, 제1 로봇(100a)과 제2 로봇(100b)이 모두 트랩 상황이 아니다. 따라서, 협업 주행을 수행(S100)한다. 하지만, 제2 로봇(100b)이 트랩 상황을 탈출 하지 못한 경우, 제1 로봇(100a)은 단독 주행모드에 따라 단독 주행을 수행(S700)한다.
단계(S500)에서는, 제1 로봇(100a)과 제2 로봇(100b)이 모두 트랩 상황인 C case에 대응하여, 제1 로봇(100a)과 제2 로봇(100b)이 각각 트랩 탈출 주행을 수행한다. 그 후, 단계(S510)에서, 제1 로봇(100a)과 제2 로봇(100b)의 트랩 상황 탈출 여부를 각각 판단한다. 제2 로봇(100b)만 트랩 상황을 탈출한 경우, A case에 해당하므로 A case 트랩 시나리오를 수행(S300)한다. 제1 로봇(100a)만 트랩 상황을 탈출한 경우, B case에 해당하므로 B case 트랩 시나리오(S400)을 수행한다. 또한, 제1 로봇(100a)과 제2 로봇(100b)가 모두 탈출한 경우에는 협업 주행을 수행(S100)할 수 있다.
이하, 도 23 내지 도 29를 참조하여, 협업 주행 수행 중에 발생한 오류(error)에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템(1)의 <실시예 2>를 설명한다.
제1 로봇(100a) 및 제2 로봇(100b)은 네트워크(50)를 이용하여 협업 주행 모드에 진입할 수 있다. 도 23을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입하고, 서로의 위치 정보를 파악한 경우, 제1 로봇(100a)은, 제2 로봇(100b)의 주행 이전에 주행하여 청소 대상 구역(Z4)의 오염물을 흡입할 수 있다. 여기서, 오염물은 청소 대상 구역(Z4)에 존재하는 먼지, 이물질, 쓰레기 등 흡입이 가능한 모든 물질을 포함하는 개념일 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 주행한 경로(L1)를 따라 주행하여 청소 대상 구역(Z4)의 바닥을 닦을 수 있다. 여기서, 제2 로봇(100b)이 바닥을 닦는다는 것은, 제1 로봇(100a)이 흡입할 수 없는 액체 등의 물질을, 제2 로봇(100b)이 물 걸레질하여 닦는 것을 의미할 수 있다. 다만, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나에 오류가 발생하여 협업 주행이 중단되는 경우가 발생할 수 있다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행 수행 중에 발생한 오류에 대응하여, 미리 설정된 시나리오를 수행할 수 있다.
표 1은, 제1 로봇(100a) 및 제2 로봇(100b)이, 협업 주행 수행 중에 발생한 오류에 대응하여 수행하는, 미리 설정된 시나리오에 관한 제1 실시예 내지 제7 실시예를 나타낸 표이다. 표 1에서, '오류'는, 제1 로봇(100a) 또는 제2 로봇(100b)이, 장애물에 걸렸거나, 또는 바퀴가 빠지거나, 또는 휠을 회전시키는 모터가 고장나는 등, 협업 주행을 계속 수행할 수 없는 상태를 의미한다. 또한, '정상'은, 제1 로봇(100a) 또는 제2 로봇(100b)이, 오류가 발생하지 않고, 협업 주행을 계속 수행할 수 있는 상태를 의미한다.
표 1에서, 제1 실시예 내지 제7 실시예의 각 오류에 대하여 상이한 부호를 붙였으며, 이는 설명의 편의를 위한 것이다. 또한, 이하 설명할 각 실시예는 독립적인 것으로 이해되어야 할 것이다. 한편, 제1 로봇(100a) 및 제2 로봇(100b)은, 사용자로부터 재 주행(resume) 명령을 입력 받을 수 있는 버튼을 구비할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 오류가 해결된 다음, 재 주행 명령을 입력 받고, 서로의 위치 정보를 파악한 경우, 협업 주행을 다시 수행할 수 있다. 재 주행 명령은, 후술할, 제2 실시예, 제3 실시예, 제6 실시예, 및 제7 실시예와 관련된다. 이하, 표 1을 참조하여, 제1 실시예 내지 제7 실시예를 구체적으로 설명한다.
실시예 제1 로봇(100a)의 상태 제2 로봇(100b)의 상태
1 오류(a) 정상
2 오류(b) 정상
3 오류(c) 정상
4 오류(d) 오류(e)
5 정상 오류(f)
6 정상 오류(g)
7 정상 오류(h)
제1 실시예는, 협업 주행 수행 중에, 제1 로봇(100a)에 오류(a)가 발생하고, 미리 설정된 대기 시간이 경과한 경우의 시나리오이다. 이 경우, 제1 로봇(100a)은, 미리 설정된 대기 시간 이후, 전원을 종료할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 24a를 참조하면, 제1 실시예에서, 제2 로봇(100b)은, 협업 주행 모드를 해제하고 제1 로봇(100a)이 주행한 지점(P1)까지 주행(L2)한 다음, 제2 충전대(400b)에 복귀(L3)할 수 있다. 여기서, 제1 로봇(100a)이 주행한 지점(P1)은, 오류(a)가 발생한 시점의 제1 로봇(100a)의 위치이다. 즉, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물을 흡입한 지점(P1)까지 주행(L2)하여 바닥을 닦은 다음, 제2 충전대(400b)에 복귀(L3)할 수 있다. 한편, 제1 실시예의 다른 실시예로서, 제2 로봇이(100b), 협업 주행 모드를 해제한 다음, 제2 충전대(400b)에 복귀하지 않고, 단독 주행을 수행하는 것이 고려될 수 있다.제2 실시예는, 협업 주행 수행 중에, 제1 로봇(100a)에 오류(b)가 발생하였으나, 미리 설정된 대기 시간에, 오류(b)의 해결 및 제1 로봇(100a)에 재 주행 명령이 입력되고, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악한 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행을 다시 수행할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 24b를 참조하면, 제2 실시예에서, 제2 로봇(100b)은, 오류(b)의 발생 시점부터 협업 주행을 다시 수행하는 시점 이전까지, 제2 로봇(100b) 자신이 주행했던 청소 대상 구역을 다시 주행(L4)할 수 있다. 즉, 제2 로봇(100b)이 대기 시간에 제자리에 가만히 있는 경우, 대기하고 있는 지점에 물이 흥건해질 수 있으므로, 제2 로봇(100b)은 이미 바닥을 닦았던 청소 대상 구역의 바닥을 다시 닦을 수 있다. 한편, 제2 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇이(100b), 협업 주행을 수행하지 않고, 협업 주행 모드를 해제한 다음, 각각 단독 주행을 수행하는 것이 고려될 수 있다.제 3 실시예는, 협업 주행 수행 중에, 제1 로봇(100a)에 오류(c)가 발생하고, 미리 설정된 대기 시간에, 오류(c)의 해결 및 제1 로봇(100a)에 재 주행 명령이 입력되었으나, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악하지 못한 경우의 시나리오이다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 도 24c를 참조하면, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행을 수행(L5)할 수 있다. 또한, 제2 로봇(100b)은, 협업 주행 모드를 해제하고 제1 로봇(100a)이 주행한 지점(P2)까지 주행(L6)한 다음, 제2 충전대(400b)에 복귀(L7)할 수 있다. 여기서, 제1 로봇(100a)이 주행한 지점(P2)은, 오류(c)가 발생한 시점의 제1 로봇(100a)의 위치이다. 즉, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물을 흡입한 지점(P2)까지 주행(L6)하여 바닥을 닦은 다음, 제2 충전대(400b)에 복귀(L7)할 수 있다. 한편, 제3 실시예의 다른 실시예로서, 제2 로봇이(100b), 협업 주행 모드를 해제한 다음, 제2 충전대(400b)에 복귀하지 않고, 단독 주행을 수행하는 것이 고려될 수 있다. 또한, 제3 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇(100b)이, 협업 주행 모드를 해제한 다음, 각각 충전대(400a, 400b)로 복귀하는 것이 고려될 수 있다. 또한, 제3 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드를 해제한 다음, 제1 로봇(100a)은 제1 충전대(400a)에 복귀하고, 제2 로봇(100b)은 단독 주행을 수행하는 것이 고려될 수 있다.
제4 실시예는, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b)에 모두 오류가 발생하고, 미리 설정된 대기 시간이 경과한 경우의 시나리오이다. 즉, 제 4 실시예는, 제1 로봇(100a)에 오류(d)가 발생하고, 제2 로봇에 오류(e)가 발생한 경우이다. 도 25를 참조하면, 제1 로봇(100a)과 제2 로봇(100b)은, 미리 설정된 대기 시간 이후에, 각각 자신의 전원을 종료할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다.
제5 실시예는, 협업 주행 수행 중에, 제2 로봇(100b)에 오류(f)가 발생하고, 미리 설정된 대기 시간이 경과한 경우의 시나리오이다. 이 경우, 제2 로봇(100b)은, 미리 설정된 대기 시간 이후, 전원을 종료할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 26a를 참조하면, 제 5실시예에서, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행을 수행(L8)할 수 있다. 한편, 제5 실시예의 다른 실시예로서, 제1 로봇이(100a), 협업 주행 모드를 해제한 다음, 단독 주행을 수행하지 않고, 충전대(400a)에 복귀하는 것이 고려될 수 있다.
제6 실시예는, 협업 주행 수행 중에, 제2 로봇(100b)에 오류(g)가 발생하였으나, 미리 설정된 대기 시간에, 오류(g)의 해결 및 제2 로봇(100b)에 재 주행 명령이 입력되고, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악한 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행을 다시 수행할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 26b를 참조하면, 제6 실시예에서, 제1 로봇(100a)은, 오류(g)의 발생 시점부터 협업 주행을 다시 수행하는 시점 이전까지, 제1 로봇(100a) 자신이 주행했던 청소 대상 구역을 다시 주행(L9)할 수 있다. 한편, 제6 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇이(100b), 협업 주행을 수행하지 않고, 협업 주행 모드를 해제한 다음, 각각 단독 주행을 수행하는 것이 고려될 수 있다.
제7 실시예는, 협업 주행 수행 중에, 제2 로봇에 오류(h)가 발생하고, 미리 설정된 대기 시간에, 오류(h)의 해결 및 제2 로봇(100b)에 재 주행 명령이 입력되었으나, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악하지 못한 경우의 시나리오이다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 도 26c를 참조하면, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행(L10)을 수행할 수 있다. 또한, 제2 로봇(100b)은, 협업 주행 모드를 해제하고 제1 로봇(100a)이 주행한 지점(P3)까지 주행한 다음, 제2 충전대(400b)에 복귀할 수 있다. 여기서, 제1 로봇(100a)이 주행한 지점(P3)은, 오류(h)가 발생한 시점의 제1 로봇(100a)의 위치이다. 즉, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물을 흡입한 지점(P3)까지 주행(L11)하여 바닥을 닦은 다음, 제2 충전대(400b)에 복귀(L12)할 수 있다. 한편, 제7 실시예의 다른 실시예로서, 제1 로봇이(100a), 협업 주행 모드를 해제한 다음, 단독 주행을 수행하지 않고, 제1 충전대(400a)에 복귀하는 것이 고려될 수 있다. 또한, 제7 실시예의 다른 실시예로서, 제2 로봇이(100b), 협업 주행 모드를 해제한 다음, 제2 충전대(400b)에 복귀하지 않고, 단독 주행을 수행하고, 제1 로봇(100a)이, 협업 주행 모드를 해제한 다음, 단독 주행을 수행하거나, 충전대(400a)에 복귀하는 것이 고려될 수 있다.
이하, 도 27 및 도 28을 참조하여, 협업 주행 수행 중에 발생한 키드냅(kidnap)에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템(1)을 설명한다.
제1 로봇(100a) 및 제2 로봇(100b)은 네트워크(50)를 이용하여 협업 주행 모드에 진입할 수 있다. 다시 도 23을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입하고, 서로의 위치 정보를 파악한 경우, 제1 로봇(100a)은, 제2 로봇(100b)의 주행 이전에 주행하여 청소 대상 구역(Z4)의 오염물을 흡입할 수 있다. 여기서, 오염물은 청소 대상 구역(Z4)에 존재하는 먼지, 이물질, 쓰레기 등 흡입이 가능한 모든 물질을 포함하는 개념일 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 주행한 경로(L1)를 따라 주행하여 청소 대상 구역(Z4)의 바닥을 닦을 수 있다. 여기서, 제2 로봇(100b)이 바닥을 닦는다는 것은, 제1 로봇(100a)이 흡입할 수 없는 액체 등의 물질을, 제2 로봇(100b)이 물 걸레질하여 닦는 것을 의미할 수 있다. 다만, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나에 키드냅이 발생하여 협업 주행이 중단되는 경우가 발생할 수 있다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행 수행 중에 발생한 키드냅에 대응하여, 미리 설정된 시나리오를 수행할 수 있다.
표 2는, 제1 로봇(100a) 및 제2 로봇(100b)이, 협업 주행 수행 중에 발생한 키드냅에 대응하여 수행하는, 미리 설정된 시나리오에 관한 제1 실시예 내지 제7 실시예를 나타낸 표이다. 표 2에서, '키드냅'은, 사용자가, 주행 중이던 제1 로봇(100a) 또는 제2 로봇(100b)을 들어서 다른 위치에 놓는 것을 의미한다. 또한, '정상'은, 제1 로봇(100a) 또는 제2 로봇(100b)이, 키드냅이 발생하지 않고, 협업 주행을 계속 수행할 수 있는 상태를 의미한다.
표 2에서, 제1 실시예 내지 제7 실시예의 각 키드냅에 대하여 상이한 부호를 붙였으며, 이는 설명의 편의를 위한 것이다. 또한, 이하 설명할 각 실시예는 독립적인 것으로 이해되어야 할 것이다. 한편, 제1 로봇(100a) 및 제2 로봇(100b)은, 사용자로부터 재 주행(resume) 명령을 입력 받을 수 있는 버튼을 구비할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 재 주행 명령을 입력 받고, 서로의 위치 정보를 파악한 경우, 협업 주행을 다시 수행할 수 있다. 재 주행 명령은, 후술할, 제2 실시예, 제3 실시예, 제4 실시예, 제6 실시예, 및 제 7 실시예와 관련된다. 이하, 표 2를 참조하여, 제1 실시예 내지 제7 실시예를 구체적으로 설명한다.
실시예 제1 로봇(100a)의 상태 제2 로봇(100b)의 상태
1 키드냅(i) 정상
2 키드냅(j) 정상
3 키드냅(k) 정상
4 키드냅(l) 키드냅(m)
5 정상 키드냅(n)
6 정상 키드냅(o)
7 정상 키드냅(p)
제1 실시예는, 협업 주행 수행 중에, 제1 로봇(100a)에 키드냅(i)이 발생하고, 미리 설정된 대기 시간이 경과한 경우의 시나리오이다. 이 경우, 제1 로봇(100a)은, 미리 설정된 대기 시간 이후, 전원을 종료할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 27a를 참조하면, 제1 실시예에서, 제2 로봇(100b)은, 협업 주행 모드를 해제하고 제1 로봇(100a)이 주행한 지점(Q1)까지 주행(L13)한 다음, 제2 충전대(400b)에 복귀(L14)할 수 있다. 여기서, 제1 로봇(100a)이 주행한 지점(Q1)은, 키드냅(i)이 발생한 시점의 제1 로봇(100a)의 위치이다. 즉, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물을 흡입한 지점(Q1)까지 주행(L13)하여 바닥을 닦은 다음, 제2 충전대(400b)에 복귀(L14)할 수 있다. 한편, 제1 실시예의 다른 실시예로서, 제2 로봇이(100b), 협업 주행 모드를 해제한 다음, 제2 충전대(400b)에 복귀하지 않고, 단독 주행을 수행하는 것이 고려될 수도 있다.제2 실시예는, 협업 주행 수행 중에, 제1 로봇(100a)에 키드냅(j)이 발생하고, 미리 설정된 대기 시간에 제1 로봇(100a)에 재 주행 명령이 입력되고, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악한 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행을 다시 수행할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 27b를 참조하면, 제2 실시예에서, 제2 로봇(100b)은, 키드냅(j)의 발생 시점부터 협업 주행을 다시 수행하는 시점 이전까지, 제2 로봇(100b) 자신이 주행했던 청소 대상 구역을 다시 주행(L15)할 수 있다. 즉, 제2 로봇(100b)이 대기 시간에 제자리에 가만히 있는 경우, 대기하고 있는 지점에 물이 흥건해질 수 있으므로, 제2 로봇(100b)은 이미 바닥을 닦았던 청소 대상 구역의 바닥을 다시 닦을 수 있다. 한편, 제2 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇이(100b), 협업 주행을 수행하지 않고, 협업 주행 모드를 해제한 다음, 각각 단독 주행을 수행하는 것이 고려될 수 있다.제 3 실시예는, 협업 주행 수행 중에, 제1 로봇(100a)에 키드냅(k)이 발생하고, 미리 설정된 대기 시간에 제1 로봇(100a)에 재 주행 명령이 입력되었으나, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악하지 못한 경우의 시나리오이다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 도 27c를 참조하면, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행을 수행(L16)할 수 있다. 또한, 제2 로봇(100b)은, 협업 주행 모드를 해제하고 제1 로봇(100a)이 주행한 지점(Q2)까지 주행(L17)한 다음, 제2 충전대(400b)에 복귀(L18)할 수 있다. 여기서, 제1 로봇(100a)이 주행한 지점(Q2)은, 키드냅(k)이 발생한 시점의 제1 로봇(100a)의 위치이다. 즉, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물을 흡입한 지점(Q2)까지 주행(L17)하여 바닥을 닦은 다음, 제2 충전대(400b)에 복귀(L18)할 수 있다. 한편, 제3 실시예의 다른 실시예로서, 제2 로봇이(100b), 협업 주행 모드를 해제한 다음, 제2 충전대(400b)에 복귀하지 않고, 단독 주행을 수행하는 것이 고려될 수 있다. 또한, 제3 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇(100b)이, 협업 주행 모드를 해제한 다음, 각각 충전대(400a, 400b)로 복귀하는 것이 고려될 수 있다. 또한, 제3 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드를 해제한 다음, 제1 로봇(100a)은 제1 충전대(400a)에 복귀하고, 제2 로봇(100b)은 단독 주행을 수행하는 것이 고려될 수 있다.
제4 실시예는, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b)에 모두 키드냅이 발생하고, 미리 설정된 대기 시간이 경과한 경우의 시나리오이다. 즉, 제 4 실시예는, 제1 로봇(100a)에 키드냅(l)이 발생하고, 제2 로봇(100b)에 키드냅(m)이 발생한 경우이다. 이 경우, 미리 설정된 대기 시간에 제1 로봇(100a) 및 제2 로봇(100b)에 재 주행 명령이 입력되고, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치를 파악한 경우, 제1 로봇(100a) 및 제2 로봇(100b)은 협업 주행을 다시 수행할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 제4 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇(100b) 중 하나에만 재 주행 명령이 입력된 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 상황에 따라, 전술한, 제1 실시예 내지 제3 실시예, 및 후술할, 제5 실시예 내지 제7 실시예 중 어느 하나의 시나리오를 따를 수 있다.
제5 실시예는, 협업 주행 수행 중에, 제2 로봇(100b)에 키드냅(n)이 발생하고, 미리 설정된 대기 시간이 경과한 경우의 시나리오이다. 이 경우, 제2 로봇(100b)은, 미리 설정된 대기 시간 이후, 전원을 종료할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 28a를 참조하면, 제 5실시예에서, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행을 수행(L19)할 수 있다. 한편, 제5 실시예의 다른 실시예로서, 제1 로봇이(100a), 협업 주행 모드를 해제한 다음, 단독 주행을 수행하지 않고, 충전대(400a)에 복귀하는 것이 고려될 수 있다.
제6 실시예는, 협업 주행 수행 중에, 제2 로봇(100b)에 키드냅(o)이 발생하였으나, 미리 설정된 대기 시간에 제2 로봇(100b)에 재 주행 명령이 입력되고, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악한 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행을 다시 수행할 수 있다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 한편, 도 28b를 참조하면, 제6 실시예에서, 제1 로봇(100a)은, 키드냅(o)의 발생 시점부터 협업 주행을 다시 수행하는 시점 이전까지, 제1 로봇(100a) 자신이 주행했던 청소 대상 구역을 다시 주행(L20)할 수 있다. 한편, 제6 실시예의 다른 실시예로서, 제1 로봇(100a) 및 제2 로봇이(100b), 협업 주행을 수행하지 않고, 협업 주행 모드를 해제한 다음, 각각 단독 주행을 수행하는 것이 고려될 수 있다.
제7 실시예는, 협업 주행 수행 중에, 제2 로봇에 키드냅(p)이 발생하고, 미리 설정된 대기 시간에 제2 로봇(100b)에 재 주행 명령이 입력되었으나, 제1 로봇(100a)과 제2 로봇(100b)이 서로의 위치 정보를 파악하지 못한 경우의 시나리오이다. 여기서, 미리 설정된 대기 시간은 10분일 수 있다. 도 28c를 참조하면, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행(L21)을 수행할 수 있다. 또한, 제2 로봇(100b)은, 협업 주행 모드를 해제하고 제1 로봇(100a)이 주행한 지점(Q3)까지 주행한 다음, 제2 충전대(400b)에 복귀할 수 있다. 여기서, 제1 로봇(100a)이 주행한 지점(Q3)은, 키드냅(p)이 발생한 시점의 제1 로봇(100a)의 위치이다. 즉, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물을 흡입한 지점(Q3)까지 주행(L22)하여 바닥을 닦은 다음, 제2 충전대(400b)에 복귀(L23)할 수 있다. 한편, 제7 실시예의 다른 실시예로서, 제1 로봇이(100a), 협업 주행 모드를 해제한 다음, 단독 주행을 수행하지 않고, 제1 충전대(400a)에 복귀하는 것이 고려될 수 있다. 또한, 제7 실시예의 다른 실시예로서, 제2 로봇이(100b), 협업 주행 모드를 해제한 다음, 제2 충전대(400b)에 복귀하지 않고, 단독 주행을 수행하고, 제1 로봇(100a)이, 협업 주행 모드를 해제한 다음, 단독 주행을 수행하거나, 충전대(400a)에 복귀하는 것이 고려될 수 있다.
이하, 협업 주행 수행 중에 발생한 통신 장애에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템(1)을 설명한다.
제1 로봇(100a) 및 제2 로봇(100b)은 네트워크(50)를 이용하여 협업 주행 모드에 진입할 수 있다. 다시 도 23을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입하고, 서로의 위치 정보를 파악한 경우, 제1 로봇(100a)은, 제2 로봇(100b)의 주행 이전에 주행하여 청소 대상 구역(Z4)의 오염물을 흡입할 수 있다. 여기서, 오염물은 청소 대상 구역(Z4)에 존재하는 먼지, 이물질, 쓰레기 등 흡입이 가능한 모든 물질을 포함하는 개념일 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 주행한 경로(L1)를 따라 주행하여 청소 대상 구역(Z4)의 바닥을 닦을 수 있다. 여기서, 제2 로봇(100b)이 바닥을 닦는다는 것은, 제1 로봇(100a)이 흡입할 수 없는 액체 등의 물질을, 제2 로봇(100b)이 물 걸레질하여 닦는 것을 의미할 수 있다. 다만, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나에 통신 장애가 발생할 수 있다. 여기서, 통신 장애는, 제1 로봇(100a) 또는 제2 로봇(100b)이, 네트워크를 이용하여 다른 이동 로봇과 데이터를 송신 또는 수신할 수 없는 모든 종류의 장애를 의미한다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행 수행 중에 발생한 통신 장애에 대응하여, 미리 설정된 시나리오를 수행할 수 있다.
제1 로봇(100a) 및 제2 로봇(100b)을 연결하는 네트워크(50)는, 제1 네트워크, 그리고 제2 네트워크를 포함할 수 있다. 제1 네트워크는, 제1 로봇(100a)과 제2 로봇(100b)이, 청소 대상 구역(Z4)의 맵 정보를 공유하기 위한 네트워크일 수 있다. 여기서, 제1 네트워크는 와이파이일 수 있다. 또한, 제2 네트워크는, 제1 로봇(100a)과 제2 로봇(100b)이, 제1 로봇(100a) 및 제2 로봇(100b) 사이의 이격 거리를 파악하기 위한 네트워크일 수 있다. 여기서, 제2 네트워크는 UWB일 수 있다. 제1 로봇(100a)과 제2 로봇(100b)의, 와이파이를 이용한 맵 정보의 공유 방법, 그리고 UWB를 이용한 제1 로봇(100a) 및 제2 로봇(100b) 사이의 이격 거리의 파악 방법은 전술하였으므로 생략한다. 이하, 제1 로봇(100a) 및 제2 로봇(100b)이, 협업 주행 수행 중에 발생한 통신 장애에 대응하여 수행하는, 미리 설정된 시나리오에 관한 제1 실시예 및 제2 실시예를 구체적으로 설명한다.
제 1 실시예는, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b) 사이에, 제1 네트워크 또는 제2 네트워크의 연결이 해제된 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행을 계속 수행할 수 있다. 즉, 제1 로봇(100a) 및 제2 로봇(100b) 사이에 제1 네트워크 또는 제2 네트워크의 연결이 해제되었다는 것은, 제1 로봇(100a) 및 제2 로봇(100b) 사이에 제1 네트워크 및 제2 네트워크 중 하나는 연결되어 있다는 것을 의미한다.
제2 실시예는, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b) 사이에, 제1 네트워크 및 제2 네트워크의 연결이 모두 해제된 경우의 시나리오이다. 이 경우, 제1 로봇(100a)은, 협업 주행 모드를 해제한 다음, 단독 주행을 수행할 수 있다. 또한, 제2 로봇(100b)은, 협업 주행 모드를 해제한 다음, 제2 충전대(100b)에 복귀할 수 있다.
이하, 도 29를 참조하여, 이동 로봇 시스템(1)이, 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응하여, 미리 설정된 시나리오를 수행하는 방법을 설명한다.
도 29를 참조하면, 단계(S100)에서, 제1 로봇(100a) 및 제2 로봇(100b)은 네트워크(50)를 이용하여 협업 주행 모드에 진입할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입하는 과정은 전술하였으므로, 구체적인 내용은 생략한다.
단계(S200)에서, 제1 로봇(100a) 및 제2 로봇(100b)은, 서로의 위치를 파악하여 협업 주행을 수행할 수 있다. 다시 도 14를 참조하면, 제1 로봇(100a)은, 제2 로봇(100b)의 주행 이전에 주행하여 청소 대상 구역(Z4)의 오염물을 흡입할 수 있다. 여기서, 오염물은 청소 대상 구역(Z4)에 존재하는 먼지, 이물질, 쓰레기 등 흡입이 가능한 모든 물질을 포함하는 개념일 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 주행한 경로(L1)를 따라 주행하여 청소 대상 구역(Z4)의 바닥을 닦을 수 있다. 여기서, 제2 로봇(100b)이 바닥을 닦는다는 것은, 제1 로봇(100a)이 흡입할 수 없는 액체 등의 물질을, 제2 로봇(100b)이 물 걸레질하여 닦는 것을 의미할 수 있다.
단계(S300)에서, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응하여, 협업 주행 모드를 해제할지 결정할 수 있다. 즉, 협업 주행 수행 중에, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나에 오류, 키드냅 또는 통신 장애가 발생할 수 있다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응하여, 미리 설정된 시나리오를 수행할 수 있다. 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응한, 미리 설정된 시나리오에 관하여는, 전술하였으므로, 구체적인 설명은 생략한다.
한편, 이동 로봇 시스템(1)은, 제1 로봇(100a) 및 제2 로봇(100b)을 포함할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 각각, 외관을 형성하는 본체(110), 그리고 본체(110)의 내부에 구비되고, 네트워크(50)를 이용하여 다른 이동 로봇과 데이터를 주고받는 통신부(1100)를 포함할 수 있다. 또한, 제1 로봇(100a)은 본체(110)의 일측에 장착되어, 청소 대상 구역의 오염물을 흡입하는 청소부(120)를 포함할 수 있다. 또한, 제2 로봇(100b)은 본체(110)의 일측에 장착되어, 청소 대상 구역의 바닥을 닦는 걸레부(미도시)를 포함할 수 있다. 한편, 제1 로봇(100a) 및 제2 로봇(100b)을 연결하는 네트워크(50)는, 제1 네트워크, 그리고 제2 네트워크를 포함할 수 있다. 제1 네트워크는, 제1 로봇(100a)과 제2 로봇(100b)이, 청소 대상 구역의 맵 정보를 공유하기 위한 네트워크일 수 있다. 여기서, 제1 네트워크는 와이파이일 수 있다. 또한, 제2 네트워크는, 제1 로봇(100a)과 제2 로봇(100b)이, 제1 로봇(100a) 및 제2 로봇(100b) 사이의 이격 거리를 파악하기 위한 네트워크일 수 있다. 여기서, 제2 네트워크는 UWB일 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 이러한 구성으로부터, 단독 주행, 또는 협업 주행을 수행할 수 있다. 또한, 제1 로봇(100a) 및 제2 로봇(100b)은, 이러한 구성으로부터, 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응하여, 미리 설정된 시나리오를 수행할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 수행하는, 협업 주행 수행 중에 발생한 오류, 키드냅 또는 통신 장애에 대응한, 미리 설정된 시나리오에 관하여는, 전술하였으므로, 구체적인 설명은 생략한다.
이하, 도 30 내지 도 34를 참조하여, 협업 주행 중에 감지한 장애물에 대응하여, 미리 설정된 시나리오를 수행하는 이동 로봇 시스템(1)의 <실시예 3>을 설명한다.
제1 로봇(100a) 및 제2 로봇(100b)은 네트워크(50)를 이용하여 협업 주행 모드에 진입할 수 있다. 도 30을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입한 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 청소 대상 구역(X1)을 복수의 단위 구역으로 분할(예를 들어, 청소 대상 구역(X1)을 제1 단위 구역(A1), 및 제2 단위 구역(A2)으로 분할)하여, 각 단위 구역마다 협업 주행할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행을 하는 경우, 제1 로봇(100a)은, 제2 로봇(100b)의 주행 이전에 주행하여 복수의 단위 구역 중 어느 하나의 단위 구역(예를 들어, 제1 단위 구역(A1))의 오염물을 흡입할 수 있다. 여기서, 오염물은, 각 단위 구역에 존재하는, 먼지, 이물질, 쓰레기 등 흡입이 가능한 모든 물질을 포함하는 개념일 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 주행한 경로(L1)를 따라 주행하여 복수의 단위 구역 중 어느 하나의 단위 구역(제1 로봇(100a)이 오염물을 흡입한 단위 구역인, 제1 단위 구역(A1))의 바닥을 닦을 수 있다. 여기서, 제2 로봇(100b)이 바닥을 닦는다는 것은, 제1 로봇(100a)이 흡입할 수 없는 액체 등의 물질을, 제2 로봇(100b)이 물 걸레질하여 닦는 것을 의미할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이, 분할된 단위 구역마다 협업 주행하는 구체적인 방법은, 전술하였으므로 생략한다.
제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나는, 복수의 단위 구역 중 어느 하나의 단위 구역에서 협업 주행 중에, 장애물을 감지할 수 있다. 구체적으로, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나는, 분할된 구역의 사이(예를 들어, 제1 단위 구역(A1)과 제2 단위 구역(A2)의 사이), 또는 분할된 구역의 내부(예를 들어, 제1 단위 구역(A1)의 내부)에 존재하는 장애물을 감지할 수 있다. 여기서, 분할된 구역의 사이에 존재하는 장애물을 제1 장애물(OB1), 그리고 분할된 구역의 내부에 존재하는 장애물을 제2 장애물(OB2)로 정의한다. 제1 장애물(OB1) 또는 제2 장애물(OB2)은, 문턱, 카펫, 또는 낭떠러지일 수 있다. 구체적으로, 제1 장애물(OB1) 또는 제2 장애물(OB2)은, 제1 로봇(100a) 및 제2 로봇(100b)이 등반할 수 있는 장애물로서, 미리 설정된 범위의, 높이 또는 깊이로 형성된 장애물일 수 있다. 예를 들어, 제1 로봇(100a)은, 5[mm] 이상의 높이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제2 로봇(100b)은, 4[mm] 이상의 높이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제1 로봇(100a)은, 단독 주행의 경우, 30[mm] 이상의 깊이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제1 로봇(100a)은, 협업 주행의 경우, 10[mm] 이상의 깊이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제2 로봇(100b)은, 10[mm] 이상의 깊이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 여기서, 제1 로봇(100a) 및 제2 로봇(100b)이 장애물을 등반한다는 것은, 문턱을 넘거나, 카펫을 넘거나, 낭떠러지의 틈을 지나가거나, 또는 낭떠러지의 경사면을 내려갔다가 올라가는 것을 의미할 수 있다.
이하, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나가, 제1 장애물(OB1) 또는 제2 장애물(OB2)을 감지한 경우 수행하는, 미리 설정된 시나리오에 관한, 제1 실시예 내지 제4 실시예를 구체적으로 설명한다. 도 31 내지 도 34에서, 도면 부호 M1 내지 M17은 제1 로봇(100a)의 주행 경로이며, 도면 부호 N1 내지 N13은 제2 로봇(100b)의 주행 경로이다.
제1 실시예는, 도 31을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M1, N1) 중에, 제1 장애물(OB1)을 감지한 경우의 시나리오이다. 이 경우, 제1 로봇(100a)은, 제1 장애물(OB1)을 회피(M2)하여 제1 단위 구역(A1)에서의 협업 주행을 완료(M3)한 다음, 제2 단위 구역(A2)에 진입(M4)하여 단독 주행(M5)을 할 수 있다. 제1 실시예에서, 제2 로봇(100b)은, 제1 장애물(OB1)을 회피(M2)하여 제1 단위 구역(A1)에서의 협업 주행을 완료(M3)한 다음, 제2 충전대(100b)로 복귀(N4)할 수 있다. 한편, 제1 실시예의 다른 실시예로서, 제1 로봇(100a)이, 제1 장애물(OB1)을 회피하지 않고 제2 단위 구역(A2)에 진입하고, 제2 로봇(100b)은, 제1 단위 구역(A1)에서의 바닥 닦기를 완료 한 다음, 제1 로봇(100a)이 제2 단위 구역(A2)의 오염물 흡입을 완료할 때까지 대기하는 것이 고려될 수 있다.
제2 실시예는, 도 32를 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M6, N5) 중에, 제1 로봇(100a)이, 제1 장애물(OB1)을 감지하지 못하여 제2 단위 구역(A2)에 진입(M7)하고, 제2 로봇(100b)이, 제1 장애물(OB1)을 감지하여 제1 장애물(OB1)을 회피(N6)한 경우의 시나리오이다. 이 경우, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료(N7)한 다음, 제1 로봇(100a)에, 제2 단위 구역(A2)에 진입하지 못한다는 알림을 송신할 수 있다. 또한, 제1 로봇(100a)은, 제2 단위 구역(A2)의 오염물 흡입을 완료(M8)한 다음, 제2 로봇(100b)이 알림을 송신한 위치(P1)로 이동(M9)할 수 있다. 제 2실시예에서, 제1 로봇(100a)이 제1 단위 구역(A1)의 오염물 흡입을 완료하지 못하고, 제2 단위 구역(A2)에 진입한 경우에도, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료할 수 있다. 또한, 제2 실시예에서, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물 흡입을 완료한 제2 단위 구역(A2)의 바닥을 닦지 않을 수 있다. 상술한 제2 실시예에서의 제1 로봇(100a) 및 제2 로봇(100b)의 주행은, 단독 주행이 아닌, 협업 주행 모드 내에서의 주행으로 이해되어야 할 것이다. 한편, 제2 실시예에서, 제2 로봇(100b)은, 제1 장애물(OB1)을 감지하고, 제1 로봇(100a)에 제1 장애물(OB1)에 관한 정보를 송신할 수 있다. 그리고, 제1 로봇(100a)은, 제2 로봇(100b)으로부터 제1 장애물(OB1)에 관한 정보를 수신하여, 메모리(1700)에 저장된 맵에, 제1 장애물(OB1)을 병합할 수 있다. 즉, 제2 로봇(100b)은, 제1 장애물(OB1)에 관한 정보를, 제1 로봇(100a)과 공유할 수 있다.
제3 실시예는, 도 33을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M10, N8) 중에, 제1 장애물(OB1)을 감지하지 못하여 제2 단위 구역(A2)에 진입(M11, N9)한 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 제2 단위 구역(A2)에서 협업 주행(M12, N10)을 할 수 있다.
제4 실시예는, 도 34를 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M13, N11) 중에, 제1 로봇(100a)이, 제2 장애물(OB2)을 감지하여 제2 장애물을 회피(M14)한 다음, 제2 단위 구역(A2)으로 이동(M15)하고, 제2 로봇(100b)은, 제2 장애물(OB2)을 감지하지 못하여 제2 장애물(OB2)을 회피하지 못한(N12) 경우의 시나리오이다. 이 경우, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료(N13)한 다음, 제1 로봇(100a)에, 제2 단위 구역(A2)에 진입하지 못한다는 알림을 송신할 수 있다. 또한, 제1 로봇(100a)은, 제2 단위 구역(A2)의 오염물 흡입을 완료(M16)한 다음, 제2 로봇(100b)이 알림을 송신한 위치로 이동(M17)할 수 있다. 제 4실시예에서, 제1 로봇(100a)이 제1 단위 구역(A1)의 오염물을 흡입을 완료하지 못하고, 제2 단위 구역(A2)으로 이동한 경우임에도, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료할 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물 흡입을 완료한 제2 단위 구역(A2)의 바닥을 닦지 않을 수 있다. 상술한 제4 실시예에서의 제1 로봇(100a) 및 제2 로봇(100b)의 주행은, 단독 주행이 아닌, 협업 주행 모드 내에서의 주행으로 이해되어야 할 것이다. 한편, 제4 실시예에서, 제1 로봇(100a)은, 제2 장애물(OB2)을 감지하고, 제2 로봇(100b)에 제2 장애물(OB2)에 관한 정보를 송신할 수 있다. 그리고, 제2 로봇(100b)은, 제1 로봇(100a)으로부터 제2 장애물(OB2)에 관한 정보를 수신하여, 메모리(1700)에 저장된 맵에, 제2 장애물(OB2)을 병합할 수 있다. 즉, 제1 로봇(100a)은, 제2 장애물(OB2)에 관한 정보를, 제2 로봇(100b)과 공유할 수 있다.
이하, 도 35를 참조하여, 이동 로봇 시스템(1)이, 협업 주행 중에 감지한 장애물에 대응하여, 미리 설정된 시나리오를 수행하는 방법을 설명한다.
도 35를 참조하면, 단계(S100)에서, 제1 로봇(100a) 및 제2 로봇(100b)은 네트워크(50)를 이용하여 협업 주행 모드에 진입할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입하는 과정은 전술하였으므로, 구체적인 내용은 생략한다.
단계(S200)에서, 다시 도 30을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)은, 청소 대상 구역(X1)을 복수의 단위 구역으로 분할(예를 들어, 청소 대상 구역(X1)을 제1 단위 구역(A1), 및 제2 단위 구역(A2)으로 분할)하여, 각 단위 구역마다 협업 주행할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행을 하는 경우, 제1 로봇(100a)은, 제2 로봇(100b)의 주행 이전에 주행하여 복수의 단위 구역 중 어느 하나의 단위 구역(예를 들어, 제1 단위 구역(A1))의 오염물을 흡입할 수 있다. 여기서, 오염물은, 각 단위 구역에 존재하는, 먼지, 이물질, 쓰레기 등 흡입이 가능한 모든 물질을 포함하는 개념일 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 주행한 경로(L1)를 따라 주행하여 복수의 단위 구역 중 어느 하나의 단위 구역(제1 로봇(100a)이 오염물을 흡입한 단위 구역인, 제1 단위 구역(A1))의 바닥을 닦을 수 있다. 여기서, 제2 로봇(100b)이 바닥을 닦는다는 것은, 제1 로봇(100a)이 흡입할 수 없는 액체 등의 물질을, 제2 로봇(100b)이 물 걸레질하여 닦는 것을 의미할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이, 분할된 단위 구역마다 협업 주행하는 구체적인 방법은, 전술하였으므로 생략한다.
단계(S300)에서, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나는, 복수의 단위 구역 중 어느 하나의 단위 구역에서 협업 주행 중에, 장애물을 감지할 수 있다. 구체적으로, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나는, 분할된 구역의 사이(예를 들어, 제1 단위 구역(A1)과 제2 단위 구역(A2)의 사이), 또는 분할된 구역의 내부(예를 들어, 제1 단위 구역(A1)의 내부)에 존재하는 장애물을 감지할 수 있다. 여기서, 분할된 구역의 사이에 존재하는 장애물을 제1 장애물(OB1), 그리고 분할된 구역의 내부에 존재하는 장애물을 제2 장애물(OB2)로 정의한다. 제1 장애물(OB1) 또는 제2 장애물(OB2)은, 문턱, 카펫, 또는 낭떠러지일 수 있다. 구체적으로, 제1 장애물(OB1) 또는 제2 장애물(OB2)은, 제1 로봇(100a) 및 제2 로봇(100b)이 등반할 수 있는 장애물로서, 미리 설정된 범위의, 높이 또는 깊이로 형성된 장애물일 수 있다. 예를 들어, 제1 로봇(100a)은, 5[mm] 이상의 높이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제2 로봇(100b)은, 4[mm] 이상의 높이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제1 로봇(100a)은, 단독 주행의 경우, 30[mm] 이상의 깊이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제1 로봇(100a)은, 협업 주행의 경우, 10[mm] 이상의 깊이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 또한, 제2 로봇(100b)은, 10[mm] 이상의 깊이로 형성된 장애물을, 등반할 수 있는 장애물로서 인식할 수 있다. 여기서, 제1 로봇(100a) 및 제2 로봇(100b)이 장애물을 등반한다는 것은, 문턱을 넘거나, 카펫을 넘거나, 낭떠러지의 틈을 지나가거나, 또는 낭떠러지의 경사면을 내려갔다가 올라가는 것을 의미할 수 있다. 이하, 제1 로봇(100a) 및 제2 로봇(100b)이, 단계(S300)에서, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나가, 제1 장애물(OB1) 또는 제2 장애물(OB2)을 감지한 경우 수행하는, 미리 설정된 시나리오에 관한, 제1 실시예 내지 제4 실시예를 구체적으로 설명한다.
제1 실시예는, 도 31을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M1, N1) 중에, 제1 장애물(OB1)을 감지한 경우의 시나리오이다. 이 경우, 제1 로봇(100a)은, 제1 장애물(OB1)을 회피(M2)하여 제1 단위 구역(A1)에서의 협업 주행을 완료(M3)한 다음, 제2 단위 구역(A2)에 진입(M4)하여 단독 주행(M5)을 할 수 있다. 제1 실시예에서, 제2 로봇(100b)은, 제1 장애물(OB1)을 회피(M2)하여 제1 단위 구역(A1)에서의 협업 주행을 완료(M3)한 다음, 제2 충전대(100b)로 복귀(N4)할 수 있다. 한편, 제1 실시예의 다른 실시예로서, 제1 로봇(100a)이, 제1 장애물(OB1)을 회피하지 않고 제2 단위 구역(A2)에 진입하고, 제2 로봇(100b)은, 제1 단위 구역(A1)에서의 바닥 닦기를 완료 한 다음, 제1 로봇(100a)이 제2 단위 구역(A2)의 오염물 흡입을 완료할 때까지 대기하는 것이 고려될 수 있다.
제2 실시예는, 도 32를 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M6, N5) 중에, 제1 로봇(100a)이, 제1 장애물(OB1)을 감지하지 못하여 제2 단위 구역(A2)에 진입(M7)하고, 제2 로봇(100b)이, 제1 장애물(OB1)을 감지하여 제1 장애물(OB1)을 회피(N6)한 경우의 시나리오이다. 이 경우, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료(N7)한 다음, 제1 로봇(100a)에, 제2 단위 구역(A2)에 진입하지 못한다는 알림을 송신할 수 있다. 또한, 제1 로봇(100a)은, 제2 단위 구역(A2)의 오염물 흡입을 완료(M8)한 다음, 제2 로봇(100b)이 알림을 송신한 위치(P1)로 이동(M9)할 수 있다. 제 2실시예에서, 제1 로봇(100a)이 제1 단위 구역(A1)의 오염물 흡입을 완료하지 못하고, 제2 단위 구역(A2)에 진입한 경우에도, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료할 수 있다. 또한, 제2 실시예에서, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물 흡입을 완료한 제2 단위 구역(A2)의 바닥을 닦지 않을 수 있다. 상술한 제2 실시예에서의 제1 로봇(100a) 및 제2 로봇(100b)의 주행은, 단독 주행이 아닌, 협업 주행 모드 내에서의 주행으로 이해되어야 할 것이다. 한편, 제2 실시예에서, 제2 로봇(100b)은, 제1 장애물(OB1)을 감지하고, 제1 로봇(100a)에 제1 장애물(OB1)에 관한 정보를 송신할 수 있다. 그리고, 제1 로봇(100a)은, 제2 로봇(100b)으로부터 제1 장애물(OB1)에 관한 정보를 수신하여, 메모리(1700)에 저장된 맵에, 제1 장애물(OB1)을 병합할 수 있다. 즉, 제2 로봇(100b)은, 제1 장애물(OB1)에 관한 정보를, 제1 로봇(100a)과 공유할 수 있다.
제3 실시예는, 도 33을 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M10, N8) 중에, 제1 장애물(OB1)을 감지하지 못하여 제2 단위 구역(A2)에 진입(M11, N9)한 경우의 시나리오이다. 이 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 제2 단위 구역(A2)에서 협업 주행(M12, N10)을 할 수 있다.
제4 실시예는, 도 34를 참조하면, 제1 로봇(100a) 및 제2 로봇(100b)이, 제1 단위 구역(A1)에서 협업 주행(M13, N11) 중에, 제1 로봇(100a)이, 제2 장애물(OB2)을 감지하여 제2 장애물을 회피(M14)한 다음, 제2 단위 구역(A2)으로 이동(M15)하고, 제2 로봇(100b)은, 제2 장애물(OB2)을 감지하지 못하여 제2 장애물(OB2)을 회피하지 못한(N12) 경우의 시나리오이다. 이 경우, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료(N13)한 다음, 제1 로봇(100a)에, 제2 단위 구역(A2)에 진입하지 못한다는 알림을 송신할 수 있다. 또한, 제1 로봇(100a)은, 제2 단위 구역(A2)의 오염물 흡입을 완료(M16)한 다음, 제2 로봇(100b)이 알림을 송신한 위치로 이동(M17)할 수 있다. 제 4실시예에서, 제1 로봇(100a)이 제1 단위 구역(A1)의 오염물을 흡입을 완료하지 못하고, 제2 단위 구역(A2)으로 이동한 경우임에도, 제2 로봇(100b)은, 제1 단위 구역(A1)의 바닥 닦기를 완료할 수 있다. 또한, 제2 로봇(100b)은, 제1 로봇(100a)이 오염물 흡입을 완료한 제2 단위 구역(A2)의 바닥을 닦지 않을 수 있다. 상술한 제4 실시예에서의 제1 로봇(100a) 및 제2 로봇(100b)의 주행은, 단독 주행이 아닌, 협업 주행 모드 내에서의 주행으로 이해되어야 할 것이다. 한편, 제4 실시예에서, 제1 로봇(100a)은, 제2 장애물(OB2)을 감지하고, 제2 로봇(100b)에 제2 장애물(OB2)에 관한 정보를 송신할 수 있다. 그리고, 제2 로봇(100b)은, 제1 로봇(100a)으로부터 제2 장애물(OB2)에 관한 정보를 수신하여, 메모리(1700)에 저장된 맵에, 제2 장애물(OB2)을 병합할 수 있다. 즉, 제1 로봇(100a)은, 제2 장애물(OB2)에 관한 정보를, 제2 로봇(100b)과 공유할 수 있다.
한편, 이동 로봇 시스템(1)은, 제1 로봇(100a) 및 제2 로봇(100b)을 포함할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 각각, 외관을 형성하는 본체(110), 그리고 본체(110)의 내부에 구비되고, 네트워크(50)를 이용하여 다른 이동 로봇과 데이터를 주고받는 통신부(1100)를 포함할 수 있다. 또한, 제1 로봇(100a)은 본체(110)의 일측에 장착되어, 청소 대상 구역의 오염물을 흡입하는 청소부(120)를 포함할 수 있다. 또한, 제2 로봇(100b)은 본체(110)의 일측에 장착되어, 청소 대상 구역의 바닥을 닦는 걸레부(미도시)를 포함할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 단독 주행 모드에서 단독 주행하거나, 또는 네트워크(50)를 이용하여 협업 주행 모드에 진입하여 협업 주행을 수행할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 협업 주행 모드에 진입한 경우, 제1 로봇(100a) 및 제2 로봇(100b)은, 청소 대상 구역을 복수의 단위 구역으로 분할하여, 각 단위 구역마다 협업 주행할 수 있다. 한편, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나는, 복수의 단위 구역 중 어느 하나의 단위 구역에서 협업 주행 중에, 장애물을 감지할 수 있다. 구체적으로, 제1 로봇(100a) 및 제2 로봇(100b) 중 적어도 하나는, 분할된 구역의 사이(예를 들어, 제1 단위 구역(A1)과 제2 단위 구역(A2)의 사이), 또는 분할된 구역의 내부(예를 들어, 제1 단위 구역(A1)의 내부)에 존재하는 장애물을 감지할 수 있다. 여기서, 분할된 구역의 사이에 존재하는 장애물을 제1 장애물(OB1), 그리고 분할된 구역의 내부에 존재하는 장애물을 제2 장애물(OB2)로 정의한다. 제1 장애물(OB1) 또는 제2 장애물(OB2)은, 문턱, 카펫, 또는 낭떠러지일 수 있다. 구체적으로, 제1 장애물(OB1) 또는 제2 장애물(OB2)은, 제1 로봇(100a) 및 제2 로봇(100b)이 등반할 수 있는 장애물로서, 미리 설정된 범위의, 높이 또는 깊이로 형성된 장애물일 수 있다. 여기서, 제1 로봇(100a) 및 제2 로봇(100b)이 장애물을 등반한다는 것은, 문턱을 넘거나, 카펫을 넘거나, 낭떠러지의 틈을 지나가거나, 또는 낭떠러지의 경사면을 내려갔다가 올라가는 것을 의미할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)은, 협업 주행 중에 감지한, 제1 장애물(OB1) 또는 제2 장애물(OB2)에 대응하여, 미리 설정된 시나리오를 수행할 수 있다. 제1 로봇(100a) 및 제2 로봇(100b)이 수행하는, 협업 주행 중에 감지한, 제1 장애물(OB1) 또는 제2 장애물(OB2)에 대응한, 미리 설정된 시나리오에 관하여는, 전술하였으므로, 구체적인 설명은 생략한다.
한편, 이와 같이 상기 시스템(1)에서 상기 협업 주행이 수행되는 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 배터리에 충전된 용량이 일정 값 이하가 된 경우, 충전 용량의 부족으로 인해 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 상기 협업 주행을 수행할 수 없게 될 수 있다. 이를테면, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 어느 하나만이라도 충전 용량이 부족하게 되면 선 주행 또는 후 주행이 어려워지게 되므로, 상기 협업 주행의 수행을 중단하게 될 필요가 있다. 만약, 상기 협업 주행의 중단이 특정 모션 없이 중단될 경우에는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)의 사후 주행에 문제가 생기거나, 사용자의 불편함을 초래할 우려가 있다.
따라서, 본 명세서에서는 이러한 협업 주행의 수행 중 배터리의 충전 용량의 변화에 따른 적절한 대응이 이루어질 수 있는 이동 로봇 시스템(1)의 <실시예 4>를 제공하고자 한다.
상기 시스템(1)의 실시예는, 도 11에 도시된 바와 같이, 제1 충전대(400a)에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 상기 제1 로봇(100a) 및 제2 충전대(400b)에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇(100a)이 주행한 경로에 따라 주행하는 상기 제2 로봇(100b)을 포함하여, 복수의 이동 로봇(100a, 100b)이 협업하여 주행한다.
즉, 상기 시스템(1)에서 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 제1 충전대(400a) 및 상기 제2 충전대(400b) 각각에서 상기 배터리의 전력을 충전하게 된다.
상기 제1 로봇(100a)은, 상기 협업 주행의 대상 구역을 선 주행하며 먼지를 흡입하는 로봇일 수 있고, 상기 제2 로봇(100b)은, 상기 제1 로봇(100a)이 주행한 구역을 후 주행하며 먼지를 닦는 로봇일 수 있다.
즉, 상기 협업 주행은, 상기 제1 로봇(100a)이 선 주행하며 먼지를 흡입하고, 상기 제2 로봇(100b)이 후 주행하며 상기 제1 로봇(100a)이 선 주행하며 먼지를 흡입한 경로의 먼지를 닦으며 청소하게 될 수 있다.
이러한 상기 시스템(1)에서 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)은, 협업 주행 모드를 수행하는 중 각각이 배터리에 충전된 용량을 감지하여, 상기 배터리의 충전 용량값에 따라 상기 협업 주행 모드를 해제하고, 상기 충전 용량값에 대응하여 각각 단독 주행 모드 및 상기 배터리의 충전 모드 중 하나 이상을 수행한다.
구체적으로는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 배터리의 충전 용량값이 상기 기준 용량값 이하가 되면 상기 협업 주행 모드를 해제하고, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하거나, 상기 단독 주행 모드를 수행한다.
즉, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하가 된 경우, 상기 제1 로봇(100a)이 상기 제1 충전대(400a)로 이동하여 상기 배터리를 충전하게 되고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하가 된 경우에는, 상기 제2 로봇(100b)이 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전하게 되거나, 상기 단독 주행 모드를 수행하게 될 수 있다.
이를테면, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 수행 중인 상기 협업 주행 모드를 해제하고, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 해당 충전대(400a 및/또는 400b)로 이동하여 상기 배터리를 충전하거나, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 상기 단독 주행 모드를 수행하게 될 수 있다.
여기서, 상기 단독 주행 모드는, 상기 협업 주행 모드의 해제 직후 바로 수행될 수 있고, 또는 해당 충전대(400a 및/또는 400b)로 이동하여 상기 배터리를 충전한 후, 수행될 수도 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 주행 중 상기 배터리에 충전된 용량을 감지할 수 있다.
이를테면, 상기 협업 주행 모드의 수행 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 배터리에 충전된 용량을 감지하게 될 수 있다.
또한, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드 외에 다른 모드를 수행 중에도 상기 배터리에 충전된 용량을 감지하게 될 수 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 배터리에 충전된 용량을 실시간으로 감지할 수 있다.
즉, 상기 제1 로봇(100a)은, 주행 중 상기 제1 로봇(100a)에 내장된 배터리의 충전 용량을 실시간으로 감지하고, 상기 제2 로봇(100b)은, 주행 중 상기 제2 로봇(100b)에 내장된 배터리의 충전 용량을 실시간으로 감지하게 될 수 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 주행 중 상기 배터리에 충전된 용량을 감지하여, 감지 결과를 상기 충전 용량값으로 수치화할 수 있다. 이에 따라, 상기 배터리에 충전된 용량의 감지 결과를 상기 기준 용량값과 비교하게 될 수 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 각각의 충전 용량값이 상기 기준 용량값 이하가 된 경우, 상기 협업 주행 모드를 해제한 후, 상기 충전대(100a, 100b)로 이동하여 상기 배터리를 충전할 수 있다.
여기서, 상기 협업 주행 모드의 해제는, 수행 중인 상기 협업 주행 모드를 중단하는 것을 의미할 수 있다.
즉, 상기 제1 로봇(100a)이 상기 협업 주행 모드의 수행 중 상기 배터리의 충전 용량을 감지한 결과, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하가 되면, 상기 제1 로봇(100a)이 상기 협업 주행 모드의 수행을 중단한 후, 상기 제1 충전대(400a)로 이동하여 상기 배터리를 충전하게 되고, 상기 제2 로봇(100b)이 상기 협업 주행 모드의 수행 중 상기 배터리의 충전 용량을 감지한 결과, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하가 되면, 상기 제2 로봇(100b)이 상기 협업 주행 모드의 수행을 중단한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전하게 될 수 있다.
이 경우, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드의 해제에 대한 정보를 상대 로봇과 공유할 수 있다.
즉, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드를 해제하는 경우, 상기 협업 주행 모드의 해제에 대한 정보를 상대 로봇에 전달하여, 상기 상대 로봇에게 상기 협업 주행 모드의 해제를 알리게 될 수 있다.
이를테면, 상기 제1 로봇(100a)이 상기 충전 용량값이 상기 기준 용량값 이하가 되어 상기 협업 주행 모드를 해제하는 경우, 상기 제1 로봇(100a)이 상기 제2 로봇(100b)에 상기 협업 주행 모드의 해제에 대한 정보를 전달하여, 상기 제2 로봇(100b)이 상기 협업 주행 모드의 해제를 인식하게 되고, 상기 제2 로봇(100b)이 상기 충전 용량값이 상기 기준 용량값 이하가 되어 상기 협업 주행 모드를 해제하는 경우, 상기 제2 로봇(100b)이 상기 제1 로봇(100a)에 상기 협업 주행 모드의 해제에 대한 정보를 전달하여, 상기 제1 로봇(100a)이 상기 협업 주행 모드의 해제를 인식하게 될 수 있다.
이에 따라, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 어느 하나 이상에서 상기 충전 용량값이 상기 기준 용량값 이하가 되면, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 모두가 상기 협업 주행 모드의 수행을 중단하게 될 수 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 충전대(400a, 400b)로 이동한 후, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전될 때까지 상기 배터리를 충전할 수 있다.
즉, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 충전 용량값이 상기 기준 용량값 이하가 되어 상기 충전대(400a, 400b)로 이동하면, 상기 배터리의 충전 용량이 상기 일정 기준 이상으로 충전될 때까지 상기 배터리를 충전하게 될 수 있다.
여기서, 상기 일정 기준은, 상기 배터리의 충전 용량의 레벨을 의미할 수 있다. 상기 일정 기준은, 상기 배터리의 전체 용량 대비 비율[%]로 설정될 수 있고, 또는 상기 배터리의 용량 단위[Ah]로 설정될 수 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 바람직하게는 상기 충전대(400a, 400b)로 이동한 후, 상기 배터리의 충전이 완료될 때까지 상기 배터리를 충전할 수 있다.
상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 각각의 충전 용량값이 상기 기준 용량값 이하가 되어 상기 충전대(400a, 400b)로 이동하기 전, 현재 위치를 인식하여 위치 정보값을 저장하고, 상기 충전대(400a, 400b)에서 상기 배터리의 충전 용량이 일정 기준 이상으로 충전된 후, 상기 위치 정보값을 이용하여 주행을 시작할 수 있다.
즉, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 충전대(400a, 400b)로 이동하기 전의 위치에 해당하는 상기 위치 정보값을 저장하여, 상기 충전대(400a, 400b)에서 상기 배터리를 충전한 후 주행을 재개할 시, 상기 위치 정보값을 이용하여 주행을 시작하게 될 수 있다.
이를테면, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 충전대(400a, 400b)에서 상기 배터리의 충전을 완료한 후, 상기 위치 정보값에 따른 위치로 이동하여 주행을 시작하거나, 또는 주행 시작 시 상기 위치 정보값에 따른 위치로의 이동에 대한 알림을 출력하게 될 수 있다.
이러한 상기 시스템(1)에서 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각의 충전 용량에 대응한 주행은, 도 36a에 도시된 도표와 같이 이루어지게 될 수 있다.
{대응 1(ⓐ)}
상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 초과인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제한 후, 상기 제1 충전대(400a)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 (용량) 기준 이상으로 충전되면 상기 제1 충전대(400a)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다. 이 경우, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 잔여 청소 구역의 여부에 따라 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전할 수 있다. 만약, 상기 잔여 청소 구역의 면적이 일정 (면적) 기준에 해당하는 경우, 상기 제2 로봇(100b)은, 상기 잔여 청소 구역의 주행을 완료한 후, 상기 제2 충전대(400b)로 이동할 수 있다. 또한 만약, 상기 잔여 청소 구역의 면적이 일정 기준에 미해당하는 경우에는, 상기 제2 로봇(100b)은, 상기 제2 충전대(400b)로 이동할 수 있다.
즉, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우, 도 37에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P10) 중 상기 제1 로봇(100a)은 상기 협업 수행 모드를 해제한 후, 상기 제1 충전대(400a)로 이동(P11 또는 P12)하되, 상기 제2 로봇(100b)은 상기 잔여 청소 구역의 면적이 상기 일정 기준에 해당하면 상기 잔여 청소 구역의 주행을 완료(P11)한 후 상기 제2 충전대(400b)로 이동(P12)하고, 만약 상기 잔여 청소 구역의 면적이 상기 일정 기준에 미해당하면 바로 상기 제2 충전대(400b)로 이동(P12)하고, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행(P13)하게 될 수 있다.
{대응 2(ⓑ)}
또한, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 초과인 경우, 상기 제1 로봇 (100a)및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 각각의 충전대(400a, 400b)로 이동하기 전 위치로 이동하여 각각 단독 주행 모드를 수행할 수도 있다.
즉, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우, 도 38에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P20) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P21)한 후, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 제1 충전대(400a) 및 상기 제2 충전대(400b) 각각에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행하고, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행(P22)하게 될 수도 있다.
{대응 3(ⓒ)}
상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 초과이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하인 경우, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하되, 상기 제1 로봇(100a)은, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 상기 제1 충전대(400a)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다.
즉, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 모두의 충전 용량값이 상기 기준 용량값 이하인 경우, 도 37에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P10) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P12)하되, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행(P13)하게 될 수 있다.
{대응 4(ⓓ)}
또한, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 초과이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하인 경우, 상기 제1 로봇 (100a) 및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 각각의 충전대(400a, 400b)로 이동하기 전 위치로 이동하여 각각 단독 주행 모드를 수행할 수도 있다.
즉, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우, 도 38에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P20) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P21)한 후, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 제1 충전대(400a) 및 상기 제2 충전대(400b) 각각에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행하고, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행(P22)하게 될 수도 있다.
{대응 5(ⓔ)}
상기 제1 로봇(100a)의 충전 용량값 및 상기 제2 로봇(100b)의 충전 용량값 모두가 상기 기준 용량값 이하인 경우, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하되, 상기 제1 로봇(100a)은, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 상기 제1 충전대(400a)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다.
즉, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 모두의 충전 용량값이 상기 기준 용량값 이하인 경우, 도 37에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P10) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P12)하되, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행(P13)하게 될 수 있다.
{대응 6(ⓕ)}
또한, 상기 제1 로봇(100a)의 충전 용량값 및 상기 제2 로봇(100b)의 충전 용량값 모두가 상기 기준 용량값 이하인 경우, 상기 제1 로봇 (100a)및 상기 제2 로봇(100b) 각각은, 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 각각의 충전대(400a, 400b)로 이동하기 전 위치로 이동하여 각각 단독 주행 모드를 수행할 수도 있다.
즉, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우, 도 38에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P20) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P21)한 후, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 제1 충전대(400a) 및 상기 제2 충전대(400b) 각각에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행하고, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행(P22)하게 될 수도 있다.
또한, 상기 시스템(1)에서 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각의 충전 용량에 대응한 주행은, 도 36b에 도시된 도표와 같이 이루어지게 될 수도 있다.
{대응 7(ⓖ)}
상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 초과인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 잔여 청소 구역의 여부에 따라 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전할 수 있다. 만약, 상기 잔여 청소 구역의 면적이 일정 (면적) 기준에 해당하는 경우, 상기 제2 로봇(100b)은, 상기 잔여 청소 구역의 주행을 완료한 후, 상기 제2 충전대(400b)로 이동할 수 있다. 또한 만약, 상기 잔여 청소 구역의 면적이 일정 기준에 미해당하는 경우에는, 상기 제2 로봇(100b)은, 상기 제2 충전대(400b)로 이동할 수 있다.
즉, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우, 상기 협업 주행 모드의 수행 중 상기 제1 로봇(100a)은 상기 협업 주행 모드를 해제한 후 단독 주행 모드로 전환하여 단독 주행 모드를 수행하되, 상기 제2 로봇(100b)은 상기 잔여 청소 구역의 면적이 상기 일정 기준에 해당하면 상기 잔여 청소 구역의 주행을 완료한 후 상기 제2 충전대(400b)로 이동하고, 만약 상기 잔여 청소 구역의 면적이 상기 일정 기준에 미해당하면 바로 상기 제2 충전대(400b)로 이동하고, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행하게 될 수 있다.
{대응 8(ⓗ)}
또한, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 초과인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 (용량) 기준 이상으로 충전되면 상기 제2 충전대(400b)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다.
즉, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우, 상기 협업 주행 모드의 수행 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 단독 주행 모드로 전환하여 단독 주행 모드를 수행하되, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하여, 상기 제2 충전대(400b)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행하게 될 수 있다.
{대응 9(ⓘ)}
상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 초과이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전할 수 있다.
즉, 상기 제2 로봇(100b)의 충전 용량값만 상기 기준 용량값 이하인 경우, 도 39에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P30) 중 상기 제2 로봇(100b)은 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동(P31)하되, 상기 제1 로봇(100a)은 상기 협업 주행 모드를 해제한 후 단독 주행 모드로 전환하여 단독 주행 모드(P32)를 수행하게 될 수 있다.
{대응 10(ⓙ)}
또한, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 초과이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 (용량) 기준 이상으로 충전되면 상기 제2 충전대(400b)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다.
즉, 상기 제2 로봇(100b)의 충전 용량값만 상기 기준 용량값 이하인 경우, 상기 협업 주행 모드의 수행 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 단독 주행 모드로 전환하여 단독 주행 모드를 수행하되, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하여, 상기 제2 충전대(400b)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행하게 될 수 있다.
{대응 11(ⓚ)}
상기 제1 로봇(100a)의 충전 용량값 및 상기 제2 로봇(100b)의 충전 용량값 모두가 상기 기준 용량값 이하인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전할 수 있다.
즉, 상기 제2 로봇(100b)의 충전 용량값만 상기 기준 용량값 이하인 경우, 도 39에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P30) 중 상기 제2 로봇(100b)은 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동(P31)하되, 상기 제1 로봇(100a)은 상기 협업 주행 모드를 해제한 후 단독 주행 모드로 전환하여 단독 주행 모드(P32)를 수행하게 될 수 있다.
{대응 12(ⓛ)}
또한, 상기 제1 로봇(100a)의 충전 용량값 및 상기 제2 로봇(100b)의 충전 용량값 모두가 상기 기준 용량값 이하인 경우, 상기 제1 로봇(100a)은, 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)은, 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 (용량) 기준 이상으로 충전되면 상기 제2 충전대(400b)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다.
즉, 상기 제2 로봇(100b)의 충전 용량값만 상기 기준 용량값 이하인 경우, 상기 협업 주행 모드의 수행 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 단독 주행 모드로 전환하여 단독 주행 모드를 수행하되, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하여, 상기 제2 충전대(400b)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행하게 될 수 있다.
한편, 이와 같이 상기 배터리의 충전 용량의 상태에 따른 대응이 이루어지는 상기 시스템(1)은, 도 40에 도시된 바와 같은 협업 주행 수행 방법으로 상기 협업 주행이 수행될 수 있다.
상기 협업 주행 수행 방법(이하, 수행 방법이라 칭한다)은, 상기 제1 충전대(400a)에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 상기 제1 로봇(100a) 및 상기 제2 충전대(400b)에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇(100a)이 주행한 경로에 따라 주행하는 상기 제2 로봇(100b)을 포함하는 상기 시스템(1)에서 협업 주행이 수행되는 방법으로, 도 18에 도시된 바와 같이, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 협업 주행 모드의 수행을 시작하는 단계(S100), 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 배터리에 충전된 용량을 감지하는 단계(S200), 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 충전 용량값을 기설정된 기준 용량값과 비교하는 단계(S300) 및 비교 결과에 따라 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 하나 이상이 단독 주행 모드를 수행하거나, 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하는 단계(S400)를 포함한다.
여기서, 상기 제1 로봇(100a)은, 상기 협업 주행의 대상 구역을 선 주행하며 먼지를 흡입하고, 상기 제2 로봇(100b)은, 상기 제1 로봇(100a)이 주행한 구역을 후 주행하며 먼지를 닦을 수 있다.
상기 시작하는 단계(S100)는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b)이 상기 협업 주행 모드에 따른 주행을 시작하는 단계일 수 있다.
상기 감지하는 단계(S200)는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 주행 모드에 따른 주행 중 상기 배터리에 충전된 용량을 실시간으로 감지하는 단계일 수 있다.
상기 감지하는 단계(S200)는, 상기 제1 로봇(100a)이 상기 제1 로봇(100a)에 내장된 배터리의 충전 용량을 감지하여, 감지 결과를 상기 충전 용량값으로 수치화하고, 상기 제2 로봇(100b)이 상기 제2 로봇(100b)에 내장된 배터리의 충전 용량을 감지하여, 감지 결과를 상기 충전 용량값으로 수치화할 수 있다.
상기 비교하는 단계(S300)는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 감지하는 단계(S200)에서 충전 용량을 감지한 결과를 수치화한 충전 용량값을 상기 기준 용량값과 비교하는 단계일 수 있다.
상기 비교하는 단계(S300)는, 상기 제1 로봇(100a)이 상기 제1 로봇(100a)의 충전 용량값을 상기 기준 용량값과 비교하고, 상기 제2 로봇(100b)이 상기 제2 로봇(100b)의 충전 용량값을 상기 기준 용량값과 비교할 수 있다.
상기 비교하는 단계(S300)는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 충전 용량값을 상기 기준 용량값과 비교한 결과를 상호 간에 전달하여 공유할 수 있다.
상기 충전하는 단계(S400)는, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 중 상기 충전 용량값이 상기 기준 용량값 이하인 로봇이 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하는 단계일 수 있다.
상기 충전하는 단계(S400)는, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 초과인 경우, 도 36a의 ⓐ의 경우와 같이, 상기 제1 로봇(100a)이 상기 협업 주행 모드를 해제한 후, 상기 제1 충전대(400a)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 상기 제1 충전대(400a)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행하고, 상기 제2 로봇(100b)이 상기 협업 주행 모드를 해제한 후, 잔여 청소 구역의 여부에 따라 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전할 수 있다.
이에 따라, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우 상기 충전하는 단계(S400)에서는, 도 37에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P10) 중 상기 제1 로봇(100a)은 상기 협업 수행 모드를 해제한 후, 상기 제1 충전대(400a)로 이동(P11 또는 P12)하되, 상기 제2 로봇(100b)은 상기 잔여 청소 구역의 면적이 상기 일정 기준에 해당하면 상기 잔여 청소 구역의 주행을 완료(P11)한 후 상기 제2 충전대(400b)로 이동(P12)하고, 만약 상기 잔여 청소 구역의 면적이 상기 일정 기준에 미해당하면 바로 상기 제2 충전대(400b)로 이동(P12)하고, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행(P13)하게 될 수 있다.
상기 충전하는 단계(S400)는, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 이하이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 초과인 경우, 도 36a의 ⓑ의 경우와 같이, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 각각의 충전대(400a, 400b)로 이동하기 전 위치로 이동하여 각각 단독 주행 모드를 수행할 수 있다.
이에 따라, 상기 제1 로봇(100a)의 충전 용량값만 상기 기준 용량값 이하인 경우 상기 충전하는 단계(S400)는, 도 38에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P20) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P21)한 후, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 제1 충전대(400a) 및 상기 제2 충전대(400b) 각각에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행하고, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행(P22)하게 될 수도 있다.
상기 충전하는 단계(S400)는, 상기 제1 로봇(100a)의 충전 용량값이 상기 기준 용량값 초과이고, 상기 제2 로봇(100b)의 충전 용량값이 상기 기준 용량값 이하인 경우, 도 36a의 ⓒ의 경우와 같이, 상기 제1 로봇(100a)이 상기 협업 주행 모드를 해제하고 단독 주행 모드로 전환한 후, 상기 단독 주행 모드를 수행하며 주행하고, 상기 제2 로봇(100b)이 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동하여 상기 배터리를 충전할 수 있다.
이에 따라, 상기 제2 로봇(100b)의 충전 용량값만 상기 기준 용량값 이하인 경우 상기 충전하는 단계(S400)는, 도 39에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P30) 중 상기 제2 로봇(100b)은 상기 협업 주행 모드를 해제한 후, 상기 제2 충전대(400b)로 이동(P31)하되, 상기 제1 로봇(100a)은 상기 협업 주행 모드를 해제한 후 단독 주행 모드로 전환하여 단독 주행 모드(P32)를 수행하게 될 수 있다.
상기 충전하는 단계(S400)는, 상기 제1 로봇(100a)의 충전 용량값 및 상기 제2 로봇(100b)의 충전 용량값 모두가 상기 기준 용량값 이하인 경우, 도 36a의 ⓔ의 경우와 같이, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하되, 상기 제1 로봇(100a)이 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 상기 제1 충전대(400a)로 이동하기 전 위치로 이동하여 단독 주행 모드를 수행할 수 있다.
이에 따라, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 모두의 충전 용량값이 상기 기준 용량값 이하인 경우 상기 충전하는 단계(S300)는, 도 37에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P10) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P12)하되, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행(P13)하게 될 수 있다.
상기 충전하는 단계(S400)는, 상기 제1 로봇(100a)의 충전 용량값 및 상기 제2 로봇(100b)의 충전 용량값 모두가 상기 기준 용량값 이하인 경우, 도 36a의 ⓕ의 경우와 같이, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 주행 모드를 해제한 후, 각각의 충전대(400a, 400b)로 이동하여 상기 배터리를 충전하고, 상기 배터리의 충전 용량이 일정 기준 이상으로 충전되면 각각의 충전대(400a, 400b)로 이동하기 전 위치로 이동하여 각각 단독 주행 모드를 수행할 수 있다.
이에 따라, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 모두의 충전 용량값이 상기 기준 용량값 이하인 경우 상기 충전하는 단계(S300)는, 도 38에 도시된 바와 같이, 상기 협업 주행 모드의 수행(P20) 중 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 협업 수행 모드를 해제한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하고 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동(P21)한 후, 상기 제1 로봇(100a) 및 상기 제2 로봇(100b) 각각이 상기 제1 충전대(400a) 및 상기 제2 충전대(400b) 각각에서 상기 배터리의 충전 용량을 일정 기준 이상으로 충전한 후, 상기 제1 로봇(100a)은 상기 제1 충전대(400a)로 이동하기 전 위치(x1)로 이동하여 상기 제1 로봇(100a)의 단독 주행 모드를 수행하고, 상기 제2 로봇(100b)은 상기 제2 충전대(400b)로 이동하기 전 위치(x2)로 이동하여 상기 제2 로봇(100b)의 단독 주행 모드를 수행(P22)하게 될 수도 있다.
상기 시작하는 단계(S100), 상기 감지하는 단계(S200), 상기 비교하는 단계(S300) 및 상기 충전하는 단계(S400)를 포함하는 상기 수행 방법은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 상기 제어부(1800)를 포함할 수도 있다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
1: 이동 로봇 시스템 10: 건물
50: 네트워크 100: 이동 로봇
100a: 제1 로봇 100b: 제2 로봇
110: 본체 111: 휠 유닛
120: 청소부 130: 센싱부
131: 카메라 300, 300a, 300b: 단말기
400: 충전대 400a: 제1 충전대
400b: 제2 충전대 500: 서버
600: 제어기 1100: 통신부
1200: 입력부 1300: 구동부
1400: 센서 1500: 출력부
1600: 전원부 1700: 메모리
1800: 제어부 1900: 청소부

Claims (20)

  1. 복수의 이동 로봇이 협업하여 주행하는 이동 로봇 시스템에 있어서,
    제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇; 및
    제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇
    을 포함하고,
    상기 제1 로봇 및 상기 제2 로봇은,
    구동 상태가 기설정된 기준 조건에 해당하는 경우,
    상기 제1 로봇이 상기 제2 로봇의 주행 이전에 주행하여 청소 대상 구역의 오염물을 흡입하고, 상기 제2 로봇이 상기 제1 로봇이 주행한 경로를 따라 주행하여 바닥을 닦는 협업 주행을 시작하되,
    상기 협업 주행을 수행하는 중, 상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황이 발생한 경우, 상기 제1 로봇 및/또는 상기 제2 로봇 각각이 상기 트랩 상황에 대응하여 트랩 탈출 주행을 수행하고,
    상기 트랩 상황은, 상기 제1 로봇 또는 상기 제2 로봇이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며,
    상기 트랩 탈출 주행은, 상기 제1 로봇 또는 상기 제2 로봇이 주행한 청소 대상 구역의 경계를 따라 주행하는 주행 방법이고,
    상기 제1 로봇과 상기 제2 로봇이 모두 트랩 상황이 아닌 경우,
    상기 제1 로봇과 상기 제2 로봇은 상기 협업 주행의 수행을 유지하되,
    상기 제1 로봇이 상기 트랩 상황이고 상기 제2 로봇은 상기 트랩 상황이 아닌 경우,
    상기 제1 로봇은,
    상기 트랩 탈출 주행을 수행하고,
    상기 제2 로봇은,
    상기 제1 로봇이 상기 트랩 탈출 주행을 수행하는 동안,
    미리 설정된 제1 시간 동안 대기하며, 상기 제1 시간 이내에, 상기 제1 로봇이 상기 트랩 상황을 탈출하지 못하면, 미리 설정된 제2 시간 동안 이미 주행한 청소 대상 구역을 다시 주행하는,
    이동 로봇 시스템.
  2. 제1항에 있어서,
    상기 제1 로봇과 상기 제2 로봇은 네트워크 연결을 이용하여 상기 협업 주행을 수행하거나, 각각 단독 주행 모드에 진입하여 단독주행모드를 수행하는, 이동 로봇 시스템.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제2항에 있어서,
    상기 이동 로봇 시스템은, 상기 제1 로봇을 충전하는 제1 충전대, 그리고
    상기 제2 로봇을 충전하는 제2 충전대를 더 포함하며,
    상기 제1 로봇이 상기 제1 시간과 상기 제2 시간 동안 상기 트랩 상황을 탈출하지 못한 경우,
    상기 제2 로봇은, 상기 제2 충전대로 복귀하는, 이동 로봇 시스템.
  7. 복수의 이동 로봇이 협업하여 주행하는 이동 로봇 시스템에 있어서,
    제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇; 및
    제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇
    을 포함하고,
    상기 제1 로봇 및 상기 제2 로봇은,
    구동 상태가 기설정된 기준 조건에 해당하는 경우,
    상기 제1 로봇이 상기 제2 로봇의 주행 이전에 주행하여 청소 대상 구역의 오염물을 흡입하고, 상기 제2로봇이 상기 제1 로봇이 주행한 경로를 따라 주행하여 바닥을 닦는 협업 주행을 시작하되,
    상기 협업 주행을 수행하는 중, 상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황이 발생한 경우, 상기 제1 로봇 및/또는 상기 제2 로봇 각각이 상기 트랩 상황에 대응하여 트랩 탈출 주행을 수행하고,
    상기 트랩 상황은, 상기 제1 로봇 또는 상기 제2 로봇이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며,
    상기 트랩 탈출 주행은, 상기 제1 로봇 또는 상기 제2 로봇이 주행한 청소 대상 구역의 경계를 따라 주행하는 주행 방법이고,
    상기 제1 로봇과 상기 제2 로봇이 모두 상기 트랩 상황이 아닌 경우, 상기 제1 로봇과 상기 제2 로봇은 상기 협업 주행의 수행을 유지하고,
    상기 제2 로봇이 상기 트랩 상황이고 상기 제1 로봇은 상기 트랩 상황이 아닌 경우,
    상기 제2 로봇은,
    상기 트랩 탈출 주행을 수행하고,
    상기 제1 로봇은,
    상기 제2 로봇이 상기 트랩 탈출 주행을 수행하는 동안,
    미리 설정된 제1 시간 동안 대기하며, 상기 제1 시간 이내에, 상기 제2 로봇이 상기 트랩 상황을 탈출하지 못하면, 미리 설정된 제2 시간 동안 이미 주행한 청소 대상 구역을 다시 주행하는, 이동 로봇 시스템.
  8. 제7항에 있어서,
    상기 제1 로봇과 상기 제2 로봇은 네트워크 연결을 이용하여 협업 주행 모드를 수행하거나, 각각 단독 주행 모드를 수행하는, 이동 로봇 시스템.
  9. 제 8항에 있어서,
    상기 제2 로봇이 상기 제1 시간과 상기 제2 시간 동안 상기 트랩 상황을 탈출하지 못한 경우,
    상기 제1 로봇은, 상기 협업 주행 모드를 해제하고 상기 단독 주행 모드에 진입하여 단독 주행을 수행하는, 이동 로봇 시스템.
  10. 제1 충전대에서 충전한 전력을 근거로 구동하여, 청소 대상 구역을 주행하는 제1 로봇; 및
    제2 충전대에서 충전한 전력을 근거로 구동하여, 상기 제1 로봇이 주행한 경로에 따라 주행하는 제2 로봇
    을 포함하는 이동 로봇 시스템의 협업 주행 수행 방법에 있어서,
    상기 제1 로봇 및 상기 제2 로봇의 구동 상태가 기설정된 기준 조건에 해당하여, 상기 제1 로봇 및 상기 제2 로봇이 협업 주행을 수행하는 단계,
    상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황 발생 여부를 판단하는 단계, 그리고
    상기 제1 로봇 및/또는 상기 제2 로봇이 트랩 상황인 경우 트랩 탈출 주행을 수행하는 단계
    를 포함하며,
    상기 트랩 상황은, 상기 제1 로봇 또는 상기 제2 로봇이 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며,
    상기 트랩 탈출 주행은, 상기 제1 로봇 또는 상기 제2 로봇이 주행한 청소 대상 구역의 경계를 따라 주행하는 주행 방법이고,
    상기 트랩 탈출 주행을 수행하는 단계는,
    어느 한 로봇이 트랩 탈출 주행을 수행하는 동안, 다른 로봇은 일정 시간 동안 대기하며 상기 어느 한 로봇의 트랩 상황 탈출 여부에 따라 협업 주행을 재수행하거나 단독 주행을 수행하는, 협업 주행 수행 방법.
  11. 제10항에 있어서,
    상기 제1 로봇은 청소 대상 구역의 오염물을 흡입하고,
    상기 제2 로봇은 청소 대상 구역의 바닥을 닦으며,
    상기 제1 로봇과 상기 제2 로봇은 네트워크 연결을 이용하여 상기 협업 주행을 수행하거나, 각각 단독 주행 모드에 진입하여 단독주행모드를 수행하는, 협업 주행 수행 방법.
  12. 제11항에 있어서,
    상기 협업 주행을 수행하는 단계는,
    상기 제1 로봇이, 상기 제2 로봇의 주행 이전에 주행하여 상기 청소 대상 구역의 오염물을 흡입하고, 상기 제2 로봇이, 상기 제1 로봇이 주행한 경로를 따라 주행하여 상기 청소 대상 구역의 바닥을 닦는 단계인, 협업 주행 수행 방법.
  13. 제12항에 있어서,
    상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황이 발생하였는지 여부를 판단하는 단계는,
    상기 제1 로봇이 상기 트랩 상황이고 상기 제2 로봇은 상기 트랩 상황이 아닌 경우,
    상기 제1 로봇은 상기 트랩 탈출 주행을 수행하는 단계,
    상기 제1 로봇과 상기 제2 로봇이 모두 상기 트랩 상황이 아닌 경우, 상기 제1 로봇과 상기 제2 로봇은 상기 협업 주행을 수행하는 단계
    를 포함하는, 협업 주행 수행 방법.
  14. 제13항에 있어서,
    상기 제1로봇은 상기 트랩 탈출 주행을 수행하는 단계는,
    상기 제1 로봇이 상기 트랩 탈출 주행을 수행하는 동안, 상기 제2로봇은 미리 설정된 제1 시간 동안 대기하는 단계,
    상기 제1 시간 이내에, 상기 제1로봇이 상기 트랩 상황을 탈출하지 못한 경우, 상기 제2 로봇은 미리 설정된 제2 시간 동안 상기 제2 로봇이 이미 주행한 청소 대상 구역을 다시 주행하는 단계
    를 포함하는, 협업 주행 수행 방법.
  15. 제14항에 있어서,
    상기 제1로봇은 상기 트랩 탈출 주행을 수행하는 단계는,
    상기 제1 로봇이 상기 제1 시간과 상기 제2 시간 동안 상기 트랩 상황을 탈출하지 못한 경우, 상기 제2 로봇은 상기 제2 충전대로 복귀하는 단계
    를 더 포함하는, 협업 주행 수행 방법.
  16. 제12항에 있어서,
    상기 제1 로봇 및/또는 상기 제2 로봇에 트랩 상황이 발생하였는지 여부를 판단하는 단계는,
    상기 제2로봇이 상기 트랩 상황이고 상기 제1 로봇은 상기 트랩 상황이 아닌 경우, 상기 제2로봇은 상기 트랩 탈출 주행을 수행하는 단계,
    상기 제1 로봇과 상기 제2 로봇이 모두 상기 트랩 상황이 아닌 경우, 상기 제1 로봇과 상기 제2 로봇이 상기 협업 주행을 수행하는 단계
    를 포함하는, 협업 주행 수행 방법.
  17. 제16항에 있어서,
    상기 제2로봇은 상기 트랩 탈출 주행을 수행하는 단계는,
    상기 제2 로봇이 상기 트랩 탈출 주행을 수행하는 동안, 상기 제1 로봇은 미리 설정된 제1 시간 동안 대기하는 단계,
    상기 제1 시간 이내에, 상기 제2 로봇이 상기 트랩 상황을 탈출하지 못한 경우, 상기 제1 로봇은 미리 설정된 제2 시간 동안 상기 제1 로봇이 이미 주행한 청소 구역을 다시 주행하는 단계
    를 포함하는, 협업 주행 수행 방법.
  18. 제17항에 있어서,
    상기 제2 로봇은 상기 트랩 탈출 주행을 수행하는 단계는,
    상기 제2 로봇이 상기 제1 시간과 상기 제2 시간 동안 상기 트랩 상황을 탈출하지 못한 경우,
    상기 제1 로봇은, 협업 주행 모드를 해제하고 단독 주행 모드에 진입하여 단독 주행을 수행하는 단계
    를 포함하는, 협업 주행 수행 방법.
  19. 청소 대상 구역을 주행하는 이동 로봇으로서,
    상기 이동 로봇의 외관을 형성하는 본체,
    상기 본체의 일측에 장착되어, 상기 청소 대상 구역의 오염물을 흡입하는 청소부, 그리고
    상기 본체의 내부에 구비되고, 네트워크를 이용하여 다른 이동 로봇과 데이터를 주고받는 통신부를 포함하고,
    단독 주행 모드에 진입하여 단독 주행을 수행하거나,
    상기 네트워크를 이용하여 협업 주행 모드에 진입하고, 상기 다른 이동 로봇과 서로 협업 주행을 수행하고,
    트랩 상황인 경우, 트랩 탈출 주행을 수행하며,
    상기 협업 주행 모드인 상태에서, 상기 다른 이동 로봇이 상기 트랩 상황인 경우, 미리 설정된 일정 시간 동안 대기 또는 이미 주행한 청소 대상 구역을 다시 주행 또는 단독 주행 모드에 진입하여 단독 주행을 수행하며,
    상기 다른 이동 로봇이 상기 트랩 상황에서 탈출한 경우, 협업 주행 모드로 진입하여, 상기 다른 이동 로봇과 상기 협업 주행을 수행하며,
    상기 트랩 상황은, 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며,
    상기 트랩 탈출 주행은, 주행한 청소 대상 구역의 외각을 따라 주행하는 주행 방법인, 이동 로봇.
  20. 청소 대상 구역을 주행하는 이동 로봇으로서,
    상기 이동 로봇의 외관을 형성하는 본체,
    상기 본체의 일측에 장착되어, 상기 청소 대상 구역의 바닥을 닦는 걸레부, 그리고
    상기 본체의 내부에 구비되고, 네트워크를 이용하여 다른 이동 로봇과 데이터를 주고받는 통신부를 포함하고,
    단독 주행 모드에 진입하여 단독 주행을 수행하거나,
    상기 네트워크를 이용하여 협업 주행 모드에 진입하고, 상기 다른 이동 로봇과 서로 협업 주행을 수행하고,
    트랩 상황인 경우, 트랩 탈출 주행을 수행하며,
    상기 협업 주행 모드인 상태에서, 상기 다른 이동 로봇이 상기 트랩 상황인 경우, 미리 설정된 일정 시간 동안 대기 또는 이미 주행한 청소 대상 구역을 다시 주행한 후 충전대로 이동하며,
    상기 다른 이동 로봇이 상기 트랩 상황에서 탈출한 경우, 협업 주행 모드로 진입하여, 상기 다른 이동 로봇과 상기 협업 주행을 수행하고,
    상기 트랩 상황은, 주행하지 않은 청소 대상 구역으로 진입이 불가능한 상황이며,
    상기 트랩 탈출 주행은, 주행한 청소 대상 구역의 외각을 따라 주행하는주행 방법인, 이동 로봇.
KR1020200130381A 2020-10-08 2020-10-08 이동 로봇 시스템 KR102410529B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200130381A KR102410529B1 (ko) 2020-10-08 2020-10-08 이동 로봇 시스템
TW110133102A TWI803965B (zh) 2020-10-08 2021-09-06 移動式機器人、移動式機器人系統及其執行協作行駛的方法
PCT/KR2021/012304 WO2022075611A1 (ko) 2020-10-08 2021-09-09 이동 로봇 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200130381A KR102410529B1 (ko) 2020-10-08 2020-10-08 이동 로봇 시스템

Publications (2)

Publication Number Publication Date
KR20220046999A KR20220046999A (ko) 2022-04-15
KR102410529B1 true KR102410529B1 (ko) 2022-06-20

Family

ID=81126644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200130381A KR102410529B1 (ko) 2020-10-08 2020-10-08 이동 로봇 시스템

Country Status (3)

Country Link
KR (1) KR102410529B1 (ko)
TW (1) TWI803965B (ko)
WO (1) WO2022075611A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100575707B1 (ko) * 2004-11-11 2006-05-03 엘지전자 주식회사 로봇청소기의 트랩회피 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015160022A (ja) * 2014-02-28 2015-09-07 東日本旅客鉄道株式会社 清掃装置による清掃方法
JP6931994B2 (ja) * 2016-12-22 2021-09-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 自律移動体、移動制御方法及び移動制御プログラム
KR20190073140A (ko) * 2017-12-18 2019-06-26 엘지전자 주식회사 복수의 로봇 청소기 및 그 제어방법
KR102489806B1 (ko) * 2018-01-03 2023-01-19 삼성전자주식회사 청소용 이동장치, 협업청소 시스템 및 그 제어방법
KR102100476B1 (ko) * 2018-05-04 2020-05-26 엘지전자 주식회사 복수의 이동 로봇 및 그 제어방법
KR102067603B1 (ko) * 2018-05-04 2020-01-17 엘지전자 주식회사 복수의 이동 로봇 및 그 제어방법
KR102198187B1 (ko) * 2018-12-28 2021-01-04 엘지전자 주식회사 이동 로봇

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100575707B1 (ko) * 2004-11-11 2006-05-03 엘지전자 주식회사 로봇청소기의 트랩회피 방법

Also Published As

Publication number Publication date
TW202214167A (zh) 2022-04-16
TWI803965B (zh) 2023-06-01
KR20220046999A (ko) 2022-04-15
WO2022075611A1 (ko) 2022-04-14

Similar Documents

Publication Publication Date Title
KR102412850B1 (ko) 복수의 자율주행 이동 로봇
TWI739100B (zh) 複數個移動式機器人及其控制方法
TWI731555B (zh) 移動式機器人及控制複數個移動式機器人的方法
KR102198187B1 (ko) 이동 로봇
KR102096564B1 (ko) 복수의 자율주행 청소기
CN113966187B (zh) 移动机器人和移动机器人的控制方法
KR102309303B1 (ko) 로봇 청소기 및 그 제어 방법
KR20220056166A (ko) 이동 로봇 시스템
KR102179057B1 (ko) 복수의 자율주행 청소기
KR102490755B1 (ko) 이동 로봇 시스템
KR102390040B1 (ko) 로봇 청소기 및 그 제어 방법
KR102410529B1 (ko) 이동 로봇 시스템
KR102410530B1 (ko) 이동 로봇 시스템
KR102490754B1 (ko) 이동 로봇 시스템
TWI837507B (zh) 移動式機器人系統

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant