KR20190134969A - 복수의 이동 로봇 및 그 제어방법 - Google Patents

복수의 이동 로봇 및 그 제어방법 Download PDF

Info

Publication number
KR20190134969A
KR20190134969A KR1020190014051A KR20190014051A KR20190134969A KR 20190134969 A KR20190134969 A KR 20190134969A KR 1020190014051 A KR1020190014051 A KR 1020190014051A KR 20190014051 A KR20190014051 A KR 20190014051A KR 20190134969 A KR20190134969 A KR 20190134969A
Authority
KR
South Korea
Prior art keywords
cleaner
mobile robot
information
trajectory information
driving
Prior art date
Application number
KR1020190014051A
Other languages
English (en)
Other versions
KR102100476B1 (ko
Inventor
곽동훈
고재환
권혁도
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to PCT/KR2019/005230 priority Critical patent/WO2019212240A1/en
Priority to AU2019262468A priority patent/AU2019262468B2/en
Priority to CN201980045079.0A priority patent/CN112367887B/zh
Priority to EP19795819.2A priority patent/EP3787458B1/en
Priority to US16/401,232 priority patent/US11150668B2/en
Priority to TW108115286A priority patent/TWI733105B/zh
Publication of KR20190134969A publication Critical patent/KR20190134969A/ko
Application granted granted Critical
Publication of KR102100476B1 publication Critical patent/KR102100476B1/ko
Priority to US17/468,927 priority patent/US11934200B2/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • G05D1/69
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4063Driving means; Transmission means therefor
    • A47L11/4066Propulsion of the whole machine
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2857User input or output elements for control, e.g. buttons, switches or displays
    • 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
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0027Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0293Convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0295Fleet control by at least one leading vehicle of the fleet
    • G05D1/646
    • G05D1/692
    • G05D1/693
    • 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

복수의 이동 로봇 및 그 제어방법이 개시된다. 본 발명의 실시 예에 따른 이동 로봇은, 본체를 이동시키는 주행부; 본체의 이동에 대응되는 주행 경로의 궤적 정보가 저장되는 메모리; 신호를 방출하는 타 이동 로봇과 통신하는 통신부; 신호에 기반하여 타 이동 로봇의 위치를 인식하고, 인식된 위치에 기반하여 타 이동 로봇이 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하는 제어부를 포함한다. 또, 제어부는, 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는 것에 응답하여, 저장된 궤적 정보 중 적어도 일부를 제거하고, 타 이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 타 이동 로봇의 주행을 제어한다.

Description

복수의 이동 로봇 및 그 제어방법{A PLURALITY OF ROBOT CLEANER AND A CONTROLLING METHOD FOR THE SAME}
본 발명은 어느 하나가 다른 하나를 추종하며 자율주행하는 복수의 이동 로봇 및 그 제어방법에 관한 것이다.
일반적으로 이동 로봇은 사용자의 조작 없이도 소정 구역을 스스로 주행하면서 자동으로 소정의 동작을 수행하는 기기이다. 이동 로봇은 구역 내에 설치된 장애물을 감지하여 장애물에 접근하거나 회피하여 동작을 수행한다.
이러한 이동 로봇은 영역을 주행하면서 청소를 수행하는 로봇 청소기가 포함될 수 있다. 로봇 청소기는, 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 청소기이다.
이와 같이 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 로봇 청소기가 개발됨에 따라, 복수의 로봇 청소기를 사용자의 조작 없이 어느 하나가 다른 하나를 추종하거나 또는 상호 협업하면서 청소시키기 위한 개발의 필요성이 대두되고 있다.
예로써, 선행문헌 WO2017-036532호는 마스터(master) 로봇 청소 장치(이하, 마스터 로봇)가 적어도 하나의 슬레이브(slave) 로봇 청소 장치(이하, 슬레이브 로봇)를 제어하는 방법에 대하여 개시한다.
상기 선행문헌은, 마스터 로봇이 장애물 검출 장치를 이용하여 주위의 장애물을 검출하고, 장애물 검출 장치로부터 파생된 위치 데이터를 이용하여 슬레이브 로봇과 관련된 마스터 로봇의 위치를 결정하는 구성에 대하여 개시한다.
또한, 상기 선행문헌은 무선 근거리 네트워크(WLAN) 기술을 이용하는 서버를 통해 마스터 로봇과 슬레이브 로봇이 통신을 수행하는 구성에 대하여 개시한다.
상기 선행문헌에 따르면, 상기 선행문헌은 마스터 로봇이 슬레이브 로봇의 위치를 판단하는 것만 가능할 뿐, 슬레이브 로봇이 마스터 로봇의 위치를 판단하는 것은 불가능하다.
또한, 상기 선행문헌에 개시된 구성을 이용하여 슬레이브 로봇이 마스터 로봇의 위치를 결정(판단)하려면, 마스터 로봇이 서버를 통하여 슬레이브 로봇에게 마스터 로봇에서 판단된 슬레이브 로봇의 상대 위치 정보를 전송하여야 한다.
그러나, 상기 선행문헌에는, 마스터 로봇이 서버를 통하여 슬레이브 로봇에게 상대 위치 정보를 전송하는 구성에 대하여 개시하지 못한다.
더불어, 마스터 로봇이 상대 위치 정보를 전송한다고 가정하더라도, 마스터 로봇과 슬레이브 로봇은 서버를 통해 통신을 수행하므로, 마스터 로봇 또는 슬레이브 로봇이 서버와의 통신이 어려운 장소에 위치한 경우, 서버와의 통신이 끊길 수 있다.
이 경우, 슬레이브 로봇이 서버로부터 상대 위치 정보를 전송 받지 못하게 되므로, 슬레이브 로봇이 마스터 로봇의 위치를 파악할 수 없게 된다. 그에 에 따라, 복수의 로봇 청소기 간의 추종 또는 협업이 원활하게 이루어지지 않는 문제가 발생될 수 있다.
또한, 로봇 청소기는 지정된 청소 공간을 주행하며 청소하는 동안 주행방향을 여러 번 변경하게 된다. 예를 들어, 청소 공간의 형상, 로봇 청소기의 주행모드, 장애물의 감지, 바닥의 지형 특성 등에 따라 현재의 주행방향을 변경해야하는 경우가 빈번하게 발생한다. 그에 따라, 복잡한 궤적을 남기거나 또는 복잡한 주행 경로를 형성하기도 한다.
복수의 로봇 청소기 중 어느 하나가 다른 하나를 추종하며 협업 청소하는 경우에서, 선두청소기가 형성한 복잡한 주행 경로를 후행하는 추종청소기가 그대로 따르기 어려운 경우가 있다. 또, 이와 같은 추종이 가능한 경우라도 전체 청소 시간이 지연되는 문제가 있다. 이는, 협업이 가능한 복수의 이동 로봇 간에도 마찬가지이다.
본 발명의 일 목적은, 복수의 이동 로봇이 서로 간섭이나 충돌이 없도록 어느 하나가 다른 하나의 주행 경로를 추종하며 주행할 수 있는 복수의 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇에서 어느 하나가 다른 하나를 추종하는 경우, 끊김이 없이 유연한 추종이 가능하도록 제어가 가능한 복수의 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 주행 영역 자체가 복잡한 영역이거나, 복잡한 이동 궤적을 남기거나, 복잡한 주행 경로를 형성하는 경우, 또는 선두 이동 로봇과 동일한 경로로 주행시 주행 완료 시간의 지연이 클 것으로 판단되는 상황에서, 유연성과 청소 시간을 고려하여 러프(rough)하게 추종할 수 있는 복수의 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇 간의 추종주행시, 청소공간이 복잡한 영역인 경우, 선두 이동 로봇이 복잡한 이동 궤적을 남기는 경우, 또는 복잡한 주행경로를 형성하는 경우에도 추종의 끊김을 방지하고 주행 완료 시간의 지연발생을 최소화할 수 있는 복수의 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇의 종류나 사양의 차이로 인해 주행가능한 영역이 서로 다른 경우에도 주행 완료 지연을 최소화하면서 추종주행을 이어나갈 수 있도록 구현한 복수의 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 추종 이동 로봇이 선두 이동 로봇의 주행 경로를 그대로 좇지 않더라도, 본연의 기능을 수행하기에 충분한 경우, 선두 이동 로봇의 주행 경로를 정해진 섹터 단위로 추종주행할 수 있도록 구현한 복수의 이동 로봇 및 그 제어방법을 제공하는데 있다.
이에, 본 발명에서는 복수의 이동 로봇 간에 끊김없는 유연한 추종이 가능하도록, 추종 이동 로봇이 선두 이동 로봇의 궤적 정보를 저장하고, 저장된 궤적 정보에 대응되는 주행 경로를 추종하며 주행하도록 구현하였다.
한편, 복수의 이동 로봇의 종류나 사양의 차이, 바닥의 상태, 장애물의 존재, 이동 로봇의 동작 상태, 궤적 정보에 대응되는 주행 경로가 복잡 정도 등의 상황에 따라, 추종 이동 로봇이 선두 이동 로봇의 주행 경로를 추종할 수 없거나 또는 그대로 추종하는 않는 것이 주행 완료 시간 및 효율상 적합한 경우에는 예외를 인정하는 것이 바람직하다.
이에, 추종 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는 경우에는 저장된 궤적 정보 중에서 적어도 일부를 제거하고 남은 다음 궤적 정보를 추종하도록 구현하였다.
여기에서, 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는지 여부는, 메모리, 센서, 및 통신부를 통해 주고받는 신호에 근거하여 획득된 장애물에 관한 정보, 이동 로봇의 식별 정보, 이동 로봇의 동작 상태와 관련된 정보, 이동 로봇의 위치한 바닥 상태 정보 중 적어도 하나를 기준으로 결정될 수 있다.
구체적으로, 본 발명의 일 실시 예에 따른 이동 로봇은, 본체를 이동시키는 주행부; 상기 본체의 이동에 대응되는 주행 경로의 궤적 정보가 저장되는 메모리; 신호를 방출하는 타 이동 로봇과 통신하는 통신부; 상기 신호에 기반하여 상기 타 이동 로봇의 위치를 인식하고, 인식된 위치에 기반하여 상기 타 이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하는 제어부를 포함하고, 상기 제어부는, 상기 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는 것에 응답하여, 상기 저장된 궤적 정보 중 적어도 일부를 제거하고, 상기 타 이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는지 여부는, 상기 본체의 센서를 통해 감지된 장애물에 관한 정보, 상기 타 이동 로봇의 식별 정보, 상기 타 이동 로봇의 동작 상태와 관련된 정보, 및 상기 타 이동 로봇의 위치한 바닥 상태 정보 중 적어도 하나를 기준으로 결정되는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 메모리에 저장된 궤적 정보 중 상기 타 이동 로봇이 추종한 궤적 정보는 상기 메모리로부터 삭제되는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 타 이동 로봇의 현재 위치에서 추종할 제1 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는 경우, 상기 타 이동 로봇을 상기 제1 궤적 정보 이후에 저장된 제2궤적 정보에 대응되는 위치로 이동시키기 위한 제어명령을 전송하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제1 궤적 정보와 제2궤적 정보 사이에는 하나 이상의 중간 궤적 정보가 포함되고, 상기 제어부는, 상기 타 이동 로봇이 상기 제2궤적 정보에 대응되는 위치로 이동한 것에 응답하여, 상기 제1궤적 정보와 상기 하나 이상의 중간 궤적 정보를 상기 메모리로부터 삭제하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 타 이동 로봇의 현재 위치에서 추종할 다음 궤적 정보의 위치에 복수의 장애물이 근접한 것으로 감지되면, 상기 다음 궤적 정보를 포함한 주행 경로 대신 다른 주행 경로로 본체를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 타 이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 정해진 섹터 단위로 추종하도록 주행을 제어하고, 하나의 섹터에는 복수의 궤적 정보에 대응되는 주행 경로가 포함되는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 정해진 조건을 만족하는 것에 응답하여, 상기 타 이동 로봇이 복수의 궤적 정보에 대응되는 본체의 주행 경로와 다른 주행 경로로 주행하도록 제어하고, 상기 다른 주행 경로는 상기 본체의 주행 경로 보다 경로의 길이가 짧은 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 복수의 궤적 정보를 포함하는 섹터 단위로 상기 다른 청소기의 주행을 제어하며, 상기 정해진 조건을 만족하는 것에 응답하여 현재 섹터 내의 궤적 정보를 모두 제거하고, 상기 타 이동 로봇의 현재 위치와 주행방향에 기초하여 다음 섹터를 결정하고, 상기 결정된 다음 섹터 내의 궤적 정보 중 하나를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 타 이동 로봇이 상기 결정된 다음 섹터 내의 궤적 정보 중 하나를 추종하기 위해 상기 본체로부터 멀어지는 경우, 상기 본체의 주행 속도를 변경하거나 정지시키는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 다음 섹터 내에 상기 본체의 다음 궤적 정보가 미검출 된 것에 응답하여, 다음 섹터의 크기 및 위치 중 적어도 하나를 변경하여 상기 본체의 다음 궤적 정보를 검출하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 다음 섹터 내에 상기 본체의 다음 궤적 정보가 미검출 된 것에 응답하여, 섹터의 개수를 증가시켜서 상기 본체의 다음 궤적 정보를 검출하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 다음 섹터 내에 상기 본체의 다음 궤적 정보가 미검출 된 것에 응답하여, 상기 다음 섹터 내로 본체가 진입할 때까지 상기 타 이동 로봇의 주행을 정지시키는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 소정 시간 내에 상기 본체의 주행방향이 기준횟수 이상 변경되는 것에 응답하여, 상기 타 이동 로봇이, 상기 소정 시간 검출된 본체의 궤적 정보에 대응되는 주행 경로 대신, 상기 타 이동 로봇의 현재 위치로부터 상기 본체의 현재 위치까지 최단직선으로 연결한 경로로 주행하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 본체가 진입한 주행영역의 너비가 기준범위 이하로 감지된 것 응답하여, 상기 진입한 주행영역에서의 본체의 궤적 정보는 제거하고, 상기 본체가 해당 주행영역을 빠져나온 이후의 궤적 정보를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 본체가 진입한 영역이 상기 타 이동 로봇의 진입 불가 영역으로 판단되면, 주행정지명령에 대응되는 신호를 상기 타 이동 로봇으로 전송하고, 상기 본체가 해당 영역을 벗어난 것으로 감지되면, 해당 영역을 벗어난 이후에 저장된 본체의 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 다른 청소기의 주행을 제어하는 것을 특징으로 한다.
또, 본 발명의 일 실시 예에 따른 복수의 이동 로봇은, 제1이동 로봇과 제2이동 로봇을 포함하는 복수의 이동 로봇으로서, 상기 제1이동 로봇은 신호를 방출하는 상기 제2이동 로봇과 통신하여 상기 제2이동 로봇의 위치를 인식하고, 상기 제1이동 로봇의 이동에 대응되는 주행경로의 궤적 정보를 저장하고, 상기 인식된 제2이동 로봇의 위치에 기반하여 상기 제2이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하고, 상기 제1이동 로봇은, 상기 제2이동 로봇의 현재 위치에서 추종할 다음 궤적 정보에 대응되는 주행경로가 정해진 조건을 만족하는 것에 응답하여, 상기 저장된 궤적 정보 중 일부를 제거하고, 상기 제2이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하는 것을 특징으로 한다.
또, 본 발명의 일 실시 예에 따른 이동 로봇의 제어방법은, 이동 로봇 본체의 이동에 대응되는 주행 경로의 궤적 정보를 저장하는 단계; 신호를 방출하는 타 이동 로봇과 통신하여, 타 이동 로봇의 위치를 인식하는 단계; 인식된 위치에 기반하여 상기 타 이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 단계; 상기 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행경로가 정해진 조건을 만족하는 것을 감지하는 단계; 및 상기 감지에 따라 상기 저장된 궤적 정보 중 일부를 제거하고, 상기 타 이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 단계를 포함하여 이루어진다.
또한, 일 실시 예에서, 상기 정해진 조건을 만족하는지 여부는, 상기 본체의 센서를 통해 감지된 장애물에 관한 정보, 상기 타 이동 로봇의 식별 정보, 상기 타 이동 로봇의 동작 상태와 관련된 정보, 및 상기 타 이동 로봇의 현재 위치의 바닥 상태 정보 중 적어도 하나를 기준으로 결정되는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 저장된 궤적 정보 중 상기 타 이동 로봇이 추종한 궤적 정보를 삭제하는 단계를 더 포함하는 것을 특징으로 한다.
이상에서 살펴본 바와 같이, 본 발명의 실시 예에 따른 복수의 이동 로봇에 의하면, 평소에는 추종 이동 로봇이 선두 이동 로봇의 이동 궤적으로 차례대로 추종하면서 청소하고, 복잡한 영역 또는 복잡한 섹터 내에서 이동 궤적이 검출되거나 이동 궤적인 복잡한 경로를 형성하는 경우는 추종 이동 로봇이 선두 이동 로봇의 이동 궤적 중 일부를 생략하고 러프(rough)하게 추종함으로써, 추종에 따른 청소 효율은 유지하면서 주행 완료 시간의 지연 문제가 해소될 수 있다.
또한, 복잡한 영역이나 복잡한 섹터를 만나는 경우가 아니라도 선두 이동 로봇이 짧은 시간 내에 여러 번 주행방향을 변경하거나 또는 좁은 영역에 진입한 경우에는, 일정 시간 동안의 이동 궤적이나 좁은 영역에서의 이동 궤적을 모두 제거하고 추종 이동 로봇이 직선 주행하여 선두 이동 로봇을 좇도록 제어함으로써, 추종에 의한 시간 지연을 최소화할 수 있다.
도 1은 본 발명에 따른 이동 로봇의 일 예를 보인 사시도이다.
도 2는 도 1에 도시된 이동 로봇의 평면도이다.
도 3은 도 1에 도시된 이동 로봇의 측면도이다.
도 4는 본 발명의 일 실시예에 따른 이동 로봇의 의 예시 구성요소를 나타내는 블록도이다.
도 5a는 본 발명의 일 실시예에 따른 복수의 이동 로봇 간의 네트워크 통신을 도시한 개념도이고, 도 5b는 도 5a의 네트워크 통신의 일 예를 도시한 개념도이다.
도 5c는 본 발명의 일 실시예에 따른 복수의 이동 로봇 간의 추종 제어를 설명하기 위한 도면이다.
도 6은, 도 7, 도 8a, 도 8b, 도 8c는 본 발명의 일 실시예에 따른 복수의 이동 로봇이 일정 거리를 유지하면서 보다 유연하게 추종하는 방법을 구체적으로 설명하기 위한 도면들이다.
도 9 및 도 10은 본 발명의 일 실시예에 따라, 제1청소기를 추종하는 제2청소기가 장애물 정보를 기초로 섹터 주행 모드를 수행하는 것을 설명하기 위한 예시 흐름도와 개념도이다.
도 11a, 도 11b, 도 11c는 본 발명의 일 실시예에 따라, 제2청소기가 섹터 단위 내의 이동 궤적을 제거하면서 주행하는 것을 설명하기 위한 예시 개념도들이다.
도 12a, 도 12b, 도 12c, 도 12d는 본 발명의 일 실시예에 따라, 섹터 단위의 설정과 섹터 단위 내에서 제1청소기의 이동 궤적이 미검출된 경우의 처리를 설명하기 위한 서로 다른 예시 개념도들이다.
도 13a, 도 13b, 도 13c, 도 13d는 본 발명의 일 실시예에 따라, 제2청소기가 진입가능하나 제1청소기의 주행이 복잡하여 섹터 단위 내의 제1청소기의 이동 궤적을 제거하고 최단거리로 제2청소기를 주행하는 예시들을 설명하기 위한 개념도들이다.
도 14a, 도 14b, 도 14c는 본 발명의 일 실시예에 따라, 섹터 단위 내에 제2청소기가 진입할 수 없는 경우 제1청소기의 주행 방법을 설명하기 위한 개념도들이다.
도 15a, 도 15b, 도 15c는 본 발명의 변형 실시 예에 따라, 이동 로봇과 다른 이동 디바이스 간의 추종 등록과 추종 제어를 설명하기 위한 개념도들이다.
이하, 본 발명에 관련된 이동 로봇에 대하여 도면을 참조하여 보다 상세하게 설명한다.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
먼저, 본 발명에 개시된 "이동 로봇"은, 자율주행이 가능한 '(특정기능)용 로봇', '로봇 청소기', '청소용 로봇', '자율주행 청소기'와 동일한 의미로 사용될 수 있으며, 혼용될 수 있음을 미리 밝혀둔다.
또, 본 발명에 개시된 "복수의 이동 로봇"은 "복수의 로봇 청소기" 또는 "복수의 청소기"로 사용될 수 있다. 또, "제1 이동 로봇"은 "제1로봇", "제1로봇 청소기", "제1청소기', 또는 "선두 청소기"로 명명될 수 있다. 또, "제2 이동 로봇"은 "제2로봇", "제2로봇 청소기", "제2청소기', 또는 "추종 청소기"로 명명될 수 있다.
도 1 내지 도 3은 본 발명에 따른 이동 로봇의 예시로, 로봇 청소기를 도시한 것이다.
구체적으로, 도 1은 본 발명에 따른 로봇 청소기(100)의 일 예를 보인 사시도이고, 도 2는 도 1에 도시된 로봇 청소기(100)의 평면도이며, 도 3은 도 1에 도시된 로봇 청소기(100)의 측면도이다.
본 명세서에서 이동 로봇, 로봇 청소기 및 자율 주행을 수행하는 청소기가 동일한 의미로 사용될 수 있다. 또한, 본 명세서에서 복수의 이동 로봇의 예시로 설명되는, 복수의 청소기는 이하 도 1 내지 도 3에 도시된 구성 중 적어도 일부를 포함하여 이루어질 수 있다.
도 1 내지 도 3을 참조하면, 로봇 청소기(100)는 일정 영역을 스스로 주행하면서 바닥을 청소하는 기능을 수행한다. 여기서 말하는 바닥의 청소에는, 바닥의 먼지(이물질을 포함한다)를 흡입하거나 바닥을 걸레질하는 것이 포함된다.
로봇 청소기(100)는 청소기 본체(110), 청소 유닛(120), 센싱 유닛(130) 및 먼지통(140)을 포함할 수 있다.
청소기 본체(110)에는 로봇 청소기(100)의 제어를 위한 제어부(미도시)를 포함하여 각종 부품들이 내장 또는 장착된다. 또한, 청소기 본체(110)에는 로봇 청소기(100)의 주행을 위한 휠 유닛(111)이 구비된다. 휠 유닛(111)에 의해 로봇 청소기(100)는 전후좌우로 이동되거나 회전될 수 있다.
도 3을 참조하면, 휠 유닛(111)은 메인 휠(111a) 및 서브 휠(111b)을 포함한다.
메인 휠(111a)은 청소기 본체(110)의 양측에 각각 구비되어, 제어부의 제어 신호에 따라 일 방향 또는 타 방향으로 회전 가능하게 구성된다. 각각의 메인 휠(111a)은 서로 독립적으로 구동 가능하게 구성될 수 있다. 예를 들어, 각각의 메인 휠(111a)은 서로 다른 모터에 의해서 구동될 수 있다. 또는, 하나의 모터에 구비된 복수의 서로 다른 축에 의해서 구동될 수 있다.
서브 휠(111b)은 메인 휠(111a)과 함께 청소기 본체(110)를 지지하며, 메인 휠(111a)에 의한 로봇 청소기(100)의 주행을 보조하도록 이루어진다. 이러한 서브 휠(111b)은 후술하는 청소 유닛(120)에도 구비될 수 있다.
제어부는 휠 유닛(111)의 구동을 제어함으로써, 로봇 청소기(100)는 바닥을 자율 주행하도록 이루어진다.
한편, 청소기 본체(110)에는 로봇 청소기(100)에 전원을 공급하는 배터리(미도시)가 장착된다. 배터리는 충전 가능하게 구성되며, 청소기 본체(110)의 저면부에 착탈 가능하게 구성될 수 있다.
도 1에서, 청소 유닛(120)은 청소기 본체(110)의 일측으로부터 돌출된 형태로 배치되어, 먼지가 포함된 공기를 흡입하거나 또는 걸레질을 할 수 있다. 상기 일측은 상기 청소기 본체(110)가 정방향(F)으로 주행하는 측, 즉 청소기 본체(110)의 앞쪽이 될 수 있다.
본 도면에서는, 청소 유닛(120)이 청소기 본체(110)의 일측에서 전방 및 좌우 양측방으로 모두 돌출된 형태를 가지는 것을 보이고 있다. 구체적으로, 청소 유닛(120)의 전단부는 청소기 본체(110)의 일측으로부터 전방으로 이격된 위치에 배치되고, 청소 유닛(120)의 좌우 양단부는 청소기 본체(110)의 일측으로부터 좌우 양측으로 각각 이격된 위치에 배치된다.
청소기 본체(110)가 원형으로 형성되고, 청소 유닛(120)의 후단부 양측이 청소기 본체(110)로부터 좌우 양측으로 각각 돌출 형성됨에 따라, 청소기 본체(110)와 청소 유닛(120) 사이에는 빈 공간, 즉 틈이 형성될 수 있다. 상기 빈 공간은 청소기 본체(110)의 좌우 양단부와 청소 유닛(120)의 좌우 양단부 사이의 공간으로서, 로봇 청소기(100)의 내측으로 리세스된 형태를 가진다.
상기 빈 공간에 장애물이 끼이는 경우, 로봇 청소기(100)가 장애물에 걸려 움직이지 못하는 문제가 초래될 수 있다. 이를 방지하기 위하여, 커버부재(129)가 상기 빈 공간의 적어도 일부를 덮도록 배치될 수 있다.
커버부재(129)는 청소기 본체(110) 또는 청소 유닛(120)에 구비될 수 있다. 본 실시예에서는, 청소 유닛(120)의 후단부 양측에 각각 커버부재(129)가 돌출 형성되어, 청소기 본체(110)의 외주면을 덮도록 배치된 것을 보이고 있다.
커버부재(129)는 상기 빈 공간, 즉 청소기 본체(110)와 청소 유닛(120) 간의 빈 공간의 적어도 일부를 메우도록 배치된다. 따라서, 상기 빈 공간에 장애물이 끼이는 것이 방지되거나, 상기 빈 공간에 장애물이 끼이더라도 장애물로부터 용이하게 이탈 가능한 구조가 구현될 수 있다.
청소 유닛(120)에서 돌출 형성된 커버부재(129)는 청소기 본체(110)의 외주면에 지지될 수 있다.
만일, 커버부재(129)가 청소기 본체(110)에서 돌출 형성되는 경우라면, 커버부재(129)는 청소 유닛(120)의 후면부에 지지될 수 있다. 상기 구조에 따르면, 청소 유닛(120)이 장애물과 부딪혀 충격을 받았을 때, 그 충격의 일부가 청소기 본체(110)로 전달되어 충격이 분산될 수 있다.
청소 유닛(120)은 청소기 본체(110)에 착탈 가능하게 결합될 수 있다. 청소 유닛(120)이 청소기 본체(110)로 분리되면, 분리된 청소 유닛(120)을 대체하여 걸레 모듈(미도시)이 청소기 본체(110)에 착탈 가능하게 결합될 수 있다.
따라서, 사용자는 바닥의 먼지를 제거하고자 하는 경우에는 청소기 본체(110)에 청소 유닛(120)을 장착하고, 바닥을 닦고자 하는 경우에는 청소기 본체(110)에 걸레 모듈을 장착할 수 있다.
청소 유닛(120)이 청소기 본체(110)에 장착시, 상술한 커버부재(129)에 의해 상기 장착이 가이드될 수 있다. 즉, 커버부재(129)가 청소기 본체(110)의 외주면을 덮도록 배치됨으로써, 청소기 본체(110)에 대한 청소 유닛(120)의 상대적 위치가 결정될 수 있다.
청소 유닛(120)에는 캐스터(castor, 123)가 구비될 수 있다. 캐스터(123)는 로봇 청소기(100)의 주행을 보조하고, 또한 로봇 청소기(100)를 지지하도록 이루어진다.
청소기 본체(110)에는 센싱 유닛(130)이 배치된다. 도시된 바와 같이, 센싱 유닛(130)은 청소 유닛(120)이 위치하는 청소기 본체(110)의 일측, 즉 청소기 본체(110)의 앞쪽에 배치될 수 있다.
센싱 유닛(130)은 청소기 본체(110)의 상하 방향으로 청소 유닛(120)과 오버랩되도록 배치될 수 있다. 센싱 유닛(130)은 청소 유닛(120)의 상부에 배치되어, 로봇 청소기(100)의 가장 앞쪽에 위치하는 청소 유닛(120)이 장애물과 부딪히지 않도록 전방의 장애물이나 지형지물 등을 감지하도록 이루어진다.
센싱 유닛(130)은 이러한 감지 기능 외의 다른 센싱 기능을 추가로 수행하도록 구성될 수 있다.
예로써, 센싱 유닛(130)은 주변의 영상을 획득하기 위한 카메라(131)를 포함할 수 있다. 카메라(131)는 렌즈와 영상 센서(image sensor)를 포함할 수 있다. 또한, 카메라(131)는 청소기 본체(110) 주변의 영상을 제어부가 처리할 수 있는 전기적 신호로 변환하며, 예를 들어 상방 영상에 대응되는 전기적 신호를 제어부에 전달할 수 있다. 상방 영상에 대응되는 전기적 신호는 상기 제어부가 청소기 본체(110)의 위치를 검출하는데 사용될 수 있다.
또한, 센싱 유닛(130)은 로봇 청소기(100)의 주행 면상 또는 주행 경로 상의 벽체, 가구, 및 낭떠러지 등의 장애물을 감지할 수 있다. 또한, 센싱 유닛(130)은 배터리 충전을 수행하는 도킹 기기의 존재를 감지할 수 있다. 또한, 센싱 유닛(130)은 천장 정보를 감지하여서, 로봇 청소기(100)의 주행 구역 또는 청소 구역을 맵핑(Mapping)할 수 있다.
청소기 본체(110)에는 흡입된 공기 중의 먼지를 분리하여 집진하는 먼지통(140)이 착탈 가능하게 결합된다.
또한, 먼지통(140)에는 먼지통(140)을 덮는 먼지통 덮개(150)가 구비된다. 일 실시예로, 먼지통 덮개(150)는 청소기 본체(110)에 힌지 결합되어 회동 가능하게 구성될 수 있다. 먼지통 덮개(150)는 먼지통(140) 또는 청소기 본체(110)에 고정되어 먼지통(140)의 상면을 덮은 상태를 유지할 수 있다. 먼지통 덮개(150)가 먼지통(140)의 상면을 덮도록 배치된 상태에서는, 먼지통 덮개(150)에 의해 먼지통(140)이 청소기 본체(110)로부터 분리되는 것이 방지될 수 있다.
먼지통(140)의 일부는 먼지통 수용부(113)에 수용되되, 먼지통(140)의 다른 일부는 청소기 본체(110)의 후방(즉, 정방향(F)에 반대되는 역방향(R))을 향하여 돌출되게 형성될 수 있다.
먼지통(140)에는 먼지가 포함된 공기가 유입되는 입구와 먼지가 분리된 공기가 배출되는 출구가 형성되며, 청소기 본체(110)에 먼지통(140)의 장착시 상기 입구와 출구는 본체(110)의 내측벽에 형성된 개구(155)를 통해 연통되도록 구성된다. 이에 의하여, 청소기 본체(110) 내부의 흡기유로와 배기유로가 형성될 수 있다.
이러한 연결관계에 따라, 청소 유닛(120)을 통하여 유입된 먼지가 포함된 공기는 청소기 본체(110) 내부의 흡기유로를 거쳐, 먼지통(140)으로 유입되고, 먼지통(140)의 필터 내지는 사이클론을 거치면서 공기와 먼지가 상호 분리된다. 먼지는 먼지통(140)에 집진되며, 공기는 먼지통(140)에서 배출된 후 청소기 본체(110) 내부의 배기유로를 거쳐 최종적으로 배기구(112)를 통하여 외부로 배출된다.
이하의 도 4에서는 로봇 청소기(100)의 구성요소와 관련된 일 실시예가 설명된다.
본 발명의 일 실시 예에 따른 로봇 청소기(100) 또는 이동 로봇은, 통신부(1100), 입력부(1200), 주행부(1300), 센싱부(1400), 출력부(1500), 전원부(1600), 메모리(1700), 제어부(1800), 청소부(1900) 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
이때, 도 4에 도시한 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 로봇 청소기가 구현될 수 있음은 물론이다. 또한, 전술한 바와 같이, 본 발명에서 설명되는 복수의 로봇 청소기는 이하에서 설명된 구성요소들 중 일부만 동일한 구성요소를 포함할 수 있다. 즉, 복수의 로봇 청소기가 각각 서로 다른 구성요소로 이루어질 수 있다.
이하, 각 구성요소들에 대해 살펴보기로 한다.
우선, 전원부(1600)는 외부 상용 전원에 의해 충전 가능한 배터리를 구비하여 이동 로봇 내로 전원을 공급한다. 전원부(1600)는 이동 로봇에 포함된 각 구성들에 구동 전원을 공급하여, 이동 로봇이 주행하거나 특정 기능을 수행하는데 요구되는 동작 전원을 공급할 수 있다.
이때, 제어부(1800)는 배터리의 전원 잔량을 감지하고, 전원 잔량이 부족하면 외부 상용 전원과 연결된 충전대로 이동하도록 제어하여, 충전대로부터 충전 전류를 공급받아 배터리를 충전할 수 있다. 배터리는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(1800)에 전달될 수 있다. 출력부(1500)은 제어부에 의해 상기 배터리 잔량을 출력부(1500)에 표시할 수 있다.
배터리는 로봇 청소기 중앙의 하부에 위치할 수도 있고, 좌, 우측 중 어느 한쪽에 위치할 수도 있다. 후자의 경우, 이동 로봇은 배터리의 무게 편중을 해소하기 위해 균형추를 더 구비할 수 있다.
제어부(1800)는, 인공 지능 기술에 기반하여 정보들을 처리하는 역할을 수행하는 것으로, 정보의 학습, 정보의 추론, 정보의 지각, 자연 언어의 처리 중 적어도 하나를 수행하는 하나 이상의 모듈을 포함할 수 있다.
제어부(1800)는 머신 러닝(machine running) 기술을 이용하여, 청소기 내에 저장된 정보, 이동 단말기 주변의 환경 정보, 통신 가능한 외부 저장소에 저장된 정보 등 방대한 양의 정보(빅데이터, big data)를 학습, 추론, 처리 중 적어도 하나를 수행할 수 있다. 그리고, 제어부(1800)는 상기 머신 러닝 기술을 이용하여 학습된 정보들을 이용하여, 실행 가능한 적어도 하나의 청소기의 동작을 예측(또는 추론)하고, 상기 적어도 하나의 예측된 동작들 중 실현성이 가장 높은 동작이 실행되도록 청소기를 제어할 수 있다.
머신 러닝 기술은 적어도 하나의 알고리즘에 근거하여, 대규모의 정보들을 수집 및 학습하고, 학습된 정보를 바탕으로 정보를 판단 및 예측하는 기술이다. 정보의 학습이란 정보들의 특징, 규칙, 판단 기준 등을 파악하여, 정보와 정보 사이의 관계를 정량화하고, 정량화된 패턴을 이용하여 새로운 데이터들을 예측하는 동작이다.
머신 러닝 기술이 사용하는 알고리즘은 통계학에 기반한 알고리즘이 될 수 있으며, 예를 들어, 트리 구조 형태를 예측 모델로 사용하는 의사 결정 나무(decision tree), 생물의 신경 네트워크 구조와 기능을 모방하는 인공 신경망(neural network), 생물의 진화 알고리즘에 기반한 유전자 프로그래밍(genetic programming), 관측된 예를 군집이라는 부분집합으로 분배하는 군집화(Clustering), 무작위로 추출된 난수를 통해 함수값을 확률로 계산하는 몬테카를로 방법(Monter carlo method) 등이 될 수 있다.
머신 러닝 기술의 한 분야로써, 딥러닝 기술은 인공 신경망(Deap Neuron Network, DNN) 알고리즘을 이용하여, 정보들을 학습, 판단, 처리 중 적어도 하나를 수행하는 기술이다. 인공 신경망(DNN)은 레이어와 레이어 사이를 연결하고, 레이어와 레이어 사이의 데이터를 전달하는 구조를 가질 수 있다. 이러한 딥러닝 기술은 병렬 연산에 최적화된 GPU(graphic processing unit)를 이용하여 인공 신경망(DNN)을 통하여 방대한 양의 정보를 학습할 수 있다.
제어부(1800)는 외부의 서버 또는 메모리에 저장된 트레이닝 데이터를 이용하며, 소정의 물체를 인식하기 위한 특징을 검출하는 학습 엔진을 탑재할 수 있다. 이때, 물체를 인식하기 위한 특징에는 물체의 크기, 형태 및 음영 등을 포함할 수 있다.
구체적으로, 제어부(1800)는 청소기에 구비된 카메라를 통해 획득된 영상 중 일부를 학습 엔진에 입력하면, 상기 학습 엔진은 입력된 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다.
이와 같이, 학습 엔진을 청소기의 주행에 적용하는 경우, 제어부(1800)는 청소기의 주행에 방해되는 의자 다리, 선풍기, 특정 형태의 발코니 틈과 같은 장애물이 청소기 주변에 존재하는지 여부를 인식할 수 있으므로, 청소기 주행의 효율 및 신뢰도를 높일 수 있다.
한편, 위와 같은 학습 엔진은 제어부(1800)에 탑재될 수도 있고, 외부 서버에 탑재될 수도 있다. 학습 엔진이 외부 서버에 탑재된 경우, 제어부(1800)는 분석의 대상인 적어도 하나의 영상을 상기 외부 서버로 전송하도록 통신부(1100)를 제어할 수 있다.
외부 서버는 청소기로부터 전송받은 영상을 학습 엔진에 입력함으로서, 해당 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다. 아울러, 외부 서버는 인식결과와 관련된 정보를 다시 청소기로 전송할 수 있다. 이때, 인식결과와 관련된 정보는 분석의 대상인 영상에 포함된 객체의 개수, 각 개체의 이름과 관련된 정보를 포함할 수 있다.
한편, 주행부(1300)는 모터를 구비하여, 상기 모터를 구동함으로써, 좌, 우측 주바퀴를 양 방향으로 회전시켜 본체를 회전 또는 이동시킬 수 있다. 이때, 상기 좌, 우측 주바퀴는 독립적으로 움직일 수 있다. 주행부(1300)는 이동 로봇의 본체를 전후좌우로 진행시키거나, 곡선주행시키거나, 제자리 회전시킬 수 있다.
한편, 입력부(1200)는 사용자로부터 로봇 청소기에 대한 각종 제어 명령을 입력받는다. 입력부(1200)는 하나 이상의 버튼을 포함할 수 있고, 예를 들어, 입력부(1200)는 확인버튼, 설정버튼 등을 포함할 수 있다. 확인버튼은 감지 정보, 장애물 정보, 위치 정보, 맵 정보를 확인하는 명령을 사용자로부터 입력받기 위한 버튼이고, 설정버튼은 상기 정보들을 설정하는 명령을 사용자로부터 입력받기 위한 버튼이다.
또한, 입력부(1200)는 이전 사용자 입력을 취소하고 다시 사용자 입력을 받기 위한 입력재설정버튼, 기 설정된 사용자 입력을 삭제하기 위한 삭제버튼, 작동 모드를 설정하거나 변경하는 버튼, 충전대로 복귀하도록 하는 명령을 입력받는 버튼 등을 포함할 수 있다.
또한, 입력부(1200)는 하드 키나 소프트 키, 터치패드 등으로 이동 로봇의 상부에 설치될 수 있다. 또, 입력부(1200)는 출력부(1500)와 함께 터치 스크린의 형태를 가질 수 있다.
한편, 출력부(1500)는, 이동 로봇의 상부에 설치될 수 있다. 물론 설치 위치나 설치 형태는 달라질 수 있다. 예를 들어, 출력부(1500)는 배터리 상태 또는 주행 방식 등을 화면에 표시할 수 있다.
또한, 출력부(1500)는, 센싱부(1400)가 검출한 이동 로봇 내부의 상태 정보, 예를 들어 이동 로봇에 포함된 각 구성들의 현재 상태를 출력할 수 있다. 또, 출력부(1500)는 센싱부(1400)가 검출한 외부의 상태 정보, 장애물 정보, 위치 정보, 지도 정보 등을 화면에 디스플레이할 수 있다. 출력부(1500)는 발광 다이오드(Light Emitting Diode; LED), 액정 표시 장치(Liquid Crystal Display; LCD), 플라즈마 표시 패널(Plasma Display Panel), 유기 발광 다이오드(Organic Light Emitting Diode; OLED) 중 어느 하나의 소자로 형성될 수 있다.
출력부(1500)는, 제어부(1800)에 의해 수행되는 이동 로봇의 동작 과정 또는 동작 결과를 청각적으로 출력하는 음향 출력 수단을 더 포함할 수 있다. 예를 들어, 출력부(1500)는 제어부(1800)에 의해 생성된 경고 신호에 따라 외부에 경고음을 출력할 수 있다.
이때, 음향 출력 수단(미도시)은 비퍼(beeper), 스피커 등의 음향을 출력하는 수단일 수 있고, 출력부(1500)는 메모리(1700)에 저장된 소정의 패턴을 가진 오디오 데이터 또는 메시지 데이터 등을 이용하여 음향 출력 수단을 통해 외부로 출력할 수 있다.
따라서, 본 발명의 일 실시예에 따른 이동 로봇은, 출력부(1500)를 통해 주행 영역에 대한 환경 정보를 화면에 출력하거나 음향으로 출력할 수 있다. 또 다른 실시예에 따라, 이동 로봇은 출력부(1500)를 통해 출력할 화면이나 음향을 단말 장치가 출력하도록, 지도 정보 또는 환경 정보를 통신부(1100)릍 통해 단말 장치에 전송할 수 있다.
메모리(1700)는 로봇 청소기를 제어 또는 구동하는 제어 프로그램 및 그에 따른 데이터를 저장한다. 메모리(1700)는 오디오 정보, 영상 정보, 장애물 정보, 위치 정보, 지도 정보 등을 저장할 수 있다. 또, 메모리(1700)는 주행 패턴과 관련된 정보를 저장할 수 있다.
상기 메모리(1700)는 비휘발성 메모리를 주로 사용한다. 여기서, 상기 비휘발성 메모리(Non-Volatile Memory, NVM, NVRAM)는 전원이 공급되지 않아도 저장된 정보를 계속 유지할 수 있는 저장 장치로서, 일 예로, 롬(ROM), 플래시 메모리(Flash Memory), 마그네틱 컴퓨터 기억 장치(예를 들어, 하드 디스크, 디스켓 드라이브, 마그네틱 테이프), 광디스크 드라이브, 마그네틱 RAM, PRAM 등일 수 있다.
한편, 센싱부(1400)는, 외부 신호 감지 센서, 전방 감지 센서, 낭떠러지 감지 센서, 2차원 카메라 센서 및 3차원 카메라 센서 중 적어도 하나를 포함할 수 있다.
외부 신호 감지 센서는 이동 로봇의 외부 신호를 감지할 수 있다. 외부 신호 감지 센서는, 일 예로, 적외선 센서(Infrared Ray Sensor), 초음파 센서(Ultra Sonic Sensor), RF 센서(Radio Frequency Sensor) 등일 수 있다.
이동 로봇은 외부 신호 감지 센서를 이용하여 충전대가 발생하는 안내 신호를 수신하여 충전대의 위치 및 방향을 확인할 수 있다. 이때, 충전대는 이동 로봇이 복귀 가능하도록 방향 및 거리를 지시하는 안내 신호를 발신할 수 있다. 즉, 이동 로봇은 충전대로부터 발신되는 신호를 수신하여 현재의 위치를 판단하고 이동 방향을 설정하여 충전대로 복귀할 수 있다.
한편, 전방 감지 센서는, 이동 로봇의 전방, 구체적으로 이동 로봇의 측면 외주면을 따라 일정 간격으로 설치될 수 있다. 전방 감지 센서는 이동 로봇의 적어도 일 측면에 위치하여, 전방의 장애물을 감지하기 위한 것으로서, 전방 감지 센서는 이동 로봇의 이동 방향에 존재하는 물체, 특히 장애물을 감지하여 검출 정보를 제어부(1800)에 전달할 수 있다. 즉, 전방 감지 센서는, 이동 로봇의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어부(1800)에 전달할 수 있다.
전방 감지 센서는, 일 예로, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서 등일 수 있고, 이동 로봇은 전방 감지 센서로 한 가지 종류의 센서를 사용하거나 필요에 따라 두 가지 종류 이상의 센서를 함께 사용할 수 있다.
일 예로, 초음파 센서는 일반적으로 원거리의 장애물을 감지하는 데에 주로 사용될 수 있다. 초음파 센서는 발신부와 수신부를 구비하여, 제어부(1800)는 발신부를 통해 방사된 초음파가 장애물 등에 의해 반사되어 수신부에 수신되는 지의 여부로 장애물의 존부를 판단하고, 초음파 방사 시간과 초음파 수신 시간을 이용하여 장애물과의 거리를 산출할 수 있다.
또한, 제어부(1800)는 발신부에서 방사된 초음파와, 수신부에 수신되는 초음파를 비교하여, 장애물의 크기와 관련된 정보를 검출할 수 있다. 예를 들어, 제어부(1800)는 수신부에 더 많은 초음파가 수신될수록, 장애물의 크기가 큰 것으로 판단할 수 있다.
일 실시 예에서, 복수(일 예로, 5개)의 초음파 센서가 이동 로봇의 전방 측면에 외주면을 따라 설치될 수 있다. 이때, 바람직하게 초음파 센서는 발신부와 수신부가 교대로 이동 로봇의 전면에 설치될 수 있다.
즉, 발신부는 본체의 전면 중앙으로부터 좌, 우측에 이격되도록 배치될 수 있고, 수신부의 사이에 하나 또는 둘 이상의 발신부가 배치되어 장애물 등으로부터 반사된 초음파 신호의 수신 영역을 형성할 수 있다. 이와 같은 배치로 센서의 수를 줄이면서 수신 영역을 확장할 수 있다. 초음파의 발신 각도는 크로스토크(crosstalk) 현상을 방지하도록 서로 다른 신호에 영향을 미치지 아니하는 범위의 각을 유지할 수 있다. 또한, 수신부들의 수신 감도는 서로 다르게 설정될 수 있다.
또한, 초음파 센서에서 발신되는 초음파가 상향으로 출력되도록 초음파 센서는 일정 각도만큼 상향으로 설치될 수 있고, 이때, 초음파가 하향으로 방사되는 것을 방지하기 위해 소정의 차단 부재를 더 포함할 수 있다.
한편, 전방 감지 센서는, 전술한 바와 같이, 두 가지 종류 이상의 센서를 함께 사용할 수 있고, 이에 따라, 전방 감지 센서는 적외선 센서, 초음파 센서, RF 센서 등 중 어느 한 가지 종류의 센서를 사용할 수 있다.
일 예로, 전방 감지 센서는 초음파 센서 이외에 다른 종류의 센서로 적외선 센서를 포함할 수 있다.
적외선 센서는 초음파 센서와 함께 이동 로봇의 외주면에 설치될 수 있다. 적외선 센서 역시, 전방이나 측면에 존재하는 장애물을 감지하여 장애물 정보를 제어부(1800)에 전달할 수 있다. 즉, 적외선 센서는, 이동 로봇의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어부(1800)에 전달한다. 따라서, 이동 로봇은 본체가 장애물과의 충돌없이 특정 영역 내에서 이동할 수 있다.
한편, 낭떠러지 감지 센서(또는 클리프 센서(Cliff Sensor))는, 다양한 형태의 광 센서를 주로 이용하여, 이동 로봇의 본체를 지지하는 바닥의 장애물을 감지할 수 있다.
즉, 낭떠러지 감지 센서는, 바닥의 이동 로봇의 배면에 설치되되, 이동 로봇의 종류에 따라 다른 위치에 설치될 수 있음은 물론이다. 낭떠러지 감지 센서는 이동 로봇의 배면에 위치하여, 바닥의 장애물을 감지하기 위한 것으로서, 낭떠러지 감지 센서는 상기 장애물 감지 센서와 같이 발광부와 수광부를 구비한 적외선 센서, 초음파 센서, RF 센서, PSD(Position Sensitive Detector) 센서 등일 수 있다.
일 예로, 낭떠러지 감지 센서 중 어느 하나는 이동 로봇의 전방에 설치되고, 다른 두 개의 낭떠러지 감지 센서는 상대적으로 뒤쪽에 설치될 수 있다.
예를 들어, 낭떠러지 감지 센서는 PSD 센서일 수 있으나, 복수의 서로 다른 종류의 센서로 구성될 수도 있다.
PSD 센서는 반도체 표면저항을 이용해서 1개의 p-n접합으로 입사광의 단장거리 위치를 검출한다. PSD 센서에는 일축 방향만의 광을 검출하는 1차원 PSD 센서와, 평면상의 광위치를 검출할 수 있는 2차원 PSD 센서가 있으며, 모두 pin 포토 다이오드 구조를 가질 수 있다. PSD 센서는 적외선 센서의 일종으로서, 적외선을 이용하여, 적외선을 송신한 후 장애물에서 반사되어 돌아오는 적외선의 각도를 측정하여 거리를 측정한다. 즉, PSD 센서는 삼각측량방식을 이용하여, 장애물과의 거리를 산출한다.
PSD 센서는 장애물에 적외선을 발광하는 발광부와, 장애물로부터 반사되어 돌아오는 적외선을 수광하는 수광부를 구비하되, 일반적으로 모듈 형태로 구성된다. PSD 센서를 이용하여, 장애물을 감지하는 경우, 장애물의 반사율, 색의 차이에 상관없이 안정적인 측정값을 얻을 수 있다.
청소부(1900)는 제어부(1800)로부터 전달되는 제어명령에 따라, 지정된 청소 영역을 청소한다. 청소부(1900)는 지정된 청소 영역의 먼지를 비산시키는 브러쉬(미도시)를 통해 주변의 먼지를 비산시킨 다음, 흡입 팬 및 흡입 모터를 구동하여 비산된 먼지를 흡입한다. 또한, 청소부(1900)는 구성의 교체에 따라 지정된 청소 영역에 걸레질을 수행할 수도 있다.
또한, 제어부(1800)는 낭떠러지 감지 센서가 지면을 향해 발광한 적외선의 발광신호와 장애물에 의해 반사되어 수신되는 반사신호 간의 적외선 각도를 측정하여, 낭떠러지를 감지하고 그 깊이를 분석할 수 있다.
한편, 제어부(1800)는 낭떠러지 감지 센서를 이용하여 감지한 낭떠러지의 지면 상태에 따라 통과 여부를 판단할 수 있고, 판단 결과에 따라 낭떠러지의 통과 여부를 결정할 수 있다. 예를 들어, 제어부(1800)은 낭떠러지 감지 센서를 통해 낭떠러지의 존재 여부 및 낭떠러지 깊이를 판단한 다음, 낭떠러지 감지 센서를 통해 반사 신호를 감지한 경우에만 낭떠러지를 통과하도록 한다.
다른 예로, 제어부(1800)은 낭떠러지 감지 센서를 이용하여 이동 로봇의 들림 현상을 판단할 수도 있다.
한편, 2차원 카메라 센서는, 이동 로봇의 일면에 구비되어, 이동 중 본체 주변과 관련된 이미지 정보를 획득한다.
옵티컬 플로우 센서(Optical Flow Sensor)는, 센서 내에 구비된 이미지 센서로부터 입력되는 하방 영상을 변환하여 소정 형식의 영상 데이터를 생성한다. 생성된 영상 데이터는 메모리(1700)에 저장될 수 있다.
또한, 하나 이상의 광원이 옵티컬 플로우 센서에 인접하여 설치될 수 있다. 하나 이상의 광원은, 이미지 센서에 의해 촬영되는 바닥면의 소정 영역에 빛을 조사한다. 즉, 이동 로봇이 바닥면을 따라 특정 영역을 이동하는 경우에, 바닥면이 평탄하면 이미지 센서와 바닥면 사이에는 일정한 거리가 유지된다. 반면, 이동 로봇이 불균일한 표면의 바닥면을 이동하는 경우에는 바닥면의 요철 및 장애물에 의해 일정 거리 이상 멀어지게 된다. 이때 하나 이상의 광원은 조사되는 빛의 양을 조절하도록 제어부(1800)에 의해 제어될 수 있다. 상기 광원은 광량 조절이 가능한 발광 소자, 예를 들어 LED(Light Emitting Diode) 등일 수 있다.
옵티컬 플로우 센서를 이용하여, 제어부(1800)는 이동 로봇의 미끄러짐과 무관하게 이동 로봇의 위치를 검출할 수 있다. 제어부(1800)은 옵티컬 플로우 센서에 의해 촬영된 영상 데이터를 시간에 따라 비교 분석하여 이동 거리 및 이동 방향을 산출하고, 이를 근거로 이동 로봇의 위치를 산출할 수 있다. 옵티컬 플로우 센서를 이용하여 이동 로봇의 하방에 대한 이미지 정보를 이용함으로써, 제어부(1800)는 다른 수단에 의해 산출한 이동 로봇의 위치에 대하여 미끄러짐에 강인한 보정을 할 수 있다.
3차원 카메라 센서는 이동 로봇의 본체 일면 또는 일부분에 부착되어, 상기 본체의 주위와 관련된 3차원 좌표 정보를 생성할 수 있다.
즉, 3차원 카메라 센서는 이동 로봇과 피촬영 대상체의 원근거리를 산출하는 3차원 뎁스 카메라(3D Depth Camera)일 수 있다.
구체적으로, 3차원 카메라 센서는 본체의 주위와 관련된 2차원 영상을 촬영할 수 있으며, 촬영된 2차원 영상에 대응되는 복수의 3차원 좌표 정보를 생성할 수 있다.
일 실시예에서 3차원 카메라 센서는 기존의 2차원 영상을 획득하는 카메라를 2개 이상 구비하여, 상기 2개 이상의 카메라에서 획득되는 2개 이상의 영상을 조합하여, 3차원 좌표 정보를 생성하는 스테레오 비전 방식으로 형성될 수 있다.
구체적으로, 상기 실시예에 따른 3차원 카메라 센서는 본체의 전방을 향해 하측으로 제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 레이저는 단일의 직선 형태의 레이저를 조사할 수 있다. 이에 따르면, 최하단 레이저는 바닥 부분의 장애물을 감지하는 데에 이용되고, 최상단 레이저는 상부의 장애물을 감지하는 데에 이용되며, 최하단 레이저와 최상단 레이저 사이의 중간 레이저는 중간 부분의 장애물을 감지하는 데에 이용된다.
한편, 통신부(1100)는 단말 장치 및/또는 특정 영역 내 위치한 타 기기(본 명세서에서는 "가전 기기"라는 용어와 혼용하기로 한다)와 유선, 무선, 위성 통신 방식들 중 하나의 통신 방식으로 연결되어 신호와 데이터를 송수신한다.
통신부(1100)는 특정 영역 내에 위치한 타 기기와 데이터를 송수신할 수 있다. 이때, 타 기기는 네트워크에 연결하여 데이터를 송수신할 수 있는 장치이면 어느 것이어도 무방하며, 일 예로, 공기 조화 장치, 난방 장치, 공기 정화 장치, 전등, TV, 자동차 등과 같은 장치일 수 있다. 또한, 상기 타 기기는, 문, 창문, 수도 밸브, 가스 밸브 등을 제어하는 장치 등일 수 있다. 또한, 상기 타 기기는, 온도, 습도, 기압, 가스 등을 감지하는 센서 등일 수 있다.
또한, 통신부(1100)는 특정 영역 또는 일정 범위 내에 위치한 다른 로봇 청소기(100)와 통신할 수 있다.
도 5a 및 도 5b를 참조하면, 자율주행을 수행하는 제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)은 서로 통신하고자 하는 로봇 청소기의 통신방식이 무엇인지에 따라 달라질 수 있다.
도 5a에서, 자율주행을 수행하는 제1 청소기(100a)의 및/또는 제2 청소기(100b)는 각각의 센싱 유닛을 통해 센싱된 정보를 네트워크 통신(50)을 통해 단말기(300)에 제공할 수 있다. 또한, 단말기(300)는 수신된 정보를 기초로 생성된 제어명령을 네트워크 통신(50)을 통해 제1 청소기(100a)의 및/또는 제2 청소기(100b)에 전달할 수 있다.
또한, 도 5a에서, 제1 청소기(100a)의 통신부와 제2 청소기(100b)의 통신부가 직접 무선 통신하거나 다른 공유기(미도시) 등을 매개로 간접 무선 통신하여, 주행 상태에 관한 정보 및 서로의 위치 정보 등을 파악할 수 있다.
일 예에서, 제2 청소기(100b)는 제1 청소기(100a)로부터 수신되는 제어명령에 따라 주행 동작 및 청소 동작을 수행할 수 있다. 이러한 경우, 제1 청소기(100a)는 마스터로, 제2 청소기(100b)는 슬레이브로 동작한다고 말할 수 있다. 또는, 제2 청소기(100b)는 제1 청소기(100a)를 추종한다고 말할 수 있다. 또는, 경우에 따라서는 제1 청소기(100a)와 제2청소기(100b)가 서로 협업한다고 말할 수도 있다.
이하 도 5b에서는 본 발명의 일 실시예에 따른 자율주행을 수행하는 복수의 청소기(100a, 100b)를 포함하는 시스템이 설명된다.
도 5b를 참조하면, 본 발명의 일 실시예에 따른 청소 시스템은, 자율 주행을 수행하는 복수의 청소기(100a, 100b), 네트워크(50), 서버(500), 및 복수의 단말기(300a, 300b)을 포함할 수 있다.
이 중 복수의 청소기(100a, 100b)와, 네트워크(50), 그리고 적어도 하나의 단말기(300a)는 건물(10) 내에 배치되고, 다른 단말기(300b)와 서버(500)는 외부에 위치할 수 있다.
복수의 청소기(100a, 100b)는, 스스로 주행하며 청소를 수행하는 청소기로서, 자율 주행 및 자율 청소를 수행할 수 있다. 복수의 청소기(100a, 100b)는, 주행 기능 및 청소 기능 외에, 내부에 각각 통신부(1100)를 구비할 수 있다.
또한, 복수의 청소기(100a, 100b), 서버(500), 및 복수의 단말기(300a, 300b)는 네트워크(50)를 통해 서로 연결되어 서로 데이터를 교환할 수 있다. 이를 위해, 비록 도시되지는 않았지만, AP(access point; AP) 장치 등의 무선 공유기를 더 포함할 수 있다. 이러한 경우, 내부 네트워크(10) 내에 위치한 단말기(300a)는, 상기 AP 장치를 통해 복수의 청소기(100a, 100b) 중 적어도 하나와 접속함으로써, 청소기에 대한 모니터링, 원격제어 등을 수행할 수 있다. 또한, 외부 네트워크에 위치한 단말기(300b)도, 상기 AP 장치를 통해 복수의 청소기(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)는 제1청소기(100a)가 청소한 바닥을 걸레질하는 습식 청소기일 수 있다. 또한, 제1청소기(100a)와 제2청소기(100b)의 구조 및 사양은 서로 상이할 수 있다.
이러한 경우, 제1청소기(100a)가 제2청소기(100b)의 주행 및 청소를 제어할 수 있다. 또, 제2청소기(100b)는 제1청소기(100a)를 추종하며 주행 및 청소를 수행할 수 있다. 여기에서, 제2청소기(100b)가 제1청소기(100a)를 추종한다는 것은, 제2청소기(100b)가 제1청소기(100a)와 적절한 거리를 유지하면서 제1청소기(100a)를 좇아서 주행 및 청소를 수행하는 것을 의미한다.
도 5c를 참조하면, 제1청소기(100a)는 제2청소기(100b)가 제1청소기(100a)를 추종하도록 제2청소기(100b)를 제어할 수 있다.
이를 위해, 제1청소기(100a)와 제2청소기(100b)는 상호 통신이 가능한 특정 영역 내에 존재하며, 제2청소기(100b)는 적어도 제1청소기(100a)의 상대 위치를 파악하고 있어야 한다.
예로써, 제1청소기(100a)의 통신부와 제2청소기(100b)의 통신부가 상호 IR 신호, 초음파 신호, 반송파 주파수, 임펄스 신호 등을 교환하고, 삼각측량 등을 통해 이를 분석하여 제1청소기(100a)와 제2청소기(100b)의 이동변위를 산출함으로써 제1청소기(100a)와 제2청소기(100b)의 상대 위치를 파악할 수 있다. 다만, 이러한 방식에 한정되지 않고, 전술한 다양한 무선 통신 기술 중 하나를 사용하여 삼각측량 등 통해 제1청소기(100a)와 제2청소기(100b)의 상대 위치를 파악할 수 있을 것이다. 이에 대해서는 이하에서 보다 구체적으로 설명하겠다.
제1청소기(100a)는 제2청소기(100b) 간의 상대 위치가 인식되면, 제2청소기(100b)는 제1청소기(100a)에 저장된 맵 정보 또는 서버나 단말기 등에 저장된 맵 정보를 기준으로 제어될 수 있다. 또한, 제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)의 통신가능한 거리를 고려하여, 제1청소기(100a) 및/또는 제2청소기(100b)의 주행 속도(Vb)를 가변하도록 제어할 수 있다. 예로써, 제1청소기(100a)와 제2청소기(100b)가 일정 거리 이상으로 멀어지면, 제1청소기(100a)는 제2청소기(100b)의 주행 속도(Vb)가 이전보다 빨라지도록 제어할 수 있다. 또, 제1청소기(100a)와 제2청소기(100b)가 일정 거리 이상으로 가까워지면 제2청소기(100b)의 주행 속도(Vb)가 이전보다 느리도록 제어하거나 또는 소정 시간 정지하도록 제어할 수 있다. 이를 통해, 제2청소기(100b)가 제1청소기(100a)를 계속 추종하며 청소를 수행할 수 있다.
도 6은, 도 7, 도 8a, 도 8b, 도 8c는 본 발명의 일 실시예에 따른 복수의 청소기(100a, 100b)가 일정 거리를 유지하며 보다 유연하게 추종하는 방법을 구체적으로 설명하기 위한 도면들이다.
먼저, 도 6을 참조하여, 복수의 청소기(100a, 100b)가 장애물을 회피하면서 제2청소기(100b)가 급가속/급정지 없이 제1청소기(100a)를 추종하기 위해 본 발명에 적용된 가상 임피던스(virtual impedance) 제어 개념에 관하여 설명하겠다.
도 6에서, 이동 로봇이 제1위치(602)에서 제2위치(601)를 향해 주행하며 청소를 수행하는 것으로 가정할 수 있다. 이때, 제1위치(602)에 존재하는 이동 로봇은제2위치(601)에 존재하는 다른 이동 로봇을 추종한다고도 말할 수 있다.
제1위치(602)에 존재하는 이동 로봇이 제2위치(601)에 존재하는 다른 이동 로봇을 추종하는 경우, 제1위치(602)에 있는 이동 로봇의 주행경로 내에 또는 주행경로 근처에 복수의 장애물(D1, D2)이 존재할 수 있다. 여기서, 복수의 장애물(D1, D2) 중 어느 하나(D1)는 고정 장애물이고, 다른 하나(D2)는 움직이는 이동 장애물일 수 있다.
이동 로봇에는 이러한 복수의 장애물(D1, D2)을 감지하기 위한 장애물 센서가 구비될 수 있다. 상기 장애물 센서는, 예를 들어 이동 로봇의 측면 외주면을 따라 일정 간격으로 배치될 수 있다. 상기 장애물 센서는, 복수의 장애물(D1, D2)을 향해 IR, 초음파, 전파 등의 신호를 발신하고, 상기 복수의 장애물(D1, D2)로부터 반사되는 신호를 수신하여서 장애물의 위치와 거리를 파악할 수 있다.
가상 임피던스(virtual impedance) 제어는, 이동 로봇과 장애물(D1, D2)과의 상대거리와 상대속도를 Spring-Damper로 모델링 한 후, 이들의 힘의 관계를 이용하여 장애물을 유연하게 회피하면서 주행 및 추종을 수행하는 개념이다.
구체적으로, 이동 로봇과 복수의 장애물(D1, D2) 간에는 밀어내는 힘인 척력(F0)이 발생하고, 이동 로봇과 목표지점인 제2위치(601) 또는 제1위치(602)에 있는 이동 로봇과 제2위치(601)에 있는 다른 이동 로봇 간에는 끌어당기는 힘인 인력(Fm)이 작용한다고 보고, 이동 로봇의 실제 주행방향을 척력(F0)과 인력(Fm)의 합성벡터(Fs)의 방향으로 결정하는 것이다.
예를 들어, 도 6에서, 복수의 장애물(D1, D2)과 장애물 센서 사이에 스프링과 댐퍼가 있다는 가정하에, 복수의 장애물(D1, D2)과의 각각의 거리는 스프링에 대입하고, 각각의 상대속도는 댐퍼에 대입하여 복수의 장애물(D1, D2)과 청소기 간의 척력을 산출할 수 있다.
이를 위해, 1) 제2위치(601)에 있는 이동 로봇의 선두에 있는 제1위치(602)에 있는 이동 로봇과의 이격거리와 속도차를 이용하여 인력(Fm)을 산출한다. 다음, 2) 제1장애물(610)과 이동 로봇(602)와의 이격거리와 속도차를 이용하여 제1척력(Fo,s)을 구하고, 제2장애물(620)과 이동 로봇(602)와의 이격거리와 속도차를 이용하여 제2척력(Fo,d)을 구하고, 이들의 합성값(Fo)을 구한다. 그런 다음, 3) 인력(Fm)과 이전 합성값(Fo)을 합성한 척력 Fo를 구한다. 마지막으로, 4) 위의 1) 에서 산출한 인력(Fm)과 2)에서 산출한 척력 합성값(Fo)의 합성벡터인 Fs 방향으로 이동 로봇이 이동한다.
한편, 위에서 설명한 가상 임피던스(virtual impedance) 제어 개념에서, 전방지점(601) 위치한 이동 로봇, 즉 제1청소기(100a)는 실제로는 주행 및 청소를 계속 진행하며, 주행방향 및 주행속도에 관한 정보를 후방지점(602)에 있는 다른 이동 로봇, 즉 제2청소기(100b)에 계속 전달한다. 또, 제1청소기(100a)의 주행방향과 주행속도는 청소영역의 바닥구조, 먼지상태 등에 따라 얼마든지 가변될 수 있다.
제1청소기(100a)와 제2청소기(100b)가 독립적으로 청소를 수행하고 있다면, 다른 하나의 청소기를 하나의 장애물로 보고 주행시 척력만을 고려하면 될 것이다. 그러나, 본 발명에서는 제2청소기(100b)가 제1청소기(100a)을 추종하면서 청소를 수행하기 때문에, 동일 대상에 대해 인력(Fm)과 척력(Fo)이 교번하여 적용된다.
구체적으로, 제2청소기(100b)가 제1청소기(100a)를 추종하는 동안, 정해진 추종거리를 기준으로 인력(Fm)과 척력(Fo)이 교번될 수 있다.
일 예에서, 상기 인력(Fm)과 척력(Fo)의 교번 정도는 청소 영역의 바닥 상태(예, 경사도, 평편도, 카펫 존재 여부 등)와 장애물의 존재 여부와, 청소 공간의 먼지 상태(예, 집중 청소가 필요한 영역/스팟) 등에 따라 달라질 수 있다.
또한, 여기에서, 상기 추종거리란,, 복수의 청소기 간에 추종시 서로 유지해야 하는 이격거리를 의미한다. 복수의 청소기 간의 이격거리가 추종거리 보다 너무 멀어지면 더 이상 서로의 상대 위치를 파악할 수 없게 되어 추종이 끊어진다. 반면, 복수의 청소기 간의 이격거리가 추종거리 보다 너무 가까워지면 청소기가 서로 부딪히거나 또는 급정지하는 등 주행에 방해가 된다.
따라서, 제1청소기(100a)의 제어부는, 복수의 청소기 간의 이격거리가 추종거리 내이거나 또는 추종거리 대비 멀어지면 인력(Fm)을 적용시켜 제어하고, 복수의 청소기 간의 이격거리가 추종거리 대비 가까워지면 척력(Fo)을 적용시켜 제어할 수 있다.
인력(Fm)의 적용은 제1청소기(100a)의 주행속도의 감속에 대응된다. 또, 척력(Fo)의 적용은 제1청소기(100a)의 주행속도의 가속에 대응된다.
이를 위해, 복수의 청소기(100a, 100b) 각각은 초음파 센서, BWM 센서, IR 센서 등을 이용하여 송수신한 신호값들에 기반한 삼각측량 기술 등을 사용하여 상대 위치(예, 거리, 방향 등)를 계속 파악한다. 또, 서로 다른 두 시점에 주고받는 신호값들을 이용하여 복수의 청소기(100a, 100b), 특히 선두에 있는 제1청소기(100a)의 주행방향과 주행속도를 계속 산출한다.
제1청소기(100a)의 주행속도는 다음과 같은 식을 통해 산출될 수 있다.
V1 = V0 + k (Dmin - Dab)
여기에서, 제1청소기(100a)의 기본 주행속도이고, k는 비례상수이며, Dmin 는 추종거리를, Dab는 복수의 청소기(100a, 100b) 간의 현재 이격거리를 나타낸다. 따라서, 복수의 청소기 간의 이격거리가 추종거리 보다 멀어지는 만큼 제1청소기(100a)가 감속하여 주행하며, 복수의 청소기들 간의 이격거리가 추종거리 이내로 가까워지면 그만큼 제1청소기(100a)가 가속하여 주행한다. 그에 따라, 제1청소기(100a)를 추종하는 제2청소기(100b)가 갑자기 가속하거나 급정지하지 않아도 된다.
이와 같이, 본 발명에서는 장애물에 대해서는 척력을 적용하고 복수의 청소기(100a, 100b) 간에는 이격거리에 따라 인력과 척력을 교번하여 적용함으로써, 장애물 회피와 함께 끊김 없이 유연한 추종이 가능해진다.
이하, 도 7의 흐름도를 참조하여, 복수의 청소기들 간에 유연한 추종을 위한 제어방법을 구체적으로 설명하겠다.
먼저, 제1청소기(100a)의 통신부와 제2청소기(100b)의 통신부가 통신가능하게 연결되어, 서로의 상대 위치를 인식하는 단계가 개시된다(S10).
구체적으로, 제1청소기(100a)와 제2청소기(100b)는 각각의 청소기의 측면 외주면에 배치되거나 본체에 내장된 IR 센서, 초음파 센서, 또는 UWB 센서 등을 통해 서로 신호를 주고받아 분석함으로써, 서로의 방향 및 거리를 파악할 수 있다. 상기와 같은 센서는 복수의 청소기(100a, 100b)가 서로의 상대 위치를 파악하기 위한 구성요소라는 점에서, 상기 센서는 통신부와 동일한 개념으로 사용될 수 있다.
제1청소기(100a)와 제2청소기(100b)는 각각 신호를 발신하고 수신하여, 서로의 상대 위치를 인식한다. 여기에서, 상기 신호는, 예를 들어 초광대역 신호(Ultra Wide Band(UWB) 신호), 적외선 신호, 레이저 신호, 초음파 신호 이외에, 지그비(Zigbee), 지-웨이브(Z-wave), 블루투스(Blue-Tooth) 등의 무선통신기술을 사용하는 무선신호들 중 어느 하나일 수 있다.
제1청소기(100a)는 상기와 같은 센서를 통해 제1신호를 방출하고 제2청소기(100b)로부터 수신되는 제2신호를 수신함으로써 제1청소기(100a)의 기준으로 한 제2청소기(100b)의 상대 위치를 인식할 수 있게 된다. 또, 제2청소기(100b)는 상기와 같은 센서를 통해 제2신호를 방출하고 제1청소기(100a)로부터 수신되는 제1신호를 수신함으로써, 제2청소기(100b)를 기준으로 한 제1청소기(100a)의 상대 위치를 인식할 수 있게 된다.
구체적으로, 예를 들어, 복수의 청소기(100a, 100b) 각각에 하나의 UWB 센서를 구비하거나 또는 제1청소기(100a)에는 단일의 UWB 센서를 이를 추종하는 제2청소기(100b)에는 적어도 두 개의 UWB 센서가 구비될 수 있다.
UWB 모듈(또는 UWB 센서)은, 제1 청소기(100a) 및 제2 청소기(100b)의 통신부(1100)에 포함될 수 있다. 또한, UWB모듈이 제1 청소기(100a)와 제2 청소기(100b)의 상대위치를 센싱하는데 이용된다는 측면에서 보면, 상기 UWB 모듈은, 제1 청소기(100a) 및 제2 청소기(100b)의 센싱부(1400)에 포함될 수도 있다.
예를 들어, 제1 청소기(100a)는, 초광대역 신호를 전달하기 위한 발신용 UWB 모듈을 구비할 수 있다. 상기 발신용 UWB 모듈은, 제2 종류의 발신용 센서 또는 "UWB 태그(tag)"로 명명될 수 있다.
또한, 제2 청소기(100b)는, 제1 청소기(100a)에 구비된 발신용 UWB 모듈에서 출력된 초광대역 신호를 수신하는 수신용 UWB 모듈을 구비할 수 있다. 상기 수신용 UWB 모듈은, 제2 종류의 수신용 센서 또는 “UWB 앵커(anchor)"로 명명될 수 있다.
UWB 모듈간 송수신되는 초광대역 신호(또는, UWB 신호)는, 특정 공간 이내에서 원활하게 송수신이 가능하다. 이에 따라, 제1 청소기(100a)와 제2 청소기(100b) 사이에 장애물이 존재한다 하더라도, 제1 청소기(100a)와 제2 청소기(100b)가 특정 공간 이내에 존재하면, 초광대역 신호의 송수신이 가능하다.
제1 청소기와 제2 청소기는, UWB 태그와 UWB 앵커 사이에서 송수신되는 신호의 시간을 측정하여, 상기 제1 청소기(100a)와 제2 청소기(100b) 간의 이격거리를 파악할 수 있다.
구체적으로, 예를 들어, 복수의 청소기(100a, 100b) 각각에 하나의 UWB 센서를 구비하거나 또는 제1청소기(100a)에는 단일의 UWB 센서를 이를 추종하는 제2청소기(100b)에는 단일의 UWB 센서 및 하나 이상의 안테나를 구비하거나 또는 적어도 두 개의 UWB 센서를 장착함으로써, 제1청소기(100a)는 서로 다른 두 시점(t1, t2)에서 상기 제1청소기(100a)로부터 제2청소기(100b) 까지의 이격거리를 측정할 수 있다.
제1청소기(100a)의 UWB 센서와 제2청소기(100b)의 UWB 센서는 서로에게 초광대역 신호를 방사하여, 서로를 맞고 반사되어 들어오는 시간인 ToA(Time Of Arrival)을 이용하여 거리 및 상대속도가 측정된다. 다만, 이에 한정되지 않으며, TDoA(Time Difference of Arrival) 또는 AoA(Angle of Arrival) 측위 기술을 이용하여 복수의 청소기(100a, 100b)의 상대 위치를 파악할 수 있다.
구체적으로, AoA(Angle of Arrival) 측위 기술을 이용하여 제1청소기(100a)와 제2청소기(100b)가 서로의 상대 위치를 파악하는 방법은 다음과 같다. AoA(Angle of Arrival) 측위 기술을 이용하기 위해서는 제1청소기(100a)와 제2청소기(100b) 각각에 별도의 수신기 안테나를 하나 또는 복수개 구비해야한다. 제1청소기(100a)와 제2청소기(100b)는 각각에 구비된 수신기 안테나에 수신되는 신호 수신 각도의 차이를 이용하여 서로의 상대 위치를 파악할 수 있다. 이를 위해, 제1청소기(100a)와 제2청소기(100b) 각각은 수신기 안테나 배열로부터 들어오는 정확한 신호방향을 감지할 수 있어야 한다.
제1청소기(100a)와 제2청소기(100b) 각각에서 발생한 신호, 예를 들어 UWB 신호 등은 특정 지향성 안테나에만 수신되므로, 서로는 수신된 신호의 각도를 파악할 수 있다. 제1청소기(100a)와 제2청소기(100b) 각각에 설치된 수신기 안테나의 위치는 알려져있음을 전제로, 수신기 안테나의 위치와 신호 수신 방향을 근거로 제1청소기(100a)와 제2청소기(100b) 서로의 상대 위치를 계산할 수 있다.
이때에, 수신기 안테나가 1개 설치된 경우에는 일정한 범위의 공간에서 2D 위치를 계산할 수 있고, 수신기 안테나를 2개 이상을 설치하면 3D 위치를 계산할 수 있다. 후자의 경우 신호 수신 방향을 정확히 파악하기 위해 수신기 안테나 간의 이격거리(d)로 위치 계산에 사용된다.
또한, 본 발명에서는 제1 청소기(100a)를 통해서만 제2 청소기(100b)의 상대 위치를 결정하거나 또는 제2 청소기(100b)를 통해서만 제1 청소기(100a)의 상대 위치를 산출 및 파악하도록 구현될 수도 있다. 이러한 구현 예에서는, 제1 청소기(100a)가 제2 청소기(100b)로 또는 제2 청소기(100b)가 제1 청소기(100a)로 상대 위치와 관련된 정보를 전송해줄 수 있을 것이다.
이와 같이 본 발명에서는 복수의 청소기(100a, 100b)가 서로 상대 위치를 파악할 수 있으므로, 서버의 통신 상태와 관계없이 서로의 상대 위치를 파악함으로써 끊김없이 추종 제어가 원활하게 수행될 수 있다.
또한, 제1청소기(100a)와 제2청소기(100b)는 각각의 통신부를 통해 서로의 주행 상태 정보와 맵 정보를 공유할 수 있다. 복수의 청소기(100a, 100b) 간의 추종 관계에 따라, 통상은 제1청소기(100a)로부터 제2청소기(100b)로 주행 상태 정보, 맵 정보, 장애물 정보 등이 전송되겠으나, 제2청소기(100b)에서 감지된 정보, 예를 들어 새로운 장애물 정보가 제1청소기(100a)로 전송될 수도 있을 것이다.
다음, 제2청소기(100b)가 제1청소기(100a)의 주행 경로를 추종하며 청소를 수행한다(S20).
구체적으로, 제1청소기(100a)가 먼저 지정된 청소 영역을 청소하고, 제2청소기(100b)는 제1청소기(100a)가 지나온 주행 경로를 좇으면서 청소를 수행한다. 이때, 제2청소기(100b)는 제1청소기(100a)의 주행 속도와 해당 경로에서의 청소 모드를 추종하며 청소를 수행할 수도 있다.
한편, 일 예에서, 제2청소기(100b)의 실제 주행 경로가 제1청소기(100a)의 주행 경로와 일치하지 않을 수 있다.
예를 들어, 제1청소기(100a)가 통과할 때에는 없던 장애물이 제2청소기(100b)가 지나는 시점에 새로 감지된 경우, 제2청소기(100b)의 진행 경로가 제1청소기(100a)의 주행 경로와 다소 차이가 있을 수 있다. 이때에는 새로운 장애물을 피한 시점에서 가장 가까운 위치에서부터 다시 제1청소기(100a)을 추종할 수 있다.
제2청소기(100b)가 제1청소기(100a)를 추종하는 동안, 제1청소기(100a)는 제2청소기(100b)와의 이격 거리를 지속적으로 모니터링한다(S30).
구체적으로, 제1청소기(100a)의 제어부는 제1청소기(100a)와 제2청소기(100b)는 각각에 구비된 센서, 예를 들어 UWB 센서, IR 센서, 초음파 센서 등을 통해 획득된 신호값들을 기초로, 제1청소기(100a)와 제2청소기(100b)의 상대 위치를 지속적으로 모니터링 하고, 상대 위치에 대응되는 이격거리가 멀어지는지 또는 가까워지는지를 판단한다.
모니터링에 따라, 제1청소기(100a)의 제어부는 제2청소기(100b)와의 이격거리가 곧 임계 추종거리를 벗어날지를 결정할 수 있다(S40). 이때, 제1청소기(100a)의 제어부는 제1청소기(100a)의 현재 주행속도를 고려하여 결정할 수 있다.
여기에서, 임계 추종거리란, 복수의 청소기가 서로의 상대 위치를 파악할 수 있는 범위 보다 소정값 작은 원 범위 내의 사방거리를 의미한다.
임계 추종거리는, 추종이 끊어지지 않는 범위에서 복수의 청소기(100a, 100b)가 최대로 가까워질 수 있는 '최소 추종거리'와 최대로 멀어질 수 있는 '최대 추종거리'를 포함할 수 있다. 따라서, 임계 추종거리를 벗어날지 여부란, 복수의 청소기(100a, 100b) 간의 이격거리가 최소 추종거리보다 더욱 가까워질지 또는 최대 추종거리보다 더 멀어질지 여부를 의미한다고 말할 수 있다.
이격거리가 최소 추종거리에 가까워지면, 제1청소기(100a)와 제2청소기(100b) 간에 척력을 적용하여 서로 멀어지도록 제어된다. 또, 이격거리가 최대 추종거리에 가까워지면, 제1청소기(100a)와 제2청소기(100b) 간에 인력을 적용하여 서로 가까워지도록 제어된다.
판단 결과, 임계 추종거리를 벗어나지 않는 경우이면, 단계 S20으로 회귀한다. 그에 따라, 제2청소기(100b)가 제1청소기(100a)를 추종하면서 청소를 속행한다.
판단 결과, 현재 주행속도를 기초로, 곧 임계 추종거리를 벗어나거나 또는 벗어날 것으로 예측되면, 제1청소기(100a)의 제어부는 자신의 주행부의 주행속도를 가변하거나 또는 제2청소기(100b)에 정지명령을 전달한다(S50).
도 8a 내지 도 8c는 임계 추종거리를 기준으로 제1청소기(100a)가 스스로 또는 제2청소기(100b)의 주행속도를 제어하는 다양한 예시들을 보인 것이다.
먼저, 도 8a의 (a)는, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리(D1)가 현재는 임계 추종거리(예, 최소 임계 추종거리)를 벗어나지 않으나, 제1청소기(100a)와 제2청소기(100b)의 현재 주행속도(V1, V0)를 기초로 곧 임계 추종거리 보다 가까워질 것으로 판단된 경우이다.
이때에는, 도 8a의 (b)에 도시된 바와 같이, 임계 추종거리에서 예상 이격거리를 뺀 값((+)의 값)만큼을 현재 주행속도(V1)에 합산하여, 제1청소기(100a)의 주행속도를 변경한다. 그에 따라, 제1청소기(100a)가 가속된 주행속도(V2)로 주행함으로써, 제2청소기(100b)와 이격거리(D2)가 멀어지게 된다.
다음, 도 8b의 (a)는, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리(D3)가 현재는 임계 추종거리(예, 최대 임계 추종거리)를 벗어나지 않으나, 제1청소기(100a)와 제2청소기(100b)의 현재 주행속도(V1, V0)를 기초로 보건대 곧 임계 추종거리 보다 멀어질 것으로 판단된 경우이다.
이때에는, 도 8b의 (b)에 도시된 바와 같이, 임계 추종거리에서 예상 이격거리를 뺀 값((-)의 값)만큼을 현재 주행속도(V1)에 합산하여, 제1청소기(100a)의 주행속도를 변경한다. 그에 따라, 제1청소기(100a)가 이전보다 감속된 주행속도(V3)로 주행함으로써, 제2청소기(100b)와 이격거리(D4)가 더 가까워지게 된다.
여기서, 감속된 주행속도(V3)는 '0'을 포함할 수 있다. 예를 들어, 제2청소기(100b)의 주행속도가 더욱 느려진 경우 또는 1청소기(100a)와 제2청소기(100b) 간의 이격거리(D3)가 임계 추종거리를 막 벗어나려고 하는 경우에는 제1청소기(100a)가 정지하도록 제어될 수 있다.
다음, 도 8c의 (a)는, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리(D5)가 곧 임계 추종거리(예, 최소 임계 추종거리) 보다 가까워질 것으로 판단된 것은 도 8a와 동일하나, 제1청소기(100a)가 주변 상황에 따라 가속하여 주행할 수 없는 경우이다.
이때에는, 도 8c의 (b)와 같이, 제1청소기(100a)가 자신의 주행속도는 유지하면서 제2청소기(100b)에게 정지명령을 전송할 수 있다. 소정 시간 후, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리(D6)가 멀어지게 되면, 제2청소기(100b)에게 구동명령을 전송하여 추종이 계속될 수 있도록 제어할 수 있다.
한편, 주변 상황에 따라서 제2청소기(100b)의 진행 경로가 제1청소기(100a)의 주행 경로와 달리지는 경우에 있어서, 변경된 주행 경로가 제1청소기(100a)와의 이격거리로부터 더 멀어지는 경우이면, 제1청소기(100a)가 이러한 상태 정보를 수신하여, 추종이 끊어지지 않도록, 제1청소기(100a)의 주행 속도를 감속하거나 또는 소정 시간 정지시킬 수 있다.
본 발명에서, 제1청소기(100a)는 지정된 청소 공간을 주행하며 청소하는 동안, 청소 공간의 형상, 청소 주행 모드, 장애물의 감지, 바닥의 지형 특성 등에 따라 주향방향을 여러 번 변경한다. 그에 따라, 제1청소기(100a)는 복잡한 궤적을 남기거나 복잡한 주행 경로를 형성할 수 있다.
이러한 경우, 제2청소기(100b)가 제1청소기(100a)의 주행 경로를 그대로 추종하게 할 경우, 진입 불가 등으로 인한 오류 동작을 야기하거나 또는 전체 청소시간의 지연이 발생할 수 있다.
이는, 특히 제1청소기(100a)와 제2청소기(100b)의 종류와 사양이 다른 경우에 발생할 수 있다.
예를 들어 제1청소기(100a)는 통과할 수 있지만 제2청소기(100b)는 통과할 수 없는 좁거나 낮은 영역인 경우, 또는 특수 바닥 상태(예, 카펫 등이 깔린 경우)인 경우 제2청소기(100b)는 제1청소기(100a)의 궤적을 그대로 따를 수 없게 된다.
또는, 예를 들어 진입한 영역이 복잡하여 제1청소기(100a)가 통과하는데 오랜 시간이 걸린 경우에는 제2청소기(100b)도 비슷한 시간이 소요될 것이므로, 전체 청소 시간이 지연되는 문제가 발생할 수 있는데, 이는 청소 효율을 감소시키게 된다.
이에, 본 발명에서는 제2청소기(100b)가 제1청소기(100a)를 추종하며 청소하는 동안, 선두 청소기인 제1청소기(100a)의 이동 궤적이 '정해진 조건의 만족'을 감지하여 제2청소기(100b)가 제1청소기(100a)의 이동 궤적의 일부를 생략하고 주행하거나 또는 일시적으로 다른 주행 경로로 주행하도록 제어하는 방법을 구현하였다.
여기에서, '정해진 조건의 만족'은, 제2청소기(100b)가 현재 위치에서 제1청소기(100a)의 다음 궤적을 추종하지 않도록 결정된 상태를 의미한다. 따라서, 제2청소기(100b)가 실제로 다음 궤적을 추종하지 못하는 경우뿐만 아니라, 실제로는 추종할 수 있지만 시간 지연을 고려하여 추종하지 않기로 결정된 경우도 포함된다. 또, 제1청소기(100a)가 건식(또는, 흡입) 청소기이고, 제2청소기(100b)가 습식(또는, 물걸레) 청소기이고, 제1청소기(100a)가 카펫 위를 청소하는 경우와 같이, 제1청소기(100a)의 이동 궤적과 상관없이 제2청소기(100b)가 제1청소기(100a)를 추종할 수 없는 경우도 포함된다.
또, 상기 '정해진 조건의 만족'은, 제1청소기(100a)의 센서(및/또는, 제2청소기(100b)의 센서)를 통해 감지된 장애물에 관한 정보, 제2청소기(100b)의 식별 정보, 제2청소기(100b)의 동작 상태와 관련된 정보, 및 제2청소기(100b)의 상대 위치에서의 바닥 상태 정보 중 적어도 하나를 기준으로 결정될 수 있다.
여기에서, 상기 장애물에 관한 정보는 장애물의 크기, 장애물의 개수, 및 복수의 장애물 간의 이격거리에 관한 정보를 포함할 수 있다. 또, 상기 장애물은, 청소영역의 바닥으로부터 돌출되어 청소기의 주행을 방해하는 벽(wall), 가구, 집기 등의 고정 장애물과 움직이는 이동 장애물을 포함한다.
또한, 상기 제2청소기(100b)의 식별 정보는, 제2청소기(100b)의 타입, 제품의 크기, 높이, 제품정보 등을 포함하며, 이러한 식별 정보는 제1청소기(100a)의 식별 정보를 기준으로 비교될 수 있다. 또한, 상기 제2청소기(100b)의 식별 정보는, 최초에 제1청소기(100a)에 대한 제2청소기(100b)의 추종 등록시 제2청소기(100b)로부터 수신될 수 있다.
또한, 상기 제2청소기(100b)의 동작 상태와 관련된 정보는, 제2청소기(100b)의 주행 모드, 주행 방향, 주행 속도, 주행 정지 등의 주행 관련 정보를 의미한다. 이는, 제1청소기(100a)에 구비된 센서와 제2청소기(100b)에 구비된 센서를 통해 주고받은 신호를 분석하여 획득될 수 있다.
또, 상기 제2청소기(100b)의 상대 위치에서의 바닥 상태 정보는, 전술한 상대 위치 인식 방법과 해당 위치를 지나오면서 제1청소기(100a)의 3D 센서/카메라 센서 등을 통해 획득된 정보를 통해 파악할 수 있을 것이다. 예를 들어, 제1청소기(100a)가 건식(또는, 흡입) 청소기이고 카펫 위를 진입하여 청소하는 경우, 따라오는 제2청소기(100b)가 습식(또는, 물걸레) 청소기라면, 바닥 상태 정보를 기초로 제2청소기(100b)가 정해진 조건을 만족한 것으로 판단할 수 있다.
이하에서는, 도 9와 도 10을 참조하여, 제1청소기를 추종하는 제2청소기가 정해진 조건을 만족하는 경우,제2청소기가 제1청소기의 궤적을 러프(rough)하게 추종하기 위한 제어 동작을 보다 구체적으로 설명하겠다.
도 9을 참조하면, 신호(예, UWB 신호)에 기반하여 제1청소기(100a)와 제2청소기(100b)가 서로 통신하여, 서로의 상대 위치를 파악하는 단계가 개시된다(S10).
구체적으로, 제1청소기(100a)에 구비된 센서들과 제2청소기(100b)에 구비된 센서들을 이용하여 서로 신호(예, UWB 신호)를 송수신함으로써, 서버 통신 없이도 제1청소기(100a)가 제2청소기(100b) 간에 직접 통신이 수행된다.
제1청소기(100a)에 구비된 센서(예, UWB 센서 등)를 통해 송수신되는 제1신호와 제2청소기(100b)에 구비된 센서(예, UWB 센서 등)를 통해 송수신되는 제2신호를 기초로, 제1청소기(100a)는 제2청소기(100b)의 상대 위치를 인식할 수 있다. 서로의 상대 위치를 파악하기 위한 센서 및 신호의 종류는 전술하였으므로, 여기서는 구체적인 설명을 생략하겠다.
그리고, 제1청소기(100a)는 본체의 이동에 따른 주행 경로의 궤적 정보를 메모리에 저장한다(S20).
여기에서, 궤적이란, 제1청소기(100a)가 청소를 수행하며 주행하는 동안 연속적으로 지나간 점들을 연결한 공간상의 곡선을 의미한다. 그리고, 궤적 정보란, 상기 궤적을 형성하는 곡선에 관한 정보뿐만 아니라, 곡선을 형성하는 점들의 개수, 순서, 간격에 관한 정보까지 모두 포함한다.
따라서, 주행 경로의 궤적 정보는, 제1청소기(100a)의 주행 경로를 형성하는 연속하는 점들에 관한 정보와 곡선에 관한 정보를 모두 포함하며, 여기에는 예를 들어 제1청소기(100a)의 주행경로의 주행순서, 주행방향, 주행속도, 제자리회전 등의 정보가 모두 포함될 수 있다.
다른 예에서는, 제2청소기(100b)가 제1청소기(100a)의 상대 위치를 근거로, 제1청소기(100a)의 이동에 따른 주행경로의 궤적 정보를 저장할 수도 있다.
다음, 제2청소기(100b)의 상대 위치에 기반하여 제2청소기(100b)가 상기 저장된 제1청소기(100a)의 궤적 정보에 대응되는 주행 경로를 추종하며 주행한다(S30).
이를 위해, 제1청소기(100a)는 제2청소기(100b)가 제1청소기(100a)의 궤적 정보를 추종하며 청소를 수행하도록, 제2청소기(100b)를 제어할 수 있다.
예를 들어, 제1청소기(100a)는 제2청소기(100b)와 주고받은 신호의 시간 차(Time of Fight: TOF)를 기초로 제2청소기(100b)와의 이격거리를 산출할 수 있다. 이때, TOF가 작을수록 제1청소기(100a)는 제2청소기(100b)와의 이격거리가 짧은 것으로 판단하고, TOF가 클수록 제1청소기(100a)는 제2청소기(100b) 간의 이격거리가 긴 것으로 판단한다. 또, 서로 다른 두 시점에서 제1청소기(100a)를 원의 중심으로 보고, 원 위에 존재하는 제2청소기(100b)의 거리를 이용하여 이격거리의 변화를 알 수 있다.
또는, 다른 예에서는 제1청소기(100a)와 제2청소기(100b)는 각각에 구비된 수신기 안테나에 수신되는 신호 수신 각도의 차이를 이용하여 서로의 상대 위치를 파악하여, 이격거리의 변화를 알 수 있다.
일 예에서는, 이와 같이 산출된 이격거리와 함께 제1청소기(100a)의 주행 정보를 제2청소기(100b)로 전송해줄 수 있다. 그리고, 제2청소기(100b)에서도 자신의 상태 정보를 제1청소기(100a)로 전송해줄 수 있다.
여기에서, 상기 주행 정보란, 장애물 정보, 맵 정보, 주행 모드, 주행 경로, 바닥 상태 정보, 주행 속도에 관한 정보를 모두 포함할 수 있다. 그에 따라, 제2청소기(100b)는 제1청소기(100a)로부터 전송된 상태 정보에 기반하여 제1청소기(100a)의 주행 경로를 따라 주행을 수행할 수도 있다.
한편, 제2청소기(100b)가 제1청소기(100a)를 추종하는 동안, 추종을 벗어나지 않도록, 정해진 추종거리를 기준으로 가상 임피던스(virtual impedance) 제어 개념에 따른 인력(Fm)과 척력(Fo)이 교번하여 적용될 수 있다.
구체적으로, 상기 제1청소기(100a)는 산출된 이격거리를 정해진 추종거리와 비교하고, 그 비교 결과를 기초로 가상 임피던스(virtual impedance) 제어 개념에 따른 인력과 척력을 교번하여 적용함으로써, 제1청소기(100a)와 제2청소기(100b)의 주행속도를 가변 제어할 수 있다. 그에 따라, 제2청소기(100b)가 제1청소기(100a)의 주행 경로를 끊김 없고 자연스럽게 추종할 수 있게 한다.
예로써, 제1청소기(100a)의 제어부는, 산출된 이격거리가 추종거리 대비 멀어지면 인력을 적용하여, 제1청소기(100a)의 주행속도를 감속하거나, 제2청소기(100b)의 주행속도를 가속하거나, 또는 이 둘을 모두 수행하여, 이격거리를 좁힌다. 또, 산출된 이격거리가 추종거리 대비 너무 가까워지면 척력을 적용하여, 제1청소기(100a)의 주행속도를 가속하거나, 제2청소기(100b)의 주행속도를 감속하거나, 또는 이 둘을 모두 수행하여 이격거리를 멀어지게 한다.
또한, 본 발명에서는 제1청소기(100a)의 후방과 전방에 각각 수신용 센서를 두어, 제1청소기(100a)의 제어부가 제2청소기(100b)로부터 수신되는 신호(예, UWB 신호)의 수신방향을 인식할 수 있다. 이를 위해, 제1청소기(100a)의 후방에는 UWB 센서가 구비되고 전방에는 UWB 센서 또는 다수의 광 센서가 이격 배치될 수 있다. 또, 제2청소기(100b)에는 하나 이상의 UWB 센서와 복수의 수신용 안테나가 구비될 수 있다.
제1청소기(100a)는 제2청소기(100b)로부터 수신되는 신호의 수신방향을 인식하여, 제2청소기(100b)가 제1청소기(100a)의 후방에 있는지를 파악할 수 있다. 그에 따라, 제1청소기(100a)는 제1청소기(100a)와 제2청소기(100b)의 선후가 역전되었는지 여부를 판단할 수 있다.
한편, 제2청소기(100b) 스스로 자신의 메모리에 저장된 제1청소기(100a)의 궤적 정보를 추종하며 주행할 수도 있다. 다음, 제2청소기(100b)의 상대 위치와 저장된 제1청소기(100a)의 이동에 대응되는 궤적 정보 중 다음에 추종할 궤적 정보의 주행경로가 정해진 조건을 만족하는 것을 감지한다(S40).
상기 정해진 조건의 만족은, 제1청소기(100a)(및/또는 제2청소기(100b))의 센서를 통해 감지된 장애물에 관한 정보, 제2청소기(100b)의 식별 정보, 제2청소기(100b)의 동작 상태와 관련된 정보, 및 제2청소기(100b)의 상대 위치에서의 바닥 상태 정보 중 적어도 하나를 기준으로 결정될 수 있다.
예를 들어, 다음에 추종할 궤적의 가까이에 복수의 장애물이 존재하는 경우, 다음에 추종할 궤적이 카펫 위에 존재하고 제2청소기(100b)가 습식(또는, 물걸레) 청소기인 경우, 제2청소기(100b)가 정해진 조건을 만족하는 것으로 감지할 수 있다.
이러한 정해진 조건을 만족하는 상태가 검출되면, 제1청소기(100a) 또는 제2청소기(100b)는 메모리에 저장된 제1청소기(100a)의 궤적 정보 중에서 일부를 제거하고, 제2청소기(100b)가 남은 궤적 정보에 대응되는 주행경로를 추종하도록 제어한다(S50).
예를 들어 메모리에 제1지점, 제2지점, 제3지점, 제4지점의 순서로 주행경로를 형성하는 궤적의 점들이 저장된 경우, 제1지점에서 정해진 조건을 만족하는 상태가 검출되었다고 가정하자.
이러한 경우, 추종청소기인 제2청소기(100b)는 제1지점을 포함하여 제2지점 내지 제4지점 중 일부(예, 제2지점)를 제거하고 남은 지점, 예를 들어 제3지점 및 제4지점을 연결하여 형성된 주행 경로를 추종하도록 제어될 수 있다. 이를 위해, 제2청소기(100b)는 현재 위치에서 바로 제3지점으로 이동할 수 있다.
일 실시 예에서, 저장된 궤적 정보 중 제2청소기가 추종한 궤적 정보는 메모리로부터 삭제된다. 예를 들어, 제2청소기가 제1지점 내지 제3지점을 모두 지나오거나 또는 제2청소기가 제1지점에서 바로 제3지점으로 이동한 경우, 제1지점, 제2지점, 제3지점의 궤적 정보들이 메모리부터 삭제된다. 그에 따라, 메모리 부족 문제가 발생하지 않는다.
제1청소기의 궤적 정보는 먼저 저장된 것이 먼저 삭제되므로, FIFO(First In First Out) 방식의 큐 버퍼가 메모리로 사용될 수도 있다.
또한, 일 실시 예에서, 상기 제1청소기는, 상기 제2청소기가 저장된 궤적 정보 중 제1 궤적 정보에 대하여 정해진 조건을 만족하는 것으로 감지되면, 제1 궤적 정보 이후에 저장된 제2궤적 정보에 대응되는 위치로 제2청소기를 이동시키기 위한 제어명령을 전송할 수 있다. 이때, 상기 제1 궤적 정보와 상기 제2궤적 정보 사이에는 하나 이상의 중간 궤적 정보가 포함될 수 있다.
따라서, 여기서, 상기 제2청소기는 제1청소기의 주행 경로 중 제1 궤적 정보와 상기 중간 궤적 정보를 생략하고 러프하게 추종한다고 말할 수 있다. 또, 상기 제2청소기는 상기 제2궤적 정보에 대응되는 지점부터 제1청소기의 주행 경로 추종한다고 말할 수 있다.
또한, 상기 제2청소기가 상기 제2궤적 정보에 대응되는 지점으로 이동하면, 제1청소기 또는 제2청소기는, 제2청소기가 주행하지 않은 제1궤적 정보와 상기 중간 궤적 정보를 메모리로부터 삭제한다. 이후, 제2청소기가 제2궤적 정보를 지나면, 메모리로부터 제2궤적 정보가 삭제된다. 이와 함께, 제1청소기의 이동에 따른 새로운 궤적 정보가 메모리에 저장된다.
한편, 본 발명에서는 제2청소기가 제1청소기의 주행 경로를 정해진 섹터 단위로 추종할 수 있다.
여기서, 섹터 단위란, 제2청소기가 주행 경로를 효율적으로 추종할 수 있도록, 추종할 주행 경로를 정해진 길이 또는 정해진 공간 크기를 기준으로 나눈 가상 영역을 의미한다. 제1청소기의 전체 주행 경로는 복수의 섹터들로 나뉠 수 있다. 또, 하나의 섹터 내에는 복수의 궤적 정보에 대응되는 일부 주행 경로가 포함된다고 말할 수 있다.
일 예로, 제2청소기는 제1청소기의 제1섹터 내의 복수의 궤적 정보에 대응되는 주행 경로를 추종하면, 다음 섹터인 제2섹터 내에 진입하고, 제2섹터 내의 복수의 궤적 정보에 대응되는 주행 경로를 추종하도록 제어될 수 있다. 이때에, 제2섹터 내의 임의 궤적 정보(처음 궤적 정보를 포함함)에 대하여 전술한 추종 불가 상태인 것으로 파악된 경우, 제2청소기는 제2섹터의 다음 섹터인 제3섹터의 처음 궤적 정보의 위치로 이동할 수 있을 것이다.
다른 예로, 제2청소기는 평소에는 제1청소기의 주행 경로를 그대로 추종하다가, 임의의 궤적 정보에 대해 전술한 정해진 조건 만족인 것으로 감지되면, 이후에는 전술한 섹터 단위로 제1청소기를 수행하는 '섹터 주행 모드'를 수행할 수 있다.
섹터 주행 모드에 진입 후 일정 시간 동안 또는 일정 섹터를 지나는 동안 정해진 조건을 충족하지 않으면, '섹터 주행 모드'가 종료되고 다시 제1청소기의 주행 경로를 그대로 추종하도록 제어될 수 있다.
또 다른 예로, 제2청소기(100b)는 제1청소기(100a)로부터 수신되는 장애물 정보나 자신의 센싱부(1400)의 장애물 센서를 통해 감지된 장애물 정보를 기초로 섹터 주행 모드에 진입할 수 있다.
여기에서, 장애물 정보는 장애물의 위치, 크기, 너비, 높이, 진입가능여부와, 복수의 장애물인 경우 개수와 이격거리에 관한 정보를 포함한다. 또, 장애물이란 청소영역의 바닥으로부터 돌출되어 청소기의 주행을 방해하는 벽(wall), 가구, 집기 등의 고정 장애물과 움직이는 이동 장애물을 포함한다. 제2청소기(100b)는, 제1청소기(100a)로부터 수신된 장애물 정보를 기초로, 제1청소기(100a)의 궤적 정보에 대응되는 주행방향 내에 정해진 개수 이상의 장애물이 존재하는 것으로 판단되면, 섹터 주행 모드에 진입할 수 있다.
예를 들어, 제1청소기(100a)의 궤적 정보에 대응되는 주행방향 내에 3개 이상의 장애물이 존재하는 경우 섹터 주행 모드에 진입하도록 설정될 수 있다. 한편, 이는 하나의 예시로서, 장애물의 크기, 높이, 개수, 복수의 장애물들의 이격거리 등과 같은 다른 조건이 섹터 주행 모드에의 진입 조건이 될 수도 있다.
일 예에서, 이러한 진입 조건은 사용자 입력을 통해 가변될 수도 있다.
또, 일 예에서는, 섹터 주행 모드의 실행 후 소정 시간을 경과하도록 더 이상 장애물이 감지되지 않으면 통상의 추종 관계에 따라, 선두청소기의 궤적을 그대로 추종하도록, 섹터 주행 모드를 해제할 수 있을 것이다.
또는, 일 예에서는 제1청소기(100a)로부터 수신된 장애물 정보가 없거나 또는 제1청소기(100a)는 쉽게 피할 수 있지만 제2청소기(100b)는 피할 수 없는 경우, 또는 제2청소기(100b)에 구비된 센서를 통해 감지된 장애물 정보를 근거로 정해진 조건을 만족하는 것으로 파악된 경우에도, 섹터 주행 모드에 진입할 수 있다.
예를 들어, 본 발명은 이종 청소기 간에도 추종 관계를 적용할 수 있으므로, 동일한 장애물이라도 제1청소기(100a)는 진입할 수 있지만, 제2청소기(100b)는 진입 또는 통과할 수 없는 경우가 있다.
한편, 섹터 주행 모드에서도 제1청소기(100a)와 제2청소기(100b)의 추종 관계는 유지되므로, 제2청소기는 제1청소기의 궤적을 크게 벗어나지는 않으면서 주행경로를 복잡하게 하는 일부 궤적만을 생략하여 주행하도록 제어될 수 있다.
이를 위해, 섹터 주행 모드에 진입하면, 제1청소기(100a)는 제2청소기(100b)의 현재 위치를 기준으로 하여 제1청소기(100a)의 복수의 궤적 정보를 포함하는 섹터를 설정할 수 있다. 이때, 섹터의 크기는 한변의 길이가 제1청소기(100a)와 제2청소기(100b)의 추종거리를 넘지 않도록 설정될 수 있다.
또, 일 예에서, 섹터의 크기는 제1청소기(100a)의 궤적 정보에 대응되는 주행속도에 따라 다르게 결정될 수 있다. 예를 들어, 제1청소기(100a)의 궤적 정보에 대응되는 지점들의 간격이 가까운 경우, 즉 제1청소기(100a)의 주행속도가 느린 구간에서는 섹터 의 크기를 기준크기보다 작게 할 수 있다.
또, 제1청소기(100a)의 궤적 정보에 대응되는 지점들의 간격이 먼 경우, 즉 제1청소기(100a)의 주행속도가 빠른 구간에서는 섹터의 크기를 기준크기보다 크게 설정할 수 있다.
또한, 상기 섹터는 제2청소기(100b)의 위치 이동에 따라 함께 이동하거나 또는 새로운 위치에 설정될 수 있다.
제1청소기(100a)는 제2청소기(100b)의 식별 정보와 전술한 장애물 정보를 기초로 정해진 조건을 만족하는 것으로 판단되면, 추종할 궤적 정보의 일부를 생략할 수 있다.
구체적으로, 설정된 섹터 내의 궤적 정보에 대응되는 주행 경로가 복수의 장애물이 존재하는 방향으로 향하는 것으로 판단되면, 제1청소기(100a)는 해당 섹터 내의 궤적 정보의 일부 또는 전부를 생략할 수 있다.
그런 다음, 제2청소기(100b)가 다른 주행경로로 해당 섹터를 벗어나도록 이동하여 제1청소기의 다음 섹터 내 궤적 정보를 추종하도록 제어할 수 있다.
다만, 이때에도 제2청소기(100b)와 제1청소기(100a)의 추종 관계는 계속 유지되므로, 제2청소기(100b)의 목표 주행방향은 제1청소기(100a)의 최근 이동궤적을 크게 벗어나지 않도록 제어되는 것이 바람직하다.
반면, 설정된 섹터 내에 복수의 장애물이 존재하더라도 해당 섹터 내의 궤적 정보가 복수의 장애물이 존재하는 방향과 다른 방향으로 향하는 것으로 판단되면, 제2청소기(100b)가 섹터 내의 매 이동순간의 지점들을 순서대로 좇도록 제2청소기(100b)의 주행이 제어된다.
또한, 본 발명에서는 제2청소기가 제1청소기의 장애물 정보와 궤적 정보, 그리고 제2청소기 자신의 상태 정보를 기초로 추종 불가 상태를 감지할 수 있고, 그에 따라 섹터 내의 복수의 궤적 정보를 그대로 추종할지, 일부 또는 전부를 생략할지 여부를 결정하여, 스스로 주행을 제어할 수 있다.
이하, 도 10은 위에서 설명한 섹터 주행 모드의 구체적인 예시를 보여주고 있다.
도 10에서, 선두청소기인 제1청소기(100a)가 복수의 장애물들(B1, B2, B3, B4)이 존재하는 청소영역을 주행한 경우, 추종청소기인 제2청소기(100b)는 제1청소기(100a)로부터 이러한 장애물 정보를 수신할 수 있다.
그리고, 제1청소기(100a)(또는 제2청소기(100b))는 제2청소기(100b)의 상대 위치와 식별 정보, 그리고 상기 장애물 정보를 기초로 정해진 조건을 만족하는 것을 감지하여, 섹터 주행 모드로 제2청소기(100b)를 주행할 수 있다. 그에 따라, 설정된 섹터(10, 101,102. 10n) 단위로 제2청소기(100b)의 추종이 제어된다.
제1섹터(10)에서는, 제1청소기(100a)의 궤적이 3개의 장애물들(B1, B2, B3)이 존재하는 위치로 향하고, 이후의 궤적에 대응되는 포인트가 복수의 장애물들(B2, B3)의 사이를 통과하고 있다.
일 예에서는, 제2청소기(100b) 스스로가 제1청소기(100a)로부터 수신되는 이러한 장애물 정보와 주행정보(즉, 복수의 장애물들(B2, B3)의 사이를 통과하여 주행)를 기초로 자신이 진입할 수 있는지 여부를 판단할 수 있다.
이는, 제2청소기(100b)의 종류, 동작상태, 사양 등에 따라 달라질 수 있다. 또한, 일 예에서는, 제2청소기(100b)에 구비된 센서를 통해 감지된 정보들과 제2청소기(100b)의 종류, 동작상태, 사양과 장애물 간의 이격거리를 고려하여 제2청소기(100b) 스스로 실제 진입이 가능한지 여부를 직접 산출할 수도 있다.
다만, 추가적인 연산으로 인한 시간 지연을 방지하기 위해, 전술한 바와 같이 섹터 주행 모드를 수행하는 동안, 섹터 내에서 정해진 개수 이상의 장애물이 감지되고, 선두청소기의 궤적이 그 장애물 쪽을 향하면, 실제 진입 가능여부와 관계없이 '정해진 조건의 만족' 으로 판단하기로 한다.
도 10에서, '정해진 조건의 만족'으로 판단되면, 제2청소기(100b)는 섹터(10) 내의 이동 궤적을 따르지 않고, 즉 섹터 단위(10) 내의 복수의 궤적 정보들을 제거하고, 섹터(10) 밖으로 이동한다.
이때, 제2청소기(100b)의 주행은 다음 섹터, 즉 제2섹터(101) 내에서 제1청소기(100a)의 궤적을 추종하며 진행한다. 즉, 제2청소기(100b)는 섹터(10)를 벗어나서 제1청소기(100a)의 다음 궤적 정보를 추종하며 청소를 수행한다.
이때, 제1청소기(100a)의 다음 궤적 정보를 포함하는 제2섹터(101)의 설정은, 이전 섹터, 즉 제1섹터(10)에서 정해진 조건의 만족으로 판단시의 주행방향을 제외한 나머지 방향 중에서, 현재 제2청소기(100b)의 주행방향과 제1청소기(100a)의 다음 궤적 정보의 위치를 기초로 결정될 수 있다.
섹터들(10, 101,..10n)은, 추종의 끊김이 없도록, 이전 섹터의 일부와 다음 섹터의 일부가 서로 중첩되도록 설정될 수 있다.
일 예에서, 제2청소기(100b)는 제2청소기(100b)의 현재 위치에서 제1섹터(10) 이후에 검출된 제1청소기(100a)의 처음 궤적 정보의 위치를 최단거리로 연결한 것을 제2청소기(100b)의 다음 주행 경로로 결정할 수 있다. 이는, 제2섹터(101)에 진입하기 위한 주행 경로라고도 말할 수 있다.
이와 같은 방식으로 제n섹터(10n)까지 섹터 주행 모드를 수행한 후, 복잡한 영역, 복잡한 섹터 등의 상황이 종료된 것으로 판단되면, 제2청소기(100b)는 섹터 주행 모드를 종료하고, 이후부터는 다시 제1청소기(100a)의 매 이동순간의 포인트를 추종하며 청소를 수행할 수 있다.
이상에서 살펴본 바와 같이 본 발명의 실시 예에 따르면, 평소에는 제2청소기가 제1청소기의 이동 궤적으로 차례대로 추종하면서 청소하고, 복잡한 영역이나 복잡한 섹터가 존재하는 상황을 만나면 제2청소기가 소정 크기의 섹터 단위로 제1청소기를 러프(rough)하게 추종하며 청소하도록 제어함으로써, 추종에 따른 청소 효율은 유지하면서 복잡한 상황에서 야기되는 시간 지연 문제가 해소된다.
또한, 일 실시 예에서 추종 이동 로봇이 선두 이동 로봇의 주행 경로를 그대로 좇지 않더라도, 본연의 기능을 수행하기에 충분한 경우, 예를 들어 제1이동 로봇은 로봇 청소기이고, 제2이동 로봇은 이동 공기조화기인 경우, 제2이동 로봇이 추종할 다음 궤적이 전술한 정해진 조건을 만족하는지 판단하지 않고, 처음부터 제1이동 로봇의 궤적을 섹터 단위로 러프하게 추종하며 주행할 수도 있다. 이하에서는, 도 11a, 도 11b, 도 11c를 참조하여, 섹터 내의 제1청소기의 궤적 정보의 일부 또는 전부의 생략시 제2청소기의 주행경로를 결정하는 방법을 구체적으로 설명하겠다.
제1청소기의 제어부는, 제2청소기의 현재 위치에서 추종할 다음 궤적 정보의 위치에 복수의 장애물이 근접한 것으로 감지되면, 다음 궤적 정보를 포함한 주행 경로 대신에 다른 주행 경로로 제1청소기의 위치를 추종하도록 제2청소기의 주행을 제어할 수 있다.
이를 위해, 제1청소기의 제어부는 제2청소기가 제1청소기 또는 제2청소기에 저장된 궤적 정보에 대응되는 주행 경로를 정해진 섹터 단위로 추종하도록 제2청소기의 주행을 '섹터 주행 모드'로 제어할 수 있다. 이때, 섹터 내에는 복수의 궤적 정보에 대응되는 주행 경로가 포함될 수 있다.
일 예로, 도 11a은, 섹터 주행 모드에서, 섹터 (10) 내에 기록된 제1청소기(100a)의 궤적이 복수의 장애물(B1, B2, B3)을 향하는 것으로 판단되어, 제2청소기(100b)가 이를 추종하지 않도록 전부 제거된 경우이다. 즉, 섹터(10) 내의 모든 궤적들이 제거되었다.
이러한 경우, 도 11b에 도시된 바와 같이, 섹터(10)에서 제2청소기(100b)의 주행방향과 제1청소기(100a)의 다음 궤적 정보의 위치를 기초로 다음 섹터(10next)가 설정된다. 이때, 추종을 놓치지 않기 위해, 이전 섹터(10)와 다음 섹터(10next)의 적어도 일부가 오버랩될 수 있다.
다음, 제2청소기(100b)가 다음 섹터(10next)에 진입하기 위해 현재 섹터(10)를 벗어나야 한다. 예를 들어, 도 11b에서, 섹터(10)를 벗어나기 위한 제2청소기(100b)의 주행경로는 제1청소기(100a)의 위치, 즉 다음 섹터(10next)에 포함된 특정 궤적 정보를 목표지점으로 하는 최단경로일 수 있다.
여기에서, 상기 특정 궤적 정보는, 다음 섹터(10next)에 표시된(또는, 검출된) 제1청소기(100a)의 처음 궤적이거나, 마지막 궤적이거나, 또는 다른 임의의 궤적일 수 있다.
도 11b와 같이 하나의 포인트(1101)만 검출된 경우에는 제2청소기(100b)가 이를 목표지점으로 추종하며 주행하면 된다. 이때, 다음 섹터(10next)에 포함되지 않으면서 목표지점보다 선행하는 제1청소기(100a)의 궤적들은 제2청소기(100b)의 주행경로에서 제외된다. 따라서, 이에 대응되는 궤적 정보들이 제1청소기(100a)의 메모리로부터 삭제된다.
한편, 다음 섹터(10next)에 표시된(또는, 검출된) 궤적에 대응되는 포인트가 복수인 경우, 어느 포인트를 목표지점으로 선택하는지에 따라 제2청소기(100b)의 추종경로가 달라진다.
일 예에서는, 섹터 내의 처음 궤적과 마지막 궤적의 위치들을 최단거리로 연결한 것을 제2청소기의 주행경로로 결정하여 추종을 수행할 수 있다. 이러한 경우, 제2청소기가 처음 궤적과 마지막 궤적 사이의 궤적들을 모두 생략하여 주행하게 되므로, 제1청소기를 거칠게 추종하였다고 말할 수 있다. 이에 의하면, 추종에 의한 시간 지연이 최소화된다.
이는, 제2청소기가 섹터 내의 제1청소기의 궤적 정보에 대응되는 주행 경로와 다른 주행 경로로 주행하였다고 말할 수 있다. 이때, 상기 다른 주행 경로의 길이는, 제1청소기의 궤적 정보에 대응되는 주행 경로의 길이 보다 짧으므로, 추종에 의한 시간 지연이 감소된다.
예를 들어, 도 11c의 (a)는, 제2청소기(100b)가 다음 섹터에 진입한 후, 현재 자신의 위치에서 다음 섹터 내의 마지막 포인트(1102)를 목표지점으로 선택하여, 제2청소기(100b)가 추종 주행을 수행한 경우이다. 그러면, 도 11c의 (b)와 같이, 마지막 포인트(1102)를 제외한 나머지 궤적들(1103)이 제거되며, 제2청소기(100b)가 현재 위치에서 마지막 포인트(1102)로 직진 주행한다. 따라서, 제2청소기(100b)는 제1청소기(100a)의 실제 주행 경로 보다 짧은 주행 경로로 제1청소기를 추종하게 된다.
한편, 일 예에서는, 섹터 내의 궤적에 대응되는 제1청소기의 주행 정보에 따라, 목표지점의 선택이 달라질 수 있다.
예컨대, 장애물이 없음에도 섹터 내의 궤적 정보에 대응되는 포인트들의 개수가 기준값 보다 많거나 간격이 좁은 경우에는 제2청소기(100b)가 제1청소기(100a)의 실제 궤적과 일치 또는 유사하게 주행할 수 있도록 목표지점을 처음 포인트 또는 그에 가까운 포인트로 선택한다.
이는, 장애물이 없음에도 제1청소기(100a)가 느리게 주행한 경우에는, 해당 섹터 내에 먼지 또는 오염물이 있어서 꼼꼼하게 청소를 수행한 것으로 보고, 제2청소기(100b)가 제1청소기(100a)의 실제 궤적과 동일 또는 유사하게 주행하게 하기 위함이다.
반면, 섹터 내의 이동 궤적에 대응되는 포인트들의 개수가 적거나 간격이 매우 넓은 경우에는, 제2청소기(100b)가 제1청소기(100a)를 거칠게(rough) 추종해도 무방한 것으로 보고, 상기 목표지점을 마지막(last) 포인트 또는 그에 가까운 포인트로 선택한다.
이상에서 살펴본 바와 같이, 섹터 내에서도 제1청소기의 주행 정보, 예를 들어 주행 속도에 따라 제2청소기의 주행 목표지점을 다르게 선택함으로써, 추종 제어의 효율성과 시간 지연 최소화라는 상반된 니즈를 균형있게 만족시킬 수 있다.
이하에서는, 도 12a, 도 12b, 도 12c, 도 12d를 참조하여, 추종할 다음 섹터 내에 제1청소기의 궤적 정보가 검출되지 않는 경우의 동작 과정을 구체적으로 살펴보겠다.
제1청소기의 제어부는, 복수의 궤적 정보를 포함하는 섹터 단위로 제2청소기의 주행을 제어할 수 있고, 제2청소기의 추종 불가 상태가 감지되면 현재 섹터 내의 궤적 정보들을 모두 제거하고, 제2청소기의 상대 위치와 주행방향에 기초하여 다음 섹터를 결정할 수 있다.
그리고, 제1청소기는, 제2청소기가 결정된 다음 섹터 내의 궤적 정보 중 하나를 추종하도록 제2청소기의 복수의 궤적 정보를 포함하는 섹터 단위로 상기 다른 청소기의 주행을 제어할 수 있다.
또한, 제1청소기의 제어부는, 제2청소기가 다음 섹터 내의 궤적 정보 중 하나를 추종하기 위해 제1청소기로부터 멀어지는 경우, 예를 들어 정해진 임계 추종거리를 벗어날 정도로 멀어지는 경우, 제1청소기의 주행 속도를 변경하거나 제1청소기의 주행을 정지시킬 수 있다.
또한, 제2청소기(100b)가 섹터 주행 모드를 수행하는 동안, 섹터 내에서 제2청소기(100b)의 이동경로가 결정되면, 제2청소기(100b)의 이동방향과 제1청소기(100a)의 다음 이동 궤적을 기초로, 추종할 다음 섹터가 결정된다.
이때에, 도 12a에 도시된 바와 같이, 제1청소기(100a)의 이동 궤적이 다음 섹터(②) 내에 들어오지 않고, 제1청소기(100a)가 다음 섹터(2)를 벗어나서 주행하는 경우(①)가 있을 수 있다. 이러한 경우, 제2청소기(100b)의 추종이 끊어질 수 있다.
일 예로, 이와 같이 다음 섹터 내에 제1청소기(100a)의 궤적이 검출되지 않는 경우, 섹터 단위의 크기 및 위치 중 적어도 하나를 가변하여 적용할 수 있다.
예를 들어, 도 12b에 도시된 바와 같이 제1청소기(100a)의 다음 궤적이 포함될 때까지 또는 제1청소기(100a)의 현재 위치까지(미도시), 섹터의 크기를 증가시킨다(10'). 이후, 제2청소기(100b)의 현재 위치에서 제1청소기(100a)의 위치나 제1청소기(100a)의 다음 궤적의 마지막 포인트까지 직선 연결한 경로로 추종을 수행한다.
한편, 이와 같이 가변된 제2청소기(100b)의 주행 경로 내에 장애물이 있으면, 제2청소기(100b)가 이를제1청소기(100a)에 전송해주어, 제2청소기(100b)가 재차 보정된 주행 경로로 주행할 수 있게 제어할 수도 있다.
또 다른 예로, 다음 섹터 내에 제1청소기(100a)의 궤적이 검출되지 않는 경우, 제1청소기(100a)의 이동 궤적이 검출되지 않은 다음 섹터를 기준으로 섹터의 개수를 더 증가시켜서 제1청소기(100a)의 다음 궤적을 검출할 수 있다. 전술한 섹터의 크기를 가변하는 것과의 차이는 제2청소기(100b)의 주행 경로의 선택 과정에 있다.
구체적으로, 도 12c를 참조하면, 다음 섹터(10b) 내에서 제1청소기(100a)의 궤적이 미검출 상태이면, 다음 섹터(10b)를 기준으로, 이전 섹터(10)와 대향되는 방향, 즉 상방 좌측 방향으로 복수의 추가 섹터들(10c, 10d, 10a)을 설정한다. 만약 여기에서도 제1청소기(100a)의 궤적이 미검출 상태이면, 계속해서 추가 섹터들(10c, 10d, 10a)을 설정할 수 있다.
제2청소기(100b)는 추가 섹터들(10c, 10d, 10a) 각각에 대해 제1청소기(100a)의 궤적이 검출되었는지 여부만 판단한다.
도 12c에서, 두 개의 추가 섹터(10c, 10d)에서 제1청소기(100a)의 이동 궤적이 검출되면, 제1청소기(100a)로부터 수신된 주행 정보를 기초로 추가 섹터(10c)를 먼저 방문한 다음, 추가 섹터(10d)를 방문한 것을 인식할 수 있다.
제2청소기(100b)는 현재 섹터 단위(10)에서 제1추가 섹터(10c)를 최단거리로 진입하고, 이어서 제2추가 섹터(10d)에 최단거리로 진입한다. 즉, 제1청소기(100a)의 이동 궤적에 대응되는 포인트와 관계없이 설정된 추가 섹터 단위로 제2청소기(100b)가 주행할 수 있다.
또 다른 예로, 다음 섹터 내에 제1청소기(100a)의 궤적이 검출되지 않는 경우, 일단 제2청소기(100b)가 구동을 정지하고 다음 섹터 내에 제1청소기(100a)가 진입하면, 추종을 재개할 수 있다.
예를 들어, 도 12d의 (a)에 도시된 바와 같이, 현재 섹터 (10)에서는 제2청소기(100b)가 추종 불가 상태이고, 다음 섹터 단위(10next)의 크기가 가변된 후에도 제1청소기(100a)의 궤적이 섹터(10next) 내에서 검출되지 않으면, 제2청소기(100b)가 일단 현재 섹터 (10)에서 정지 상태로 대기한다.
다음, 도 12d의 (b)에 도시된 것처럼, 다음 섹터(10next)에 제1청소기(100a)가 진입한 것이 감지되면(1), 정지 상태였던 제2청소기(100b)가 제1청소기(100a)가 있는 위치로 주행한다. 이는 마치, 추종이 일시적으로 해제되었다가 재연결된 것과 유사하다.
한편, 여기서 제1청소기(100a)의 진입 여부는 다음 섹터 (10next)의 범위와 제1청소기(100a)의 상대 위치를 기초로 파악될 수 있다.
이와 같이, 섹터 (10next)에서 제1청소기(100a)의 궤적이 검출되지 않는 경우, 제2청소기(100b)를 무리하여 이동시키지 않고 제1청소기(100a)가 발견되기를 기다렸다가 추종을 수행함으로써, 연산의 낭비와 추종의 끊어짐을 방지할 수 있다.
이하, 도 13a, 도 13b, 도 13c, 도 13d 는 제2청소기가 진입가능하나 제1청소기의 주행이 복잡하여 섹터 내의 제1청소기의 궤적의 일부를 제거하여 추종하는 예시들을 설명하기로 한다.
본 예시들에서, 제1청소기의 제어부는, 진입한 영역이 상기 제2청소기의 진입 불가 영역으로 판단되면, 제2청소기의 주행정지명령에 대응되는 신호를 전송할 수 있다. 이 후, 제1청소기가 해당 영역을 벗어난 것으로 감지되면, 해당 영역을 벗어난 이후 저장된 본체의 궤적 정보에 대응되는 주행 경로를 추종하도록 제2청소기의 주행을 제어할 수 있다.
예를 들어, 도 13a를 참조하면, 선두청소기인 제1청소기(100a)가 장애물, 예를 들어 벽(wall)(50)을 추종하며 청소하는 경우, 벽(wall)(50)의 형상에 따라 주행방향을 자주 여러 번 변경하는 경우가 있을 수 있다.
이러한 경우, 주행방향을 변경하기 위해 제1청소기(100a)의 제어부가 휠 유닛(111)의 구동을 여러 번 변경해야 하는데, 주행방향을 변경할 때마다 제1청소기(100a)의 주행속도도 가변된다. 예를 들어, 도 13a에 표시된 'x' 지점마다 제자리회전 및 주행방향 변경을 수행해야하므로, 감속된 주행속도(V2)로 주행하게 되며, 이는 청소 시간을 지연시키는 원인이 된다.
이에, 본 발명에서는, 제1청소기(100a)를 추종하는 제2청소기(100b)가 제1청소기(100a)로부터 수신된 주행 정보를 기초로, 제1청소기(100a)의 주행방향이 기준횟수 이상 가변되는 것을 인식할 수 있다. 이러한 경우, 제1청소기(100a)의 주행방향이 기준횟수 이상 가변된 시간 동안의 제1청소기(100a)의 이동 궤적을 제거한다.
도 13b에 도시된 바와 같이, 제1청소기(100a)가 제자리회전 및 주행방향의 변경을 여러 번 수행한 동안의 이동 궤적을 포함하는 영역(1310)을 전술한 섹터로 보고, 이 영역의 이동 궤적을 제거하는 것이다. 이 후, 제2청소기(100b)는 제1청소기(100a)의 현재 위치를 최단직선으로 연결한 경로(1320)로 주행한다.
또 다른 예로, 제1청소기(100a)가 도 13c에 도시된 바와 같이 좁은 영역에 진입하여 이동 궤적(1330)을 남긴 경우이다. 이때, 좁은 영역의 너비(Ds)는 제1청소기(100a)와 제2청소기(100b)가 각각은 진입할 수 있는 정도이나, 추종하며 진입할 경우 어느 하나의 후진 없이는 회피가 어려운 정도의 간격일 수 있다.
이와 같이 제2청소기(100b)가 제1청소기(100a)를 추종하여 진입한 경우 어느 하나의 후진 없이는 회피할 수 없는 최대간격을 '너비의 기준값'으로 정의할 수 있다.
이와 같이 제1청소기(100a)가 진입한 주행영역의 너비의 기준값 이하인 경우, 제2청소기(100b)의 제어부는, 제1청소기(100a)의 해당 주행영역에서의 궤적(1330)을 제거하고, 제1청소기가 해당 주행영역을 빠져나온 시점에서 제1청소기의 위치를 최단직선으로 연결한 경로(1340)로 주행하도록 제어할 수 있다.
이상에서 살펴본 바와 같이, 선두청소기가 단시간 동안 여러 번 주행방향을 변경하거나 또는 선두청소기가 좁은 영역에 진입한 경우에는, 일정 시간 동안의 이동 궤적 또는 좁은 영역에서의 이동 궤적을 모두 제거하고 직진경로로 주행함으로써, 시간 지연을 최소화할 수 있다.
다음으로, 도 14a, 도 14b, 도 14c를 참조하여, 섹터 단위 내에 제2청소기가 아예 진입할 수 없는 경우, 추종 관계를 유지하기 위한 제1청소기의 주행 방법을 구체적으로 살펴보겠다.
즉, 도 14a, 도 14b, 도 14c는 제1청소기(100a)는 진입 및 주행에 전혀 무리가 없으나, 제2청소기(100b)가 아예 진입할 수 없는 경우로서, 특히 제1청소기(100a)와 제2청소기(100b)가 이종인 경우에 발생할 수 있다.
이때에는, 제1청소기(100a)로부터 수신되는 장애물 정보만으로 제2청소기(100b)의 진입 가능성을 판단할 수 없다. 따라서, 이때에는 추종청소기에서 선두청소기로 자신의 상태 정보를 전송해주어야 할 것이다.
먼저, 도 14a를 참조하면, 이종 청소기들간의 추종시, 지정된 청소영역(1401) 내에서, 제1청소기(100a)는 진입할 수 있으나 제2청소기(100b)는 진입할 수 없는 섹터 단위(1410)가 발생할 수 있다. 그 예로, 문턱, 카펫, 높이가 낮은 가구 밑 등이 포함될 수 있다.
이러한 경우, 제2청소기(100b)는 해당 섹터 단위(1410) 내에 진입할 수 없음을 통신부를 통해 제1청소기(100a)에 알려준다. 이와 함께 또는 순차로, 제2청소기(100b)는 주행부(1300)의 구동을 정지한다.
다음, 제2청소기(100b)의 제어부는, 제1청소기(100a)로부터 수신되는 주행 정보를 기초로, 제1청소기(100a)가 해당 섹터를 벗어난 것으로 감지된 시점에 제1청소기(100a)의 궤적을 추종하도록 제어한다.
이러한 상황에서, 제1청소기(100a)는 다음의 두 가지 중 하나의 시나리오로 제어될 수 있다.
일 예로, 도 14b에 도시된 바와 같이, 제2청소기(100b)가 진입할 수 없는 섹터 단위(1410)를 혼자 주행하며 청소한 다음, 섹터(1410)를 빠져나온 시점에서 제2청소기(100b)에 이를 알려주어 추종을 재개하는 방식이다.
다른 예로는, 도 14c에 도시된 바와 같이, 제2청소기(100b)로부터 섹터 단위(1410)에 진입할 수 없다는 정보가 수신되면, 섹터 단위(1410)에 진입하지 않거나 또는 섹터 단위(1410)로부터 즉시 빠져나온다. 그리고, 제2청소기(100b)와의 추종거리를 유지하면서 함께 추종 제어를 수행한다.
이때, 청소하지 않은 섹터 단위(1410)는 지정된 청소영역(1401)의 청소가 모두 완료된 후, 제1청소기(100a) 혼자서 수행하도록 제어될 수 있을 것이다.
도 15a, 도 15b, 도 15c는 전술한 본 발명의 실시 예들에 따른 제1청소기와 제2청소기 간의 추종 제어의 변형 예로서, 여기에서는, 제1청소기와 이동 디바이스 간의 추종 제어를 구체적으로 설명하겠다. 여기서의 추종 제어는, 이동 디바이스가 제1청소기의 이동 경로를 추종하며 주행하는 것만을 의미한다.
도 15a를 참조하면, 제1청소기(100a)는 제2청소기 대신 이동 디바이스(200)와 통신하여, 이동 디바이스(200)의 추종을 제어할 수 있다.
여기서, 상기 이동 디바이스(200)는 청소 기능을 구비하지 않을 수 있고, 주행 기능을 구비한 것이라면 어떠한 전자 디바이스도 포함될 수 있다. 예를 들어, 상기 이동 디바이스(200)는 주행 기능을 구비한 제습기, 가습기, 공기청정기, 공기조화기, 스마트 TV, 인공지능 스피커, 디지털 촬영장치 등의 제한되지 않는 다양한 종류의 홈 디바이스 또는 기타 전자 디바이스를 모두 포함할 수 있다.
또, 상기 이동 디바이스(200)은 주행 기능을 구비한 것으로 충분하며, 스스로 장애물을 감지하거나 정해진 목적지까지 주행하는 네비게이션 기능은 갖추지 않을 수 있다.
제1청소기(100a)는 네비게이션 기능과 장애물 감지 기능을 모두 갖춘 로봇 청소기로, 이동 디바이스(200)의 추종을 제어할 수 있다. 제1청소기(100a)는 건식 청소기든 습식 청소기든 무방하다.
제1청소기(100a)와 이동 디바이스(200)는 네트워크(미도시)를 통해 통신할 수도 있겠으나, 상호간에 직접 통신하는 것이 가능하다.
여기서, 네트워크를 이용한 통신은 예를 들어 WLAN, WPAN, Wi-Fi, Wi-Fi Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access) 등을 사용한 통신일 수 있다. 그리고, 상호간의 직접 통신은, 예를 들어 UWB(Ultrawide-Band) Zigbee, Z-wave, Blue-Tooth, RFID, 적외선 통신(Infrared Data Association; IrDA) 등을 사용하여 수행될 수 있다.
제1청소기(100a)와 이동 디바이스(200)가 근접 거리에 있는 경우이면, 제1청소기(100a)에서의 조작을 통해, 이동 디바이스(200)가 제1청소기(100a)를 추종하도록 설정하는 것이 가능하다.
제1청소기(100a)와 이동 디바이스(200)가 떨어져 있는 경우이면, 비록 도시되지는 않았지만, 외부 단말기(300, 도 5a)에서의 조작을 통해, 이동 디바이스(200)가 제1청소기(100a)를 추종하도록 설정할 수 있다.
구체적으로, 외부 단말기(300)와의 네트워크 통신을 통해, 제1청소기(100a)와 이동 디바이스(200) 간의 추종 관계가 설정될 수 있다. 여기서, 외부 단말기(300)는 유무선 통신이 가능한 전자기기로, 예를 들어 태블릿, 스마트폰, 노트북 등일 수 있다. 외부 단말기(300)에는 제1청소기(100a)에 의한 추종 제어와 관련된 애플리케이션(이하, ‘추종 관련 애플리케이션’)이 하나 이상 설치될 수 있다. 사용자는 외부 단말기(300)에 설치된 추종 관련 애플리케이션을 실행하여, 제1청소기(100a)에 의해 추종 제어될 이동 디바이스(200)를 선택 및 등록할 수 있다. 추종 제어될 이동 디바이스(200)가 등록되면, 외부 단말기는 이동 디바이스의 제품 정보를 인식할 수 있고, 이러한 제품 정보는 네트워크를 통해 제1청소기(100a)에 제공될 수 있다.
외부 단말기(300)는 제1청소기(100a) 및 등록된 이동 디바이스(200)와 통신하여, 제1청소기(100a)의 위치와 등록된 이동 디바이스(200)의 위치를 파악할 수 있다. 이후, 외부 단말기(300)로부터 전송되는 제어신호에 따라 제1청소기(100a)가 등록된 이동 디바이스(200)의 위치로 주행하거나 또는 등록된 이동 디바이스(200)가 제1청소기(100a)의 위치로 이동한다. 제1청소기(100a)와 등록된 이동 디바이스(200) 간의 상대 위치가 전술한 정해진 추종거리 이내인 것이 감지되면, 그 시점부터 제1청소기(100a)에 의한 이동 디바이스(200)의 추종 제어가 개시된다. 이후부터는 외부 단말기(300)의 개입 없이 제1청소기(100a)와 이동 디바이스(200) 간의 직접 통신에 의하여, 추종 제어가 수행된다.
이와 같은 추종 제어의 설정은, 외부 단말기(300)의 조작에 의하여 해지되거나 또는 제1청소기(100a)와 이동 디바이스(200)가 정해진 추종거리를 벗어남에 따라 자동으로 종료될 수 있다.
사용자는 제1청소기(100a)나 외부 단말기(300)을 통한 조작에 의해, 제1청소기(100a)에 의해 제어될 이동 디바이스(200)를 변경, 추가, 제거할 수 있다. 예를 들어 도 15b를 참조하면, 제1청소기(100a)는 또 다른 청소기(200a 또는 100b), 공기 청소기(200b), 가습기(200c), 제습기(200d) 중 적어도 하나 이상의 이동 디바이스(200)에 대하여 추종 제어를 수행할 수 있다.
일반적으로, 상기 이동 다바이스(200)의 본연의 기능, 제품 크기, 주행 능력은 제1청소기(100a)의 기능, 크기, 주행 능력과 차이가 있으므로, 이동 디바이스(200)가 제1청소기(100a)의 이동 경로를 그대로 추종하기에는 무리가 있다.
예를 들어, 주행모드, 공간의 지형적 특성, 장애물의 크기 등에 따라 이동 디바이스(200)가 제1청소기(100a)의 이동 경로를 추종하기 어려운 예외 상황이 존재할 수 있다. 이러한 예외 상황을 고려하여, 이동 디바이스(200)는 제1청소기(100a)의 이동 경로를 인지하고 있더라도 이동 경로의 일부를 생략하고 주행하거나 대기할 수 있다.
이를 위해, 전술한 예외 상황에 해당되는지 여부를 제1청소기(100a)에서 감지하고, 이동 디바이스(200)로 하여금 제1청소기(100a)의 이동 경로에 대응되는 데이터들을 메모리 등에 저장하게 한 다음, 상황에 따라 저장된 데이터들 중 일부를 삭제하고 주행하거나 또는 주행 정지 상태로 대기하도록 제어할 수 있다.
도 15c는 제1청소기(100a)와 이동 디바이스(200) 예를 들어 주행 기능을 구비한 공기 청정기(200b)의 추종 제어의 예시를 보인 것이다. 제1청소기(100a)와 공기 청정기(200b)는 서로의 상대 위치를 파악하기 위한 통신모듈(A, B)을 각각 구비할 수 있다. 상기 통신모듈(A, B)은 IR 신호, 초음파 신호, 반송파 주파수, 또는 임펄스 신호를 방출하고 수신하는 모듈들 중 하나일 수 있다. 통신모듈(A, B)를 통한 상대 위치 파악은 위에서 자세히 설명하였으므로 여기서는 설명을 생략하겠다.
공기 청정기(200b)는 제1청소기(100a)로부터 주행명령(예, 주행명령, 주행방향 및 주행속도를 포함한 주행변경, 주행정지 등)에 대응되는 주행 정보를 수신하고, 수신된 주행 정보에 따라 주행하며, 공기 정화를 수행한다.
그에 따라, 제1청소기(100a)가 작동하는 청소 공간에 대해 실시간으로 공기 정화가 이루어질 수 있다. 또한, 제1청소기(100a)는 이동 디바이스(200)의 제품 정보를 파악하고 있으므로, 전술한 예외 상황에서 공기 청정기(200b)가 제1청소기(100a)의 주행 정보를 기록하고, 일부를 삭제하고 주행하거나 또는 주행 정지 상태로 대기하도록 제어할 수 있다.
이상에서 살펴본 바와 같이, 이상에서 살펴본 바와 같이, 본 발명의 실시 예에 따른 복수의 로봇 청소기에 의하면, 평소에는 제2청소기가 제1청소기의 이동 궤적으로 차례대로 추종하면서 청소하고, 복잡한 영역 또는 복잡한 섹터 내에서 이동 궤적이 검출되거나 이동 궤적인 복잡한 경로를 형성하는 경우에 있어서, 제2청소기가 소정 크기의 섹터 단위로 제1청소기를 러프(rough)하게 추종하도록 제어함으로써, 추종에 따른 청소 효율은 유지하면서 복잡한 상황에서 야기되는 시간 지연 문제가 해소될 수 있다. 또한, 복잡한 영역이나 섹터를 만나는 경우가 아니라도 선두청소기인 제1청소기가 단시간 동안 여러 번 주행방향을 변경하거나 또는 좁은 영역에 진입한 경우에는, 일정 시간 동안의 이동 궤적 또는 좁은 영역에서의 이동 궤적을 모두 제거하고 직진경로로 주행함으로써, 추종에 의한 시간 지연을 최소화할 수 있다. 나아가, 제2청소기가 섹터 단위로 제1청소기를 추종하는 경우에도 제1청소기의 주행 정보에 따라 섹터 내의 목표지점을 다르게 선택함으로써, 추종 제어의 효율성과 시간 지연 최소화라는 상반된 니즈를 균형있게 만족시킬 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 제어부(1800)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (20)

  1. 본체를 이동시키는 주행부;
    상기 본체의 이동에 대응되는 주행 경로의 궤적 정보가 저장되는 메모리;
    신호를 방출하는 타 이동 로봇과 통신하는 통신부;
    상기 신호에 기반하여 상기 타 이동 로봇의 위치를 인식하고, 인식된 위치에 기반하여 상기 타 이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하는 제어부를 포함하고,
    상기 제어부는,
    상기 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는 것에 응답하여, 상기 저장된 궤적 정보 중 적어도 일부를 제거하고, 상기 타 이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  2. 제1항에 있어서,
    상기 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는지 여부는,
    상기 본체의 센서를 통해 감지된 장애물에 관한 정보, 상기 타 이동 로봇의 식별 정보, 상기 타 이동 로봇의 동작 상태와 관련된 정보, 및 상기 타 이동 로봇의 위치한 바닥 상태 정보 중 적어도 하나를 기준으로 결정되는 것을 특징으로 하는 이동 로봇.
  3. 제1항에 있어서,
    상기 메모리에 저장된 궤적 정보 중 상기 타 이동 로봇이 추종한 궤적 정보는 상기 메모리로부터 삭제되는 것을 특징으로 하는 이동 로봇.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 타 이동 로봇의 현재 위치에서 추종할 제1 궤적 정보에 대응되는 주행 경로가 정해진 조건을 만족하는 경우, 상기 타 이동 로봇을 상기 제1 궤적 정보 이후에 저장된 제2 궤적 정보에 대응되는 위치로 이동시키기 위한 제어명령을 전송하는 것을 특징으로 하는 이동 로봇.
  5. 제4항에 있어서,
    상기 제1 궤적 정보와 제2 궤적 정보 사이에는 하나 이상의 중간 궤적 정보가 포함되고,
    상기 제어부는,
    상기 타 이동 로봇이 상기 제2 궤적 정보에 대응되는 위치로 이동한 것에 응답하여, 상기 제1 궤적 정보와 상기 하나 이상의 중간 궤적 정보를 상기 메모리로부터 삭제하는 것을 특징으로 하는 이동 로봇.
  6. 제1항에 있어서,
    상기 제어부는,
    상기 타 이동 로봇의 현재 위치에서 추종할 다음 궤적 정보의 위치에 복수의 장애물이 근접한 것으로 감지되면, 상기 다음 궤적 정보를 포함한 주행 경로 대신 다른 주행 경로로 본체를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  7. 제1항에 있어서,
    상기 제어부는,
    상기 타 이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 정해진 섹터 단위로 추종하도록 주행을 제어하고,
    하나의 섹터에는 복수의 궤적 정보에 대응되는 주행 경로가 포함되는 것을 특징으로 하는 이동 로봇.
  8. 제1항에 있어서,
    상기 제어부는,
    상기 정해진 조건을 만족하는 것에 응답하여, 상기 타 이동 로봇이 복수의 궤적 정보에 대응되는 본체의 주행 경로와 다른 주행 경로로 주행하도록 제어하고,
    상기 다른 주행 경로는 상기 본체의 주행 경로 보다 경로의 길이가 짧은 것을 특징으로 하는 이동 로봇.
  9. 제1항에 있어서,
    상기 제어부는,
    복수의 궤적 정보를 포함하는 섹터 단위로 상기 타 이동 로봇의 주행을 제어하며,
    상기 정해진 조건을 만족하는 것에 응답하여 현재 섹터 내의 궤적 정보를 모두 제거하고, 상기 타 이동 로봇의 현재 위치와 주행방향에 기초하여 다음 섹터를 결정하고, 상기 결정된 다음 섹터 내의 궤적 정보 중 하나를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  10. 제9항에 있어서,
    상기 제어부는,
    상기 타 이동 로봇이 상기 결정된 다음 섹터 내의 궤적 정보 중 하나를 추종하기 위해 상기 본체로부터 멀어지는 경우, 상기 본체의 주행 속도를 변경하거나 정지시키는 제어명령을 출력하는 것을 특징으로 하는 이동 로봇.
  11. 제9항에 있어서,
    상기 제어부는,
    상기 다음 섹터 내에 상기 본체의 다음 궤적 정보가 미검출 된 것에 응답하여, 다음 섹터의 크기 및 위치 중 적어도 하나를 변경하여 상기 본체의 다음 궤적 정보를 검출하는 것을 특징으로 하는 이동 로봇.
  12. 제9항에 있어서,
    상기 제어부는,
    상기 다음 섹터 내에 상기 본체의 다음 궤적 정보가 미검출 된 것에 응답하여, 섹터의 개수를 증가시켜서 상기 본체의 다음 궤적 정보를 검출하는 것을 특징으로 하는 이동 로봇.
  13. 제9항에 있어서,
    상기 제어부는,
    상기 다음 섹터 내에 상기 본체의 다음 궤적 정보가 미검출 된 것에 응답하여, 상기 다음 섹터 내로 본체가 진입할 때까지 상기 타 이동 로봇의 주행을 정지시키는 것을 특징으로 하는 이동 로봇.
  14. 제1항에 있어서,
    상기 제어부는,
    소정 시간 동안 상기 본체의 주행방향이 기준횟수 이상 변경되는 것에 응답하여,
    상기 타 이동 로봇이, 소정 시간 동안 검출된 본체의 궤적 정보에 대응되는 주행 경로 대신, 상기 타 이동 로봇의 현재 위치로부터 상기 본체의 현재 위치까지 최단직선으로 연결한 경로로 주행하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  15. 제1항에 있어서,
    상기 제어부는,
    상기 본체가 진입한 주행영역의 너비가 기준범위 이하로 감지된 것 응답하여,
    상기 진입한 주행영역에서의 본체의 궤적 정보는 제거하고, 상기 본체가 해당 주행영역을 빠져나온 이후의 궤적 정보를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  16. 제1항에 있어서,
    상기 제어부는,
    상기 본체가 진입한 영역이 상기 타 이동 로봇의 진입 불가 영역으로 판단되면, 주행정지명령에 대응되는 신호를 상기 타 이동 로봇으로 전송하고,
    상기 본체가 해당 영역을 벗어난 것으로 감지되면, 해당 영역을 벗어난 이후에 저장된 본체의 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  17. 제1이동 로봇과 제2이동 로봇을 포함하는 복수의 이동 로봇으로서,
    상기 제1이동 로봇은 신호를 방출하는 상기 제2이동 로봇과 통신하여 상기 제2이동 로봇의 위치를 인식하고, 상기 제1이동 로봇의 이동에 대응되는 주행경로의 궤적 정보를 저장하고, 상기 인식된 제2이동 로봇의 위치에 기반하여 상기 제2이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하고,
    상기 제1이동 로봇은,
    상기 제2이동 로봇의 현재 위치에서 추종할 다음 궤적 정보에 대응되는 주행경로가 정해진 조건을 만족하는 것에 응답하여, 상기 저장된 궤적 정보 중 일부를 제거하고, 상기 제2이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 제어하는 것을 특징으로 하는 복수의 이동 로봇.
  18. 이동 로봇 본체의 이동에 대응되는 주행 경로의 궤적 정보를 저장하는 단계;
    신호를 방출하는 타 이동 로봇과 통신하여, 타 이동 로봇의 위치를 인식하는 단계;
    인식된 위치에 기반하여 상기 타 이동 로봇이 상기 저장된 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 단계;
    상기 타 이동 로봇이 추종할 다음 궤적 정보에 대응되는 주행경로가 정해진 조건을 만족하는 것을 감지하는 단계; 및
    상기 감지에 따라 상기 저장된 궤적 정보 중 일부를 제거하고, 상기 타 이동 로봇이 남은 궤적 정보에 대응되는 주행 경로를 추종하도록 상기 타 이동 로봇의 주행을 제어하는 단계를 포함하여 이루어지는 이동 로봇의 제어방법.
  19. 제18항에 있어서,
    상기 정해진 조건을 만족하는지 여부는,
    상기 본체의 센서를 통해 감지된 장애물에 관한 정보, 상기 타 이동 로봇의 식별 정보, 상기 타 이동 로봇의 동작 상태와 관련된 정보, 및 상기 타 이동 로봇의 현재 위치의 바닥 상태 정보 중 적어도 하나를 기준으로 결정되는 것을 특징으로 하는 이동 로봇의 제어방법.
  20. 제18항에 있어서,
    상기 저장된 궤적 정보 중 상기 타 이동 로봇이 추종한 궤적 정보를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 이동 로봇의 제어방법.
KR1020190014051A 2018-05-04 2019-02-01 복수의 이동 로봇 및 그 제어방법 KR102100476B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
PCT/KR2019/005230 WO2019212240A1 (en) 2018-05-04 2019-04-30 A plurality of robot cleaner and a controlling method for the same
AU2019262468A AU2019262468B2 (en) 2018-05-04 2019-04-30 A plurality of robot cleaner and a controlling method for the same
CN201980045079.0A CN112367887B (zh) 2018-05-04 2019-04-30 多个机器人清洁器及其控制方法
EP19795819.2A EP3787458B1 (en) 2018-05-04 2019-04-30 A plurality of robot cleaners
US16/401,232 US11150668B2 (en) 2018-05-04 2019-05-02 Plurality of robot cleaner and a controlling method for the same
TW108115286A TWI733105B (zh) 2018-05-04 2019-05-02 複數個移動式機器人及其控制方法
US17/468,927 US11934200B2 (en) 2018-05-04 2021-09-08 Plurality of robot cleaner and a controlling method for the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180051964 2018-05-04
KR20180051964 2018-05-04

Publications (2)

Publication Number Publication Date
KR20190134969A true KR20190134969A (ko) 2019-12-05
KR102100476B1 KR102100476B1 (ko) 2020-05-26

Family

ID=69002386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190014051A KR102100476B1 (ko) 2018-05-04 2019-02-01 복수의 이동 로봇 및 그 제어방법

Country Status (6)

Country Link
US (1) US11934200B2 (ko)
EP (1) EP3787458B1 (ko)
KR (1) KR102100476B1 (ko)
CN (1) CN112367887B (ko)
AU (1) AU2019262468B2 (ko)
TW (1) TWI733105B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021125717A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 이동 로봇 및 그 제어방법
EP3847939A1 (en) * 2020-01-10 2021-07-14 Bissell Inc. Autonomous floor cleaner and method for autonomous floor cleaning
KR20220031589A (ko) * 2020-02-26 2022-03-11 엘지전자 주식회사 이동 로봇 및 복수의 이동 로봇의 제어방법
WO2022075614A1 (ko) * 2020-10-08 2022-04-14 엘지전자 주식회사 이동 로봇 시스템
WO2022181873A1 (ko) * 2020-10-23 2022-09-01 주식회사 쓰리엠탑 협업 멀티 로봇청소기 및 그것의 제어 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102262726B1 (ko) * 2019-11-29 2021-06-09 엘지전자 주식회사 로봇 청소기
TWI780468B (zh) 2020-08-13 2022-10-11 國立陽明交通大學 機器人對人員跟隨之控制方法與系統
KR102490754B1 (ko) * 2020-10-08 2023-01-20 엘지전자 주식회사 이동 로봇 시스템
KR102490755B1 (ko) * 2020-10-08 2023-01-25 엘지전자 주식회사 이동 로봇 시스템
KR102410529B1 (ko) * 2020-10-08 2022-06-20 엘지전자 주식회사 이동 로봇 시스템
CN113959038B (zh) * 2021-10-08 2023-02-03 中科智控(南京)环境科技有限公司 一种自清洁杀菌过滤系统
EP4345568A1 (en) * 2022-09-30 2024-04-03 HDHyundai Robotics Co., Ltd. Disinfection robot and method of controlling the same

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199965A (ja) * 2006-01-25 2007-08-09 Matsushita Electric Works Ltd 自律移動装置
US20080082210A1 (en) * 2006-09-29 2008-04-03 Electronics And Telecommunications Research Institute Management ship and working robots in waters based on wireless network and working robot control method thereof
US20090062974A1 (en) * 2007-09-03 2009-03-05 Junichi Tamamoto Autonomous Mobile Robot System
JP4351261B2 (ja) * 2007-02-02 2009-10-28 株式会社日立製作所 先導者追従車両
US20140121833A1 (en) * 2012-10-30 2014-05-01 Samsung Techwin Co., Ltd. Apparatus and method for planning path of robot, and the recording media storing the program for performing the method
KR101555589B1 (ko) * 2014-05-15 2015-09-24 엘지전자 주식회사 청소기의 제어방법
KR101758736B1 (ko) * 2011-02-07 2017-07-14 한화테크윈 주식회사 감시 경계 로봇 시스템 및 경계 로봇 시스템에서 이동 로봇의 주행 방법
WO2017212987A1 (ja) * 2016-06-06 2017-12-14 学校法人東京電機大学 群ロボットおよび群ロボットの集団移動制御方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100480931C (zh) * 2005-03-16 2009-04-22 日产自动车株式会社 前行车追踪控制装置
WO2008013568A2 (en) * 2005-12-30 2008-01-31 Irobot Corporation Autonomous mobile robot
TWI333178B (en) 2007-07-13 2010-11-11 Ind Tech Res Inst Method for coordinating cooperative robots
WO2009040777A2 (en) 2007-09-27 2009-04-02 Koninklijke Philips Electronics, N.V. Leader robot election in collaborative robot groups
JP4978494B2 (ja) * 2008-02-07 2012-07-18 トヨタ自動車株式会社 自律移動体、及びその制御方法
CN101554302B (zh) * 2008-04-11 2012-06-27 乐金电子(天津)电器有限公司 自动驱动吸尘器
KR101649645B1 (ko) * 2010-02-08 2016-08-22 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR101215395B1 (ko) * 2010-07-30 2012-12-26 경희대학교 산학협력단 동적 환경에서 분산 로봇의 경로 탐색 방법
US8510029B2 (en) * 2011-10-07 2013-08-13 Southwest Research Institute Waypoint splining for autonomous vehicle following
CN102915465B (zh) * 2012-10-24 2015-01-21 河海大学常州校区 一种基于移动生物刺激神经网络的多机器人联合编队方法
FR2999305B1 (fr) 2012-12-11 2021-11-12 Thales Sa Procede de pilotage d'un ensemble de robots et ensemble de robots
CN103076803B (zh) * 2012-12-13 2015-06-24 鼎力联合(北京)科技有限公司 一种车辆自动跟随系统、装置及方法
US8761989B1 (en) 2012-12-18 2014-06-24 Jervis B. Webb Company Method of material handling with automatic guided vehicles
EP2979599A4 (en) 2013-03-29 2016-12-07 Intellectual Discovery Co Ltd WINDOW CLEANING DEVICE AND CONTROL METHOD THEREFOR
CN104615132B (zh) * 2013-11-04 2017-10-20 原相科技股份有限公司 自主式移动载体以及自动跟随系统
JP6368964B2 (ja) * 2014-03-26 2018-08-08 ヤンマー株式会社 作業車両の制御装置
KR102527645B1 (ko) 2014-08-20 2023-05-03 삼성전자주식회사 청소 로봇 및 그 제어 방법
US9993129B2 (en) 2015-02-13 2018-06-12 Irobot Corporation Mobile floor-cleaning robot with floor-type detection
US10874274B2 (en) 2015-09-03 2020-12-29 Aktiebolaget Electrolux System of robotic cleaning devices
KR102521493B1 (ko) 2015-10-27 2023-04-14 삼성전자주식회사 청소 로봇 및 그 제어방법
CN105686766A (zh) 2016-04-14 2016-06-22 京东方科技集团股份有限公司 清洁机器人和清洁机器人工作方法
US9637310B1 (en) * 2016-08-02 2017-05-02 Amazon Technologies, Inc. Mobile robot group for moving an item
US10037029B1 (en) 2016-08-08 2018-07-31 X Development Llc Roadmap segmentation for robotic device coordination
EP3926126B1 (en) 2016-09-13 2024-01-17 Maytronics Ltd. Pool cleaning robot
WO2018058309A1 (zh) * 2016-09-27 2018-04-05 深圳市大疆创新科技有限公司 控制方法、控制装置、电子装置及飞行器控制系统
CH713152A2 (de) 2016-11-23 2018-05-31 Cleanfix Reinigungssysteme Ag Bodenbehandlungsmaschine und Verfahren zum Behandeln von Bodenflächen.
JP2020509500A (ja) 2017-03-02 2020-03-26 ロブアート ゲーエムベーハーROBART GmbH 自律移動ロボットの制御方法
US20180257231A1 (en) 2017-03-08 2018-09-13 Panasonic Corporation Mobile robot and method of tracking mobile robot
CN106853641B (zh) * 2017-03-22 2019-07-30 北京京东尚科信息技术有限公司 机器人控制方法和装置、机器人及控制系统
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
CN106997205B (zh) * 2017-04-27 2019-10-01 西南科技大学 一种用于移动机器人对目标定位和跟踪的系统及方法
EP3403772B1 (en) 2017-05-18 2022-11-16 KUKA Hungária Kft. Robot motion planning for avoiding collision with moving obstacles
US10156850B1 (en) 2017-12-08 2018-12-18 Uber Technologies, Inc. Object motion prediction and vehicle control systems and methods for autonomous vehicles
CN108008728B (zh) 2017-12-12 2020-01-17 深圳市银星智能科技股份有限公司 清洁机器人以及基于清洁机器人的最短路径规划方法
US10994418B2 (en) 2017-12-13 2021-05-04 X Development Llc Dynamically adjusting roadmaps for robots based on sensed environmental data
US11614746B2 (en) * 2018-01-05 2023-03-28 Irobot Corporation Mobile cleaning robot teaming and persistent mapping
CN108247647B (zh) 2018-01-24 2021-06-22 速感科技(北京)有限公司 一种清洁机器人
US10495474B2 (en) 2018-03-12 2019-12-03 Micron Technology, Inc. Re-routing autonomous vehicles using dynamic routing and memory management
WO2019212240A1 (en) * 2018-05-04 2019-11-07 Lg Electronics Inc. A plurality of robot cleaner and a controlling method for the same

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199965A (ja) * 2006-01-25 2007-08-09 Matsushita Electric Works Ltd 自律移動装置
US20080082210A1 (en) * 2006-09-29 2008-04-03 Electronics And Telecommunications Research Institute Management ship and working robots in waters based on wireless network and working robot control method thereof
JP4351261B2 (ja) * 2007-02-02 2009-10-28 株式会社日立製作所 先導者追従車両
US20090062974A1 (en) * 2007-09-03 2009-03-05 Junichi Tamamoto Autonomous Mobile Robot System
JP2009080804A (ja) * 2007-09-03 2009-04-16 Hitachi Industrial Equipment Systems Co Ltd 自律移動ロボットシステム
KR101758736B1 (ko) * 2011-02-07 2017-07-14 한화테크윈 주식회사 감시 경계 로봇 시스템 및 경계 로봇 시스템에서 이동 로봇의 주행 방법
US20140121833A1 (en) * 2012-10-30 2014-05-01 Samsung Techwin Co., Ltd. Apparatus and method for planning path of robot, and the recording media storing the program for performing the method
KR101555589B1 (ko) * 2014-05-15 2015-09-24 엘지전자 주식회사 청소기의 제어방법
WO2017212987A1 (ja) * 2016-06-06 2017-12-14 学校法人東京電機大学 群ロボットおよび群ロボットの集団移動制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021125717A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN114829085A (zh) * 2019-12-20 2022-07-29 Lg电子株式会社 移动机器人及其控制方法
CN114829085B (zh) * 2019-12-20 2023-11-14 Lg电子株式会社 移动机器人及其控制方法
EP3847939A1 (en) * 2020-01-10 2021-07-14 Bissell Inc. Autonomous floor cleaner and method for autonomous floor cleaning
US11966222B2 (en) 2020-01-10 2024-04-23 Bissell Inc. Autonomous floor cleaner and method for autonomous floor cleaning
KR20220031589A (ko) * 2020-02-26 2022-03-11 엘지전자 주식회사 이동 로봇 및 복수의 이동 로봇의 제어방법
WO2022075614A1 (ko) * 2020-10-08 2022-04-14 엘지전자 주식회사 이동 로봇 시스템
KR20220047000A (ko) * 2020-10-08 2022-04-15 엘지전자 주식회사 이동 로봇 시스템
WO2022181873A1 (ko) * 2020-10-23 2022-09-01 주식회사 쓰리엠탑 협업 멀티 로봇청소기 및 그것의 제어 방법

Also Published As

Publication number Publication date
TWI733105B (zh) 2021-07-11
EP3787458B1 (en) 2024-01-31
AU2019262468A1 (en) 2021-01-07
CN112367887A (zh) 2021-02-12
EP3787458A1 (en) 2021-03-10
CN112367887B (zh) 2022-11-25
AU2019262468B2 (en) 2022-10-13
EP3787458A4 (en) 2022-03-09
US11934200B2 (en) 2024-03-19
KR102100476B1 (ko) 2020-05-26
TW201947338A (zh) 2019-12-16
US20210405652A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
KR102252033B1 (ko) 이동 로봇 및 그 제어방법
KR102067603B1 (ko) 복수의 이동 로봇 및 그 제어방법
KR102100476B1 (ko) 복수의 이동 로봇 및 그 제어방법
US11148290B2 (en) Plurality of robot cleaner and a controlling method for the same
US11150668B2 (en) Plurality of robot cleaner and a controlling method for the same
KR102267690B1 (ko) 복수의 자율주행 이동 로봇
KR102204011B1 (ko) 복수의 자율주행 이동 로봇
KR102096564B1 (ko) 복수의 자율주행 청소기
KR102127931B1 (ko) 로봇 청소기 및 그것의 제어방법
KR102309303B1 (ko) 로봇 청소기 및 그 제어 방법
KR102179057B1 (ko) 복수의 자율주행 청소기
KR102100478B1 (ko) 복수의 자율주행 이동 로봇

Legal Events

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