KR102252034B1 - 이동 로봇 및 그 제어방법 - Google Patents

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

Info

Publication number
KR102252034B1
KR102252034B1 KR1020190014054A KR20190014054A KR102252034B1 KR 102252034 B1 KR102252034 B1 KR 102252034B1 KR 1020190014054 A KR1020190014054 A KR 1020190014054A KR 20190014054 A KR20190014054 A KR 20190014054A KR 102252034 B1 KR102252034 B1 KR 102252034B1
Authority
KR
South Korea
Prior art keywords
vacuum cleaner
trajectory
mobile robot
cleaner
followed
Prior art date
Application number
KR1020190014054A
Other languages
English (en)
Other versions
KR20200029970A (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 AU2019335977A priority Critical patent/AU2019335977B2/en
Priority to JP2021512768A priority patent/JP7259015B2/ja
Priority to PCT/KR2019/009045 priority patent/WO2020050494A1/en
Priority to EP19858121.7A priority patent/EP3846981A4/en
Priority to CN201980058387.7A priority patent/CN112654473B/zh
Priority to TW108128347A priority patent/TWI769391B/zh
Priority to US16/562,678 priority patent/US11409308B2/en
Publication of KR20200029970A publication Critical patent/KR20200029970A/ko
Application granted granted Critical
Publication of KR102252034B1 publication Critical patent/KR102252034B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • 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
    • 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/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • 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
    • 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
    • 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/2894Details related to signal transmission in suction cleaners
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of 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/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/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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/242Means based on the reflection of waves generated by the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/692Coordinated control of the position or course of two or more vehicles involving a plurality of disparate vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/695Coordinated control of the position or course of two or more vehicles for maintaining a fixed relative position of the vehicles, e.g. for convoy travelling or formation flight
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/698Control allocation
    • G05D1/6985Control allocation using a lead vehicle, e.g. primary-secondary arrangements
    • 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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/10Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/40Indoor domestic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/30Radio signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B40/00Technologies aiming at improving the efficiency of home appliances, e.g. induction cooking or efficient technologies for refrigerators, freezers or dish washers

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

본 발명의 실시 예에 따른 이동 로봇은, 본체를 이동시키는 주행부, 신호를 방출하는 타 이동 로봇과 통신하는 통신부, 신호를 이용하여 타 이동 로봇의 위치를 인식하고, 인식된 위치에 기반하여 타 이동 로봇의 이동에 대응되는 궤적을 추종하도록 상기 주행부를 제어하는 제어부를 포함한다. 또, 제어부는, 본체가 추종할 궤적의 거리가 정해진 범위를 벗어나는 것에 응답하여, 본체나 타 이동 로봇의 주행속도를 변경하는 제어명령을 출력하는 것을 특징으로 한다.

Description

이동 로봇 및 그 제어방법{A ROBOT CLEANER AND A CONTROLLING METHOD FOR THE SAME}
본 발명은 어느 하나가 다른 하나를 추종하며 자율주행하는 복수의 이동 로봇에 관한 것이다.
일반적으로 이동 로봇은 사용자의 조작 없이도 소정 구역을 스스로 주행하면서 자동으로 소정의 동작을 수행하는 기기이다. 이동 로봇은 구역 내에 설치된 장애물을 감지하여 장애물에 접근하거나 회피하여 동작을 수행한다.
이러한 이동 로봇은 영역을 주행하면서 청소를 수행하는 로봇 청소기가 포함될 수 있다.
로봇 청소기는, 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 청소기이다.
이와 같이 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 로봇 청소기가 개발됨에 따라, 복수의 로봇 청소기를 사용자의 조작 없이 어느 하나가 다른 하나를 추종하거나 또는 상호 협업하면서 청소시키기 위한 개발의 필요성이 대두되고 있다.
선행문헌 WO2017-036532호는 마스터(master) 로봇 청소 장치(이하, 마스터 로봇)가 적어도 하나의 슬레이브(slave) 로봇 청소 장치(이하, 슬레이브 로봇)를 제어하는 방법에 대하여 개시한다.
상기 선행문헌은, 마스터 로봇이 장애물 검출 장치를 이용하여 주위의 장애물을 검출하고, 장애물 검출 장치로부터 파생된 위치 데이터를 이용하여 슬레이브 로봇과 관련된 마스터 로봇의 위치를 결정하는 구성에 대하여 개시한다.
또한, 상기 선행문헌은 무선 근거리 네트워크(WLAN) 기술을 이용하는 서버를 통해 마스터 로봇과 슬레이브 로봇이 통신을 수행하는 구성에 대하여 개시한다.
상기 선행문헌에 따르면, 상기 선행문헌은 마스터 로봇이 슬레이브 로봇의 위치를 판단하는 것만 가능할 뿐, 슬레이브 로봇이 마스터 로봇의 위치를 판단하는 것은 불가능하다.
또한, 상기 선행문헌에 개시된 구성을 이용하여 슬레이브 로봇이 마스터 로봇의 위치를 결정(판단)하려면, 마스터 로봇이 서버를 통하여 슬레이브 로봇에게 마스터 로봇에서 판단된 슬레이브 로봇의 상대 위치 정보를 전송하여야 한다.
그러나, 상기 선행문헌에는, 마스터 로봇이 서버를 통하여 슬레이브 로봇에게 상대 위치 정보를 전송하는 구성에 대하여 개시하지 못한다.
더불어, 마스터 로봇이 상대 위치 정보를 전송한다고 가정하더라도, 마스터 로봇과 슬레이브 로봇은 서버를 통해 통신을 수행하므로, 마스터 로봇 또는 슬레이브 로봇이 서버와의 통신이 어려운 장소에 위치한 경우, 서버와의 통신이 끊길 수 있다.
이 경우, 슬레이브 로봇이 서버로부터 상대 위치 정보를 전송 받지 못하게 되므로, 슬레이브 로봇이 마스터 로봇의 위치를 파악할 수 없게 된다. 그에 에 따라, 복수의 로봇 청소기 간의 추종 또는 협업이 원활하게 이루어지지 않는 문제가 발생될 수 있다.
또한, 복수의 로봇 청소기 중 어느 하나가 다른 하나를 추종하며 협업 청소하는 경우에 있어서, 선두청소기와 추종청소기 간의 상대 위치가 얼마나 이격되어있는지를 기준으로 추종청소기의 추종 주행을 제어하게 되면, 선추청소기와 추종청소기가 주행방향이 달라지는 경우 또는 서로를 회피해야하는 예외적인 상황에서 추종 또는 협업이 원활하게 이루어지지 않는 문제가 발생할 수 있다. 또, 이와 같은 문제들은 사용자의 조작 없이 스스로 주행하면서 특정 기능(예, 공기조화기능 등)을 수행할 수 있는 복수의 이동 로봇 간에도 유사하게 발생한다.
이에, 본 발명의 일 목적은, 복수의 이동 로봇이 서버를 통하지 않고 서로 간섭이나 충돌이 없이 어느 하나가 다른 하나의 주행 경로를 추종할 수 있는 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇에서 어느 하나가 다른 하나를 추종하는 경우, 끊김이 없이 유연한 추종이 가능하도록 제어가 가능한 이동 로봇 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇의 추종시, 추종 이동 로봇이 실제 추종해야할 선두 이동 로봇의 궤적의 길이를 기준으로 추종 주행함으로써, 선두 이동 로봇과 추종 이동 로봇의 주행방향이 달라지거나 서로를 회피해야하는 예외 상황에서도 충돌이나 지연 없이 원할한 추종 제어가 이루어질 수 있는 이동 로봇 및 그것의 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇의 추종시, 추종청소기가 실제 추종해야할 궤적의 길이를 기준으로 선두 이동 로봇과 추종 이동 로봇의 주행을 제어하도록 구현한 이동 로봇 및 그것의 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇의 추종시, 추종 이동 로봇이 추종해야 할 궤적의 길이와 복수의 이동 로봇간의 실제 이격거리를 모두 고려하여 원활한 추종 제어를 수행할 수 있는 이동 로봇 및 그것의 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 추종 이동 로봇이 추종할 궤적의 길이가 짧으면 추종 이동 로봇의 이동속도를 감소시키거나 제자리에서 선두 이동 로봇의 궤적을 추종하게 하고, 추종 이동 로봇이 추종할 궤적의 길이가 길면 선두 이동 로봇의 이동속도를 감소시키거나 정지시킴으로써, 추종 이동 로봇이 선두 이동 로봇을 놓치지 않고 추종할 수 있는 이동 로봇 및 그것의 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇의 추종시, 추종 이동 로봇의 성능을 고려하여, 추종 이동 로봇이 추종할 궤적의 길이를 선두 이동 로봇 및 추종 이동 로봇 중 어느 하나에서 결정할 수 있도록 구현한 이동 로봇 및 그것의 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 이동 로봇의 추종시, 추종할 궤적의 길이에 따른 추종 이동 로봇과 선두 이동 로봇의 주행개시, 주행속도, 주행정지의 제어를 선두 이동 로봇 및 추종 이동 로봇 중 어느 하나에서 수행할 수 있는 이동 로봇 및 그것의 제어방법을 제공하는데 있다.
본 발명에서는, 복수의 이동 로봇이 신호를 서로 주고받아 상대 위치를 파악하고, 추종 이동 로봇이 추종해야할 선두 이동 로봇의 이동 궤적의 길이를 기준으로 복수의 이동 로봇의 주행속도를 제어함으로써, 끊김없고 유연한 추종 주행을 구현하였다.
이때, 추종 이동 로봇이 추종해야할 선두 이동 로봇의 이동 궤적의 거리가 정해진 범위를 벗어나면, 추종 이동 로봇 또는 선두 이동 로봇의 주행속도를 가변함으로써, 추종 이동 로봇이 선두 이동 로봇을 놓치지 않고 추종함으로써, 보다 시각적으로 안정된 추종 제어가 이루어진다.
여기에서, 추종 이동 로봇이 추종해야할 선두 이동 로봇의 이동 궤적의 길이가 정해진 범위를 벗어나는 경우란, 추종 이동 로봇이 추종할 궤적의 길이를 적정 범위로 유지시키기 위한 기준을 의미한다. 구체적으로, 추종해야할 이동 궤적의 거리가 최소 이격거리 이상을 만족하면서 최대 이격거리 이하를 만족하는 거리범위를 의미한다.
추종 이동 로봇은 정해진 범위를 벗어난 선두 이동 로봇의 이동 궤적은 추종하지 않는다. 즉, 무시되거나 삭제된다.
추종 이동 로봇은 추종해야할 이동 궤적의 거리가 최소 이격거리 이상을 만족하면서 최대 이격거리를 넘지 않는 동안 선두 이동 로봇의 이동 궤적을 따라 주행한다.
추종해야할 이동 궤적의 거리가 최소 이격거리 보다 좁혀지면, 추종 이동 로봇의 주행속도를 감속시키거나 또는 주행 정지시킨다. 또, 추종해야할 이동 궤적의 거리가 최대 이격거리를 초과하여 임계 정지거리에 도달하면 선두 이동 로봇의 주행을 정지시킨다.
이때, 추종 이동 로봇은 정해진 범위를 벗어난 이동 궤적은 추종하지 않으므로, 정해진 범위에 포함되는 이동 궤적 중에서 현재 위치에서 가장 가까운 궤적은 다음 위치로 추종한다. 선두 이동 로봇은 추종 이동 로봇이 추종해야할 궤적의 거리가 정해진 범위 이내로 좁혀진 경우, 구체적으로 최대 이격거리를 만족한 시점에서부터 또는 최소 이격거리를 만족하는 즉시 주행을 개시할 수 있다.
구체적으로, 본 발명의 일 실시 예에 따른 이동 로봇은, 본체를 이동시키는 주행부; 신호를 방출하는 타 이동 로봇과 통신하는 통신부; 상기 신호를 이용하여 타 이동 로봇의 위치를 인식하고, 상기 인식된 위치에 기반하여 상기 타 이동 로봇의 이동에 대응되는 궤적을 추종하도록 상기 주행부를 제어하는 제어부를 포함하고, 상기 제어부는, 본체가 추종할 궤적의 길이가 정해진 범위를 벗어나는 것에 응답하여 상기 본체나 상기 타 이동 로봇의 주행속도를 변경하는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 타 이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들의 위치와 상기 본체의 현재 위치에 근거하여 추종할 궤적의 길이를 결정하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 타 이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들의 위치를 감지하고, 복수의 지점들의 위치에 대응되는 정보를 정해진 거리 단위로 저장하고, 저장된 정보에 근거하여 상기 추종할 궤적의 길이가 정해진 범위를 벗어나는 것을 감지하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 추종할 궤적의 길이가 상기 정해진 범위를 유지하는 동안, 본체가 상기 저장된 정보에 대응되는 복수의 지점들을 순차적으로 추종하도록 제어하고, 상기 저장된 정보는 본체가 해당 지점으로 주행한 후에 삭제되는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 본체가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 상기 타 이동 로봇의 이동속도를 감소시키는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 본체가 추종할 궤적의 길이가 상기 정해진 범위를 초과하여 임계 정지거리에 도달한 것에 응답하여, 상기 타 이동 로봇의 주행을 정지시키는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 본체가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 상기 본체의 주행을 정지시키는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 인식된 위치를 이용하여 상기 본체와 상기 타 이동 로봇 간의 이격거리를 모니터링하고, 본체가 추종할 궤적의 길이가 상기 정해진 범위를 유지하는 동안 상기 본체와 상기 타 이동 로봇 간의 이격거리가 정해진 범위 미만으로 감소된 것에 응답하여, 상기 타 이동 로봇의 이동속도를 감소시키는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 본체가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 상기 정해진 범위 내의 궤적을 형성하는 복수의 지점들 중 본체의 현재 위치에 가까운 지점을 추종하도록 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 본체가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 본체의 현재 위치에서 상기 타 이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들을 추종하기 위한 모션을 수행하도록 제어하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 모션을 수행하는 동안, 본체가 추종할 궤적의 길이가 상기 정해진 범위 이내로 증가되면, 상기 모션을 종료하고 상기 복수의 지점들 중 본체의 현재 위치에서 가까운 지점을 추종하도록 본체의 주행을 제어하는 것을 특징으로 한다.
또, 본 발명의 실시 예에 따른 복수의 이동 로봇은, 제1이동 로봇과 제2이동 로봇을 포함하는 복수의 이동 로봇으로서, 상기 제1이동 로봇은, 신호를 방출하는 상기 제2이동 로봇과 통신하여 상기 제2청소기의 위치를 인식하고, 인식된 위치에 기반하여 상기 제2이동 로봇이 상기 제1이동 로봇의 이동에 대응되는 궤적을 추종하도록 제어하고, 상기 제2이동 로봇은, 신호를 방출하는 제1이동 로봇과 통신하여 상기 제1이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들을 감지하며, 상기 감지된 복수의 지점들을 순차적으로 추종하고, 상기 제1이동 로봇은, 상기 제2이동 로봇이 추종할 궤적의 길이가 정해진 범위를 벗어나는 것이 감지되면, 상기 제1이동 로봇이나 상기 제2이동 로봇의 이동속도를 변경시키는 제어명령을 출력하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제1이동 로봇은, 상기 제1이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들의 위치와 상기 제2이동 로봇의 상대 위치에 기반하여 상기 제2이동 로봇이 추종할 궤적의 길이를 결정하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제2이동 로봇은, 상기 감지된 복수의 지점들의 위치에 대응되는 정보를 정해진 거리 단위로 저장하고, 상기 제1이동 로봇은, 상기 제2이동 로봇에 저장된 정보에 근거하여 상기 추종할 궤적의 길이가 정해진 범위를 벗어나는 것을 감지하고, 상기 제2 이동 로봇은, 추종할 궤적의 길이가 정해진 범위를 만족하는 동안 상기 저장된 정보에 대응되는 복수의 지점들을 순차적으로 주행하고, 주행한 지점에 대응되는 정보는 삭제하는 것을 특징으로 한다.
또, 본 발명의 일 실시 예에 따른 이동 로봇의 제어방법은, 이동 로봇 본체가 신호를 방출하는 타 이동 로봇과 통신하여, 상기 이동 로봇의 상대 위치를 인식하는 단계; 상기 인식된 상대 위치를 기초로 상기 타 이동 로봇의 이동에 대응되는 궤적을 추종하도록 본체의 주행을 제어하는 단계; 본체가 추종할 타 이동 로봇의 궤적의 길이가 정해진 범위를 벗어나는 것을 감지하는 단계; 및 상기 감지에 응답하여, 상기 본체나 상기 타 이동 로봇의 이동속도를 변경하는 제어명령을 출력하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어명령을 출력하는 단계는, 본체가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 상기 타 이동 로봇의 이동속도를 감소시키는 제어명령을 출력하는 단계를 포함하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어명령을 출력하는 단계는, 본체가 추종할 궤적의 길이가 상기 정해진 범위를 초과하여 임계 정지거리에 도달한 것이 감지되면, 상기 타 이동 로봇의 주행을 정지시키는 제어명령을 출력하는 단계를 포함하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어명령을 출력하는 단계는, 본체가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 본체의 주행을 정지시키는 제어명령을 출력하는 단계를 포함하는 것을 특징으로 한다.
이상에서 살펴본 바와 같이, 본 발명의 실시 예에 따른 이동 로봇 및 그것의 제어방법에 의하면, 서버를 통하지 않고도 추종청소기가 선두청소기를 끊김없이 유연하게 추종하면서 청소를 수행할 수 있다.
또한, 복수의 로봇 청소기의 추종시, 추종청소기가 실제로 추종해야할 궤적의 길이를 기준으로 추종청소기의 추종 주행을 제어함으로써, 선두 청소기와 추종청소기의 주행방향이 달라지거나 서로를 회피해야하는 예외 상황에서도 충돌이나 지연 없이 원할한 추종 제어가 이루어질 수 있다.
또한, 복수의 로봇 청소기의 추종시, 추종청소기가 실제 추종해야할 궤적의 길이와 복수의 로봇 청소기 사이의 이격거리를 모두 고려하여 선두청소기와 추종청소기의 주행을 제어할 수 있다.
또한, 추종청소기가 추종해야할 궤적의 길이가 짧아지면 추종청소기의 이동속도를 감소시키거나 제자리에서 선두청소기의 궤적을 추종하게 하고, 추종청소기가 추종할 궤적의 길이가 길어지면 선두청소기의 이동속도를 감소시키거나 정지시킴으로써, 추종청소기가 선두청소기를 놓치지 않고 추종하면서 시각적으로 안정된 추종 제어가 이루어진다.
도 1은 본 발명에 따른 이동 로봇의 일 예를 보인 사시도이다.
도 2는 도 1에 도시된 이동 로봇의 평면도이다.
도 3은 도 1에 도시된 이동 로봇의 측면도이다.
도 4는 본 발명의 일 실시예에 따른 이동 로봇의 예시 구성요소를 나타내는 블록도이다.
도 5a는 본 발명의 일 실시예에 따른 복수의 이동 로봇간의 네트워크 통신을 도시한 개념도이고, 도 5b는 도 5a의 네트워크 통신의 일 예를 도시한 개념도이다.
도 5c는 본 발명의 일 실시예에 따른 복수의 이동 로봇간의 추종 제어를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 복수의 이동 로봇이 서로의 상대 위치를 결정하는 방법을 설명하기 위한 도면이다.
도 7a, 도 7b는 본 발명의 일 실시예에 따른 복수의 이동 로봇에서, 제1청소기가 이동한 궤적의 거리를 기반으로 하는 제2청소기의 추종 제어를 설명하기 위한 도면들이다.
도 8은 본 발명의 일 실시예에 따른 이동 로봇의 제어방법의 설명하기 위한 대표 흐름도이다.
도 9a, 도 9b는 본 발명의 일 실시예에 따른 제1청소기의 이동에 대응되는 궤적을 제2청소기가 추종하여 주행하는 시점과 관련된 예시들을 설명하기 위한 도면들이다.
도 9c는 본 발명의 일 실시예에 따른 이동 로봇의 이동에 대응되는 궤적을 제자리에서 추종하는 모션을 수행하는 다른 청소기의 예시 동작을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 따른 복수의 이동 로봇에서, 제2청소기가 추종할 궤적의 길이 변화에 대응되는 제1 및 제2청소기의 동작들을 설명하기 위한 예시 흐름도이다.
도 11a, 도 11b, 도 11c, 도 11d, 도 11e, 도 11f, 도 11g, 도 11h, 도 11i는, 도 10과 관련하여 본 발명의 일 실시예에 따른 복수의 이동 로봇이 추종할 궤적의 길이에 기초하여 주행하는 동작들을 구체적으로 설명하기 위한 예시 개념도들이다.
도 12a, 도 12b, 도 12c는 본 발명의 변형 실시 예에 따라, 이동 로봇과 다른 이동 디바이스 간의 추종 등록과 추종 제어를 설명하기 위한 개념도들이다.
이하, 본 발명에 관련된 이동 로봇에 대하여 도면을 참조하여 보다 상세하게 설명한다.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
먼저, 본 발명에 개시된 "이동 로봇"은, 자율주행이 가능한 '(특정기능)용 로봇', '로봇 청소기', '청소용 로봇', '자율주행 청소기'와 동일한 의미로 사용될 수 있으며, 혼용될 수 있음을 미리 밝혀둔다.
또, 본 발명에 개시된 "복수의 이동 로봇"은 "복수의 로봇 청소기" 또는 "복수의 청소기"로 사용될 수 있다. 또, "제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)를 계속 추종하며 청소를 수행할 수 있다.
또한, 본 발명에서는 제1청소기(100a)의 후방과 전방에 각각 수신용 센서를 두어, 제1청소기(100a)의 제어부가 제2청소기(100b)로부터 수신되는 광 신호의 수신방향을 전방과 후방으로 구별하여 인식할 수 있다. 이를 위해, 제1청소기(100a)의 후방에는 UWB 모듈이 구비되고 전방에는 UWB 모듈 또는 다수의 광 센서가 이격 배치될 수 있다. 또는, 제1청소기(100a)에 단일의 UWB 모듈이 구비되고 전후방/좌우측 각각에 복수의 안테나가 이격되게 배치될 수 있다. 제1청소기(100a)는 제2청소기(100b)로부터 수신되는 광 신호의 수신방향을 인식하여, 제2청소기(100b)가 제1청소기(100a)의 후방에서 따라오고 있는지 또는 역전되어 전방에 위치하고 있는지를 판단할 수 있다.
도 6은 제1청소기(100a)와 제2청소기(100b)가 서로의 상대 위치를 인식하기 위한 방법의 예시를 보여주고 있다. 제1청소기(100a)와 제2청소기(100b)는 각각 광 신호를 발신하고 수신하여, 서로의 상대 위치를 인식할 수 있다. 여기에서, 상기 신호는, 예를 들어 초광대역 신호(Ultra Wide Band(UWB) 신호), 적외선 신호, 레이저 신호, 초음파 신호 이외에, 지그비(Zigbee), 지-웨이브(Z-wave), 블루투스(Blue-Tooth) 등의 무선통신기술을 사용하는 무선신호들 중 어느 하나일 수 있다.
도 6를 참조하면, 제1 청소기(100a)와 제2 청소기(100b)의 상대위치를 파악하기 위해, 발신용 센서(예, UWB 센서, 적외선 센서)와 수신용 광센서(예, UWB 센서, 적외선 센서)를 포함할 수 있다. 일 예로, 상기 발신용 광 센서는 1개일 수 있고, 상기 수신용 광 센서는 3개일 수 있겠으나, 이러한 개수에 한정되지 않는다.
일 예로, 도 6a에 도시된 바와 같이, 제2청소기(100b)에 구비된 센서(600b)는 복수 개 일 수 있다. 예를 들어, 상기 센서(600b)는, 제1 적외선 센서(610b-1), 제2 적외선 센서(610b-2) 및 제3 적외선 센서(610-b)를 포함할 수 있으며, 상기 제1 내지 제3 적외선 센서(610b-1, 610b-2, 610b-3)는, 제2 청소기(100b) 본체의 외주면에 장착될 수 있으며, 서로 다른 위치에 배치될 수 있다.
이 경우, 상기 제1 내지 제3 적외선 센서(610b-1, 610b-2, 610b-3)는, 제2 청소기(100b) 본체의 외주면에서 서로 이격되어 배치될 수 있다. 한편, 제2 청소기(100b)는, 제1 청소기(100a)에 구비된 센서(600a)로부터 출력되는 신호를 센서(600b)를 통해 수신할 수 있다. 또, 제2 청소기(100b)는 센서(600b)로부터 방출되는 신호를 제1 청소기(100a)에 전송할 수도 있고, 제1 청소기(100a)의 센서(600a)는 이러한 신호를 수신할 수 있다.
예를 들어, 제2 청소기(100b)의 제어부(1800)는, 센서(600b)에 포함된 수신용 제1 내지 제3 센서들(610b-1, 610b-2, 610b-3)에서 각각 수신된 신호의 세기를 측정할 수 있다.
제2 청소기(100b)의 제어부는, 센서들(610b-1, 610b-2, 610b-3)에서 측정된 신호의 세기에 근거하여, 삼각측량 방식을 적용할 수 있다.
신호의 세기를 이용한 삼각측량 방식에 대하여 간단히 설명하면, 제2 청소기(100b)의 제어부는, 센서(610b-1)로 수신된 레이저 광의 세기에 근거하여, 센서(610b-1)를 기준으로 한 제1 거리(D1)를 산출할 수 있다.
이 때, 상기 제1 거리(D1)은 레이저 광의 세기와 스케일의 곱에 의해 결정되며, 스케일은 실험을 통해 결정될 수 있다. 예를 들어, 상기 반경은 레이저 광의 세기가 클수록 짧아질 수 있다. 즉, 상기 반경과 레이저 광의 세기는 반비례할 수 있다.
마찬가지로, 제2 청소기(100b)의 제어부는, 센서(610b-2)로 수신된 신호의 세기에 근거하여, 센서(610b-2)를 기준으로 한 제2 거리(D2)를 산출할 수 있다.
또한, 제2 청소기(100b)의 제어부는, 센서(610b-3)로 수신된 신호의 세기에 근거하여, 센서(610b-3)를 기준으로 한 제3 거리(D3)를 산출할 수 있다.
또 다른 예로, UWB 모듈(또는 UWB 센서)을 이용하여 제1 청소기(100a)와 제2 청소기(100b)가 서로의 상대위치를 할 파악하는 방법을 기술하면 다음과 같다.
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)-29로 명명될 수 있다.
또한, 제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 청소기와 제2 청소기 간의 이격거리를 파악할 수 있다.
구체적으로, 예를 들어, 복수의 청소기(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)는 주행모드에 따라 정해진 패턴으로 회전하는 방식으로 주행하거나 지그재그 방식으로 주행을 수행하며 청소를 수행할 수 있다. 또, 제1청소기(100a)는 청소공간의 형상, 장애물 존재, 바닥의 지형 특성 등에 따라 주행방향을 변경하면서 주행한다.
이에, 제2청소기(100b)가 제1청소기(100a)를 동일한 이동속도로 추종하더라도, 제1청소기(100a)의 주행에 따라 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 증가 또는 감소될 수 있다. 또는, 제2청소기(100b)의 추종 주행시 청소공간의 형상, 장애물 존재, 바닥의 지형 특성 등에 따라 제1청소기(100a)와의 이격거리가 증가될 수 있다.
경우에 따라서는, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리는 점차적으로 감소되는 반면, 제2청소기(100b)가 실제 추종해야할 거리는 더욱 증가하는 경우가 발생할 수 있다.
이러한 경우, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리를 기준으로 제2청소기(100b)의 추종 제어를 수행하게 되면, 제2청소기(100b)가 실제 추종해야할 거리는 더욱더 벌어지게 되는 경우가 발생할 수 있다.
이는 사용자로 하여금 추종/협업 제어의 시각적 안정감을 떨어뜨리고, 경우에 따라서는, 추종의 끊김 방지를 위해 제1청소기(100a)가 주행을 중단하고 제2청소기(100b)를 기다리게 됨에 따라 청소 시간의 지연이 발생할 수 있다.
이에, 본 발명에서는 제1청소기(100a)와 제2청소기(100b)가 서로의 상대 위치를 파악할 수 있는 범위 내에서, 제1청소기(100a)가 실제로 이동한 궤적의 길이를 기준으로 제2청소기(100b)를 추종 제어하는 방법을 구현하였다.
본 명세서에서, 제1청소기(100a)가 이동한 궤적은 제1청소기(100a)을 통해 제2청소기(100b)로 전달되는 방식으로 파악될 수 있다. 또는, 제2청소기(100b)에 구비된 센서를 통해 제1청소기(100a)가 이동한 궤적을 순차적으로 센싱하는 방식으로 파악될 수 있다.
여기에서, 상기 궤적은, 선두청소기인 제1청소기(100a)가 청소를 수행하며 주행하는 동안 연속적으로 지나간 복수의 위치에 대응되는 복수의 지점들을 연결한 경로를 의미한다. 또, 궤적의 위치는, 궤적을 형성하는 복수의 지점들, 복수의 지점들의 위치, 복수의 지점들의 위치에 대응되는 좌표를 의미하는 것으로 정의될 수 있다.
이하, 도 7a, 도 7b를 참조하여, 제1청소기가 이동한 궤적의 거리를 기반으로 제2청소기를 추종 제어하는 개념을 구체적으로 설명하겠다.
먼저 도 7a를 참조하면, 선두청소기인 제1청소기(100a)는, 기 설정된 알고리즘(예, 청소 알고리즘, 주행 알고리즘)에 따라 주행 가능한 공간을 이동하면서 청소를 수행할 수 있다.
그리고, 제1청소기(100a)는, 제1청소기(100a)가 지나온 복수의 지점들의 위치, 즉 궤적의 위치를, 제2청소기(100b)가 순서대로 추종하도록 제어할 수 있다. 또는, 제2청소기(100b), 제1청소기(100a)가 지나온 궤적의 위치를 순서대로, 스스로 추종할 수 있다.
이를 위해, 제1청소기(100a)는 자신이 지나온 궤적의 위치에 대응되는 좌표 정보를 제2청소기(100b)에 순차적으로 전달할 수 있다. 또는, 제2청소기(100b)는 전방에 구비된 센서, 예를 들어 UWB 센서 및 안테나를 통해 제1청소기(100a)의 이동에 대응되는 궤적의 위치를 순차적으로 파악할 수 있다.
추종청소기인 제2청소기(100b)는, 제1청소기(100a)가 지나온 복수의 지점들의 위치, 즉 궤적의 위치를 순차적으로 주행한다.
이를 위해, 제2청소기(100b)는 제1청소기(100a)로부터 궤적의 위치에 대응되는 좌표 정보를 수신하고, 수신된 좌표 정보에 대응되는 위치로 이동할 수 있다. 또는, 제2청소기(100b)는 전방에 구비된 센서, 예를 들어 UWB 센서 및 안테나를 통해 제1청소기(100a)의 이동에 대응되는 궤적의 위치를 순차적으로 저장하고, 제2청소기(100b)의 현재 위치에서 가까운 위치부터 순차적으로 추종할 수 있다.
이때, 제1청소기(100a)는, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 벗어나지 않도록 제1청소기(100a) 또는 제2청소기(100b)의 주행을 제어한다.
여기에서, 제2청소기(100b)가 추종할 궤적의 길이는, 제2청소기(100b)가 현재 위치로부터 제1청소기(100a)의 현재 위치(목표지점)까지 제1청소기(100a)의 궤적을 따라 주행하기 위해 남은 주행 경로의 길이를 의미한다.
따라서, 제2청소기(100b)가 추종할 궤적의 길이는 제1청소기(100a)와 제2청소기(100b) 사이의 이격거리와는 다른 개념이라고 말할 수 있다.
다만, 제1청소기(100a)는, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 벗어나지 않는 동안에도, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 너무 멀거나 너무 가깝지 않도록 주행속도를 제어해야할 것이다.
제2청소기(100b)가 추종할 궤적의 길이는, 제2청소기(100b)의 현재 위치, 제1청소기(100a)의 지난 궤적의 위치, 제1청소기(100a)의 현재 위치를 연결한 선의 길이이다. 제1청소기(100a)와 제2청소기(100b)는 광 신호를 주고받음으로써, 서로의 상대 위치를 인식할 수 있으므로, 제2청소기(100b)의 현재 위치와 제1청소기(100a)의 현재 위치는 쉽게 파악될 수 있다.
제1청소기(100a)가 지나온 궤적의 위치는, 일정 시간 간격마다 또는 제1청소기(100a)의 일정 주행 간격마다 제1청소기(100a)로부터 제2청소기(100b)로 전송됨으로써, 파악될 수 있다.
또는, 전술한 바와 같이, 제2청소기(100b)의 전방에 구비된 센서, 예를 들어 UWB 센서 및 안테나를 통해 전방에 위치한 제1청소기(100a)의 이동에 대응되는 궤적의 위치를 일정 거리 단위로 파악할 수 있다. 이러한 경우, 제2청소기(100b)는 제1청소기(100a)의 궤적을 파악하기 위해 제1청소기(100a)의 주행방향에 대응되도록 회전을 수행할 수 있다.
제1청소기(100a)의 지나온 궤적을 형성하는 지점들의 위치는 복수 개일 수 있고, 제2청소기(100b)는 복수의 지점들의 위치에 대응되는 정보를 메모리 등에 저장할 수 있다. 제1청소기(100a)의 제어에 따라, 제2청소기(100b)는 저장된 정보에 대응되는 복수의 지점들의 위치를 하나씩 추종하며 이동한다.
제1청소기(100a)가 장애물 등을 피하기 위해 곡선 주행하는 경우 또는 주행모드에 따라 소정 각도 회전하며 주행하는 경우, 제2청소기(100b)가 추종할 궤적의 길이는 제1청소기(100a)와 제2청소기(100b)의 실제 이격거리 보다 길어질 수 있다.
다만, 제2청소기(100b)가 추종할 궤적이 오직 직진주행인 경우, 예를 들어, 도 7a과 같이 제1청소기(100a)와 제2청소기(100b)의 이격거리(DR)와 제2청소기(100b)가 추종해야할 궤적(도시된 검은점들을 연결한 곡선)의 길이는 동일할 수 있다.
따라서, 제2청소기(100b)가 추종할 궤적의 길이는 제1청소기(100a)와 제2청소기(100b) 사이의 이격거리와 동일하거나 그 이상이라고 말할 수 있다.
또, 상기 정해진 추종거리범위(이하, '상기 정해진 범위'로 명명될 수 있음)는 제2청소기(100b)가 추종할 궤적의 길이를 적정 범위로 유지시키기 위한 기준을 의미한다.
제2청소기(100b)가 추종할 궤적의 길이를 적정 범위로 유지하는 이유는, 제1청소기(100a)가 갑자기 주행을 정지하거나 또는 주행방향을 변경하는 경우 등과 같은 제어측면과 제2청소기(100b)의 추종의 시각적인 측면 모두에서 안정감을 만족시키기 위함이다.
도 7a에서, 정해진 추종거리범위(D4)는 최소 이격거리(D1) 이상을 만족하면서 최대 이격거리(D2) 이하를 만족하는 거리범위일 수 있다.
제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위(D4)를 유지하는 동안, 제2청소기(100b)는 제1청소기(100a)가 지난 궤적(도시된 검은점들)의 위치를 순서대로 추종하도록 제어된다. 이때, 정해진 추종거리범위(D4)를 벗어난 궤적(도시된 흰색점들)은 무시되거나 삭제될 수 있다. 이는, 제2청소기(100b)가 제1청소기(100a)의 현재 위치를 목표 궤적으로 주행하기 위함이다.
제2청소기(100b)가 추종해야할 궤적의 길이가 최소 이격거리(D1) 이상이 된 시점부터 제2청소기(100b)가 제1청소기(100a)의 궤적을 하나씩 추종한다.
제2청소기(100b)가 궤적을 추종하며 이동하는 동안 제1청소기(100a)도 청소를 수행하며 계속 이동하므로, 추가 궤적이 발생한다. 따라서, 제2청소기(100b)가 추종해야할 궤적의 길이는 계속 가변된다.
제2청소기(100b)의 궤적의 추종은, 추종해야할 궤적의 길이가 최소 이격거리(D1) 이상을 만족하면서 최대 이격거리(D2)를 넘지 않을 때까지 계속 수행된다.
제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위(D4)를 벗어나는 경우란, 크게 정해진 추종거리범위(D4) 미만인 경우로 좁혀진 경우 또는 정해진 추종거리범위(D4)를 초과하도록 멀어진 경우가 있을 수 있다.
제1청소기(100a)의 제어부는 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위(D4)를 벗어나는지를 지속적으로 모니터링할 수 있다. 또, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위(D4)를 벗어나는 경우 정해진 추종거리범위(D4)를 만족하도록 제1청소기(100a) 및/또는 제2청소기(100b)의 주행을 제어할 수 있다.
일 실시 예에서, 제2 청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위(D4) 미만인 경우, 예를 들어 도 7a에서 제1이격거리범위(D1) 이내를 만족하는 경우, 제1청소기(100a)의 제어부는 제2청소기(100b)를 감속 주행시키는 제어명령을 전송하거나 또는 정지명령을 전송할 수 있다.
그에 따라, 제1청소기(100a)는 제2청소기(100b)가 추종할 궤적의 길이가 다시 정해진 추종거리범위(D4) 이내를 유지하도록 제어할 수 있다.
또, 일 실시 예에서 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위(D2)를 초과하도록 멀어진 경우, 예를 들어 도 7a에서 제2이격거리범위(D2)를 만족하는 경우, 제1청소기(100a)의 제어부는 제1청소기(100a)를 감속 주행시켜서, 제2 청소기(100b)가 추종할 궤적의 길이가 다시 상기 정해진 추종거리범위(D4) 이내를 유지하도록 제어할 수 있다.
한편, 제1청소기(100a)의 감속 주행에도 불구하고 제2청소기(100b)가 추종할 궤적의 길이가 더 증가하여 임계 정지거리(D3)에 도달하게 되면, 제1청소기(100a)의 제어부는 제1청소기(100a)의 주행을 정지시킬 수 있다.
그리고, 제2청소기(100b)는 제1청소기(100a)의 현재 위치를 목표로 하여, 제1청소기(100a)의 궤적의 위치를 하나씩 추종하며 주행할 수 있다. 또는, 제2청소기(100b)는 자신의 위치에서 제1청소기(100a)의 현재 위치로 바로 이동할 수 있다.
도 7b는 제1청소기(100a)와 제2청소기(100b) 간의 이격거리와 제2청소기(100b)가 추종할 궤적의 길이가 같은 경우이다. 예를 들어, 제1청소기(100a)와 제2청소기(100b)가 서로의 상대 위치를 파악할 수 있는 범위 내에서, 같은 방향으로 주행하는 경우를 설명하기 위한 것이다.
이러한 경우에는, 제1청소기(100a)의 제어부는 제1청소기(100a)와 제2청소기(100b)의 이격거리가 정해진 추종거리범위 이내를 유지하도록 제1청소기(100a) 및/또는 제2청소기(100b)의 주행을 제어할 수 있다.
또는, 제2청소기(100b)의 제어부가 제1청소기(100a)의 이동에 대응되는 궤적을 센싱한 다음, 제1청소기(100a)의 신호에 따라 센싱된 제1청소기(100a)의 이동 궤적의 위치를 차례대로 추종하도록 주행을 제어할 수 있다.
이때, 제2청소기(100b)의 제어부는, 제1청소기(100a)와 제2청소기(100b)의 이격거리가 정해진 추종거리범위 이내를 유지하도록, 제1청소기(100a) 및/또는 제2청소기(100b)의 주행을 제어할 수 있다. 예를 들어, 제1청소기(100a)의 주행속도를 감소시키는 제어명령을 출력하거나, 제1청소기(100a) 또는 제2청소기(100b)의 주행을 정지시키는 제어명령을 출력할 수 있다.
제2청소기(100b)는 서로 다른 지점들(P1 내지 P5) 중 어느 하나에 위치할 수 있고, 제2청소기(100b)는 중심에 위치한 제1청소기(100a)를 목표 궤적으로 추종 제어된다.
도시된 복수의 원들(701 내지 704)의 각 반경은 도 7a를 참조하여 설명한 '정해진 추종거리범위'와 연관된다. 예를 들어, 제1원(701)의 반경은 정해진 추종거리범위 이하 또는 미만일 수 있다. 제2원(702)의 반경은 정해진 추종거리범위를 만족하는 범위일 수 있다. 제3원(703)의 반경은 정해진 추종거리범위 이상 또는 초과를 나타내며. 제4원(704)의 반경은 임계 정지거리에 대응될 수 있다.
제2청소기(100b)가 제1원(701) 내에 위치(P1)한 경우, 제1청소기(100a)의 제어부는 제2청소기(100b)에 주행정지명령을 전송할 수 있다. 또는, 제2청소기(100b)의 제어부는, 스스로 주행을 정지하고, 이에 대응되는 신호를 제1청소기(100a)로 전송해줄 수 있다.
제2청소기(100b)가 정지 상태인 동안, 제1청소기(100a)의 이동에 대응되는 궤적은 제1청소기(100a)나 제2청소기(100b)에 저장되고, 이후 정해진 추종거리범위를 만족한 경우에, 제2청소기(100b)에 의해 하나씩 추종될 수 있다.
제2청소기(100b)가 제1원(701)과 제2원(702) 사이에 위치(P2)하거나 또는 제2원(702)과 제3원(703) 사이에 위치(P3)한 경우, 정해진 추종거리범위 이내를 만족하므로, 제2청소기(100b)가 제1청소기(100a)의 궤적을 하나씩 추종하도록 제어된다. 이때, 제2청소기(100b)는 상기 정해진 추종거리범위 이내에 존재하는 궤적들 중에서 제2청소기(100b)의 현재 위치에서 가장 가까운 궤적의 위치를 먼저 추종한다.
제2청소기(100b)가 제3원(703)과 제4원(704) 사이에 위치(P4)한 경우, 제1청소기(100a)의 제어부는 제1청소기(100a)가 감속 주행하도록 제어한다. 그리고, 제2청소기(100b)가 제4원(704)의 반경에 위치하거나 제4원(704)의 반경을 초과하면, 제1청소기(100a)의 제어부는 제1청소기(100a)를 주행 정지시킴으로써, 끊김 없는 추종이 이루어지도록 제어한다.
이와 같이, 본 발명에서는 제1청소기(100a)와 제2청소기(100b)가 서로의 상대 위치를 파악할 수 있는 범위 내에서, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 범위의 추종거리를 유지하면서 제1청소기(100a)의 궤적을 추종한다.
그리고, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 범위를 벗어나면 제1청소기(100a) 또는 제2청소기(100b)가, 제1청소기(100a) 및/또는 제2청소기(100b)의 이동속도를 가변시킴(정지명령을 포함)으로써, 추종의 제어측면과 시각적인 측면의 안정감이 모두 만족된다.
이하, 도 8을 참조하여, 이격거리가 아닌 추종할 궤적의 거리를 기초로 추종 제어를 수행하는 이동 로봇의 제어방법의 동작 과정을 구체적으로 설명하겠다.
여기에서, 제1청소기(100a)는 '타 이동 로봇', '선두 청소기, '선두 이동 로봇' 의 의미로 사용되었다. 또, 제2청소기(100b)는 '본체', '추종 청소기', '추종 이동 로봇'의 의미로 사용되었다. 또, 복수의 청소기(100a, 100b)는 복수의 이동 로봇 또는 복수의 로봇과 동일한 의미로 사용되었다.
도 8에서, 먼저 제1청소기(100a)가 신호(예, UWB 신호)를 방출하는 다른 청소기, 즉 제2청소기(100b)와 예를 들어 UWB 통신을 수행하여서, 제2청소기(100b)의 상대 위치를 인식할 수 있다. 또, 제2청소기(100b)는 신호(UWB 신호)를 방출하는 제1청소기(100a)와 통신하여 제1청소기(100a)의 상대 위치를 인식할 수 있다(S10).
이를 위해, 제1청소기(100a)와 제2청소기(100b)는 각각의 청소기의 측면 외주면에 배치되거나 본체에 내장된 IR 센서, 초음파 센서, 또는 UWB 센서 등을 통해 서로 신호를 주고받아 분석함으로써, 서로의 방향 및 거리를 파악할 수 있다.
예를 들어, 제1청소기(100a)는 상기와 같은 센서를 통해 제1신호를 방출하고, 제2청소기(100b)로부터 수신되는 제2신호를 수신함으로써 제2청소기(100b)의 상대 위치를 인식할 수 있다.
또, 예를 들어, 제2청소기(100b)는 상기와 같은 센서를 통해, 제1청소기(100a)로부터 수신되는 제1신호를 수신함으로써, 제1청소기(100a)의 상대 위치를 인식할 수 있다.
제2청소기(100b)를 기준으로, 제1청소기(100a)는 제1신호로, UWB 신호를 송출하는 'UWB 앵커'로 동작하고, 제2청소기(100b)는 제1청소기(100a)의 UWB 신호를 수신하는 'UWB 태그'로 동작한다고 말할 수 있다.
복수의 청소기(100a, 100b) 각각에는 하나의 UWB 센서를 구비하거나 또는 제1청소기(100a)에는 단일의 UWB 센서를 구비하고 이를 추종하는 제2청소기(100b)에는 적어도 두 개의 UWB 센서를 장착하거나 또는, 각각 단일의 UWB 센서와 복수의 안테나를 구비함으로써, 적어도 제1청소기(100a)는 서로 다른 두 시점(t1, t2)에 수신되는 광 신호를 통해, 제1청소기(100a)로부터 제2청소기(100b) 까지의 이격거리를 산출할 수 있다.
또는, 복수의 청소기(100a, 100b) 각각에 구비된 안테나의 위치와 신호 수신 방향의 각도를 근거로 서로의 상대 위치를 파악할 수 있다. 이를 위해, 복수의 청소기(100a, 100b) 각각에는 하나 이상의 수신용 안테나를 구비할 수 있다.
예를 들어, 제1청소기(100a)는 하나의 UWB 센서(또는, UWB 태그)와 전기적으로 연결된 하나 이상의 안테나를 구비할 수 있다. 여기에서, 상기 안테나의 위치는, 대부분 제1청소기(100a)의 후방에서 추종하며 신호를 방출하는 제2청소기(100b)를 고려하여, 제1청소기(100a) 본체의 후방 또는 후측일 수 있다. 다만, 이에 한정되지는 않는다.
또, 제2청소기(100b)는 하나의 UWB 센서(또는, UWB 태그)와 전기적으로 연결된 복수의 안테나를 구비할 수 있다. 여기에서, 상기 복수의 안테나의 위치는 전방/후방에 서로 이격되게 배치되거나 또는 각각 전방과 후방에 이격되게 배치될 수 있다.
여기에서, 상기 전방과 후방은 제2청소기(100b) 본체의 주행방향을 기준으로 한 것으로, 상기 전방은 제2청소기(100b) 본체의 주행방향을 기준으로 앞쪽에 위치하고 상기 후방은 제2청소기(100b) 본체의 주행방향을 기준으로 뒤쪽에 위치하는 것을 의미할 수 있다.
또한, 이와 같이 제2청소기(100b)에 구비된 복수의 안테나들이 이격되게 배치됨으로서, 제1청소기(100a)로부터 수신되는 신호의 신호방향과 신호세기에 근거하여, 제2청소기(100b)가 제1청소기(100a)의 후방에 위치한 경우인지 또는 전방에 위치하여 역전된 경우인지를 파악할 수 있다.
또한, 제1청소기(100a)에 구비된 안테나를 통해, 제2청소기(100b)로부터 수신되는 신호의 신호방향과 신호세기에 따라 제2청소기(100b)가 제1청소기(100a)의 후방에 위치한 경우인지 또는 전방에 위치하여 역전된 경우인지를 파악할 수 있다.
또, 상기 안테나 또는 복수의 안테나는, 다양한 신호를 송수신하도록 형성될 수 있으며, 일 예로, UWB 센서와 함께 구비되는 경우 초광대역(Ultra Wide Band, UWB) 신호를 송수신하도록 형성될 수 있다.
이와 같이 본 발명에서는 복수의 청소기(100a, 100b)가 서로 상대 위치를 파악할 수 있으므로, 서버의 통신 상태와 관계없이 서로의 상대 위치를 파악함으로써 끊김없이 추종 제어가 원활하게 수행될 수 있다. 또한, 수신되는 신호의 방향과 세기에 근거하여 제2청소기(100b)가 제1청소기(100a)의 후방에서 따라오고 있는지 또는 전방에 위치하였는지 쉽게 파악할 수 있다.
다음, 제2청소기(100b)는, 제1청소기(100a)의 상대 위치에 기반하여, 정해진 추종거리범위 이내에서, 제1청소기(100a)의 이동에 대응되는 궤적을 추종하도록 제2청소기(100b)의 주행을 제어한다(S20). 이는, 제2청소기(100b)에서 제1청소기(100a)의 이동 궤적의 변화를 감지하는 것을 전제로 한다. 이러한 경우, 제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)의 상대 위치에 기반하여, 제2청소기(100b)가 추종할 궤적의 길이를 결정할 수 있다. 이때, 결정된 궤적의 길이는 적어도 제1 청소기(100a)와 제2청소기(100b) 간의 이격거리와 동일하거나 또는 그 이상을 만족한다.
또, 다른 예에서는, 제2청소기(100b)가 본체에 전방에 구비된 센서, 예를 들어, UWB 센서와 안테나를 통해 스스로 제1 청소기(100a)의 이동에 대응되는 궤적의 위치를 센싱한 다음, 궤적의 길이가 정해진 추종거리범위를 만족하는 것에 응답하여 센싱된 궤적의 위치를 차례대로 주행할 수 있다.
여기서, 상기 정해진 추종거리범위 이내란, 정해진 최소 이격거리 이상을 만족하면서 정해진 최대 이격거리 이하를 만족하는 사이값을 의미한다. 따라서, 상기 정해진 추종거리범위 이내란, 정해진 추종거리범위 미만이거나 또는 정해진 추종거리범위를 초과하는 경우는 배제된다.
이때, 상기 최소 이격거리는 제1청소기(100a)가 주행정지하거나 주행방향을 변경하는 경우를 고려하여 정해질 수 있으며, 예를 들어 청소기 한 대만큼의 이격거리(예, 30~35cm)일 수 있다.
또, 상기 최대 이격거리는 제1청소기(100a)와 제2청소기(100b)의 상대 위치 파악의 정확도와 제1청소기(100a)가 역주행하는 경우를 고려하여 정해질 수 있으며, 예를 들어 청소기 두 대만큼의 이격거리(예, 60~70cm)로 결정될 수 있다.
또, 상기 이동에 대응되는 궤적은, 선두청소기인 제1청소기(100a)가 청소하면서 실제 주행한 주행경로상에 존재하는 임의의 지점(또는, 포인트)을 의미한다.
또, 제1청소기(100a)의 주행경로는 복수의 궤적을 포함하므로, 상기 이동에 대응되는 궤적의 추종이란, 제1청소기(100a)가 청소하면서 실제 주행한 주행경로상의 지점(또는, 포인트)의 위치를 추종하는 것이라고 말할 수 있다.
이를 위해, 제1청소기(100a)의 제어부 또는 제2청소기(100b)의 제어부는, 제1청소기(100a)의 위치와, 제1청소기(100a)가 지나온 궤적의 위치와, 제2청소기(100b)의 상대 위치에 대응되는 좌표를 모두 인식할 수 있어야 할 것이다. 이를 위해, 제1청소기(100a)와 제2청소기(100b)는 각각에 구비된 센서(예, UWB 센서, IR 센서 등)를 통해 서로 신호를 주고 받음으로써, 서로의 상대 위치에 대응되는 좌표를 인식할 수 있다.
구체적으로, 제1청소기(100a)를 기준으로 설명하면, 예를 들어 상기 제1청소기(100a)와 제2청소기(100b)가 특정 지점/영역에서부터 추종 제어를 개시함으로써, 제1청소기(100a)의 제어부는, 제1청소기(100a)와 제2청소기(100b)의 초기 좌표를 동일하게 결정할 수 있다.
또, 제1청소기(100a)의 제어부는, 초기 좌표에서 제1청소기(100a)의 이동에 대응되는 궤적의 변화에 대응되는 제1좌표를 인식할 수 있다. 그리고, 제1청소기(100a)의 제어부는, 상기 제1좌표 정보로부터 이격된 제2청소기(100b)의 상대 위치에 대응되는 제2좌표를 연속하여 획득할 수 있다.
제2청소기(100b)을 기준으로 하여 궤적의 좌표를 결정하는 경우, 제2청소기(100b)의 제어부는, 제1청소기(100a)의 이동에 대응되는 궤적을 추적하여, 상기 초기 좌표의 좌표계와 제1청소기(100a)의 이동에 대응되는 궤적의 변화에 대응되는 제1좌표의 좌표계를 일치시킴으로써, 제2청소기(100b)를 기준으로 제1청소기(100a)의 궤적의 위치에 대응되는 좌표를 인식할 수 있다.
계속해서, 제1청소기(100a)의 제어부는 제1청소기(100a)의 이동에 따른 추가 궤적에 대응되는 제3좌표를 인식할 수 있다. 제2청소기(100b)는 제1청소기(100a)의 이동에 대응되는 궤적을 추종하므로, 현재 위치에 대응되는 제2좌표로부터 제1좌표와 제3좌표를 순차적으로 주행해야할 것이다. 따라서, 제2청소기(100b)가 추종할 궤적의 길이는, 제2좌표, 제1좌표, 제3좌표을 연결한 선의 길이라고 말할 수 있다.
제2청소기(100b)를 기준으로, 제2청소기(100b)의 위치와, 제1청소기(100a)가 지나온 궤적의 위치와, 제1청소기(100a)의 상대 위치에 대응되는 좌표를 모두 인식하기 위해, 제1청소기(100a)와 제2청소기(100b)의 좌표를 일치시키는 방법도 위에서 설명한 것과 유사하다.
한편, 본체, 즉 제2청소기(100b)는, 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 추종거리범위를 벗어나는 것을 감지할 수 있다(S30).
이를 위해, 제2청소기(100b)의 제어부는, 제2청소기(100b)의 전방에 구비된 센서, 예를 들어, UWB 센서와 안테나, 를 통해 형성된 감지영역 내에 감지된 제1청소기(100a)의 궤적의 위치 정보를 일정 거리 단위로 순차적으로 저장하고, 저장된 궤적의 위치 정보가 정해진 개수를 초과하면 정해진 추종거리범위가 벗어난 것으로 결정할 수 있다. 그리고, 제2청소기(100b)는 통신부를 통해 제2청소기(100b)가 추종해야할 궤적의 길이가 정해진 추종거리범위가 벗어난 것을 알리는 신호를 전송할 수 있다.
여기서, 제2청소기(100b)의 전방에 구비된 센서는 UWB 센서와 UWB 신호를 송수신하는 안테나 외에, 다른 무선 통신 기술, 예를 들어, 지그비(Zigbee), 지-웨이브(Z-wave), 블루투스(Blue-Tooth) 중 어느 하나를 사용하는 센서와 안테나로 대체될 수도 있다.
또한, 제1청소기(100a)의 제어부는 제2청소기(100b)의 위치에 대응되는 제2좌표와, 제1청소기(100a)의 지난 궤적의 위치에 대응되는 제1좌표, 제1청소기(100a)의 현재 위치에 대응되는 제3좌표를 기초로 하여, 제2청소기(100b)가 현재 위치로부터 추종할 궤적의 거리를 파악할 수 있다.
이때, 제2청소기(100b)가 추종할 궤적의 거리는 제1청소기(100a)와 제2청소기(100b)의 위치 변화에 대응하여 계속 달라질 수 있다.
또, 제1청소기(100a)의 지난 궤적의 위치에 대응되는 좌표들은 복수 개 존재할 수 있고, 이 좌표들은 제1청소기(100a)로부터 제2청소기(100b)로 전달되어, 제2청소기(100b)의 메모리에 순차적으로 저장될 수 있다. 이러한 경우, 제2청소기(100b)에 저장된 좌표들은 저장된 시간 순서대로 추종된다.
제2청소기(100b)가 저장된 좌표를 추종하여 해당 위치로 이동하는 것을, 좌표를 '클리어(clear)'한다고 말할 수 있다. 이때, 제2청소기(100b)의 중심이 정확하게 좌표에 도달하지 않고 제2청소기(100b)의 외주면 내에 또는 외주면 가까이에 존재하는 경우도 좌표를 클리어한 것으로 볼 수 있다.
이와 같이 클리어(clear)된 좌표는 제2청소기(100b)의 메모리로부터 삭제된다. 이와 함께, 제1청소기(100a)의 새로운 궤적의 위치에 대응되는 좌표가 제2청소기(100b)로 전송되어, 제2청소기(100b)에 저장된다.
제1청소기(100a)의 지난 궤적의 위치에 대응되는 좌표들이 일정 거리 단위(예, 10cm)로 저장되는 경우, 제1청소기(100a)에 저장된 좌표들의 개수가 많아지면 제2청소기(100b)가 추종할 궤적의 거리도 비례하여 증가된다고 말할 수 있다. 또, 제1청소기(100a)에 저장된 좌표들의 개수가 적어질수록 제2청소기(100b)가 추종할 궤적의 거리도 비례하여 감소된다고 말할 수 있다.
또 다른 예에서는, 타 이동 로봇, 즉 제1청소기(100a)에 의해, 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 추종거리범위를 벗어나는 것을 감지할 수도 있다
이를 위해, 제1청소기(100a)의 제어부는, 제2청소기(100b)의 상대 위치를 기초로 제2청소기(100b)가 추종할 궤적의 거리를 산출하고, 산출된 궤적의 거리가 정해진 추종거리범위가 벗어나는지를 모니터링한다. 모니터링 결과 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 벗어난 것이 감지되면, 제1청소기(100a)의 제어부는, 이에 대응되는 신호를 제2청소기(100b)로 전송하여, 제2청소기(100b)가 이를 인식하게 할 수 있다.
이와 같이 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 추종거리범위를 벗어난 것으로 감지되면, 제2청소기(100b)의 제어부는, 제2청소기(100b) 또는 제1청소기(100a)의 이동속도를 변경하는 제어명령을 출력할 수 있다(S40).
여기에서, 상기 이동속도를 변경하는 제어명령은 이동속도의 가속, 감속, 그리고 이동 정지명령, 즉 이동속도가 '0'인 경우를 모두 포함할 수 있다.
구체적으로, 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 제2청소기(100b)의 제어부는 제1청소기(100a)의 이동속도를 감소시키거나 또는 정지시키는 제어명령을 출력할 수 있다. 즉, 선두 청소기의 주행속도를 감소시키거나 주행을 정지시킬 수 있다.
또, 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 범위를 초과하여 임계 정지거리에 도달한 것이 감지되면, 제2청소기(100b)의 제어부는 제1청소기(100a) 주행을 정지시키는 제어명령을 출력할 수 있다.
여기에서, 상기 임계 정지거리는, 제1청소기(100a)와 제2청소기(100b) 간의 추종시 제2청소기(100b) 가 추종할 궤적의 길이가 최대값이 되는 경우로, 예를 들어 약 90cm 일 수 있다.
일 예에서, 상기 제2청소기(100b)가 추종할 궤적의 길이가 상기 임계 정지거리를 초과하면(에를 들어, 제2청소기(100b) 가 추종할 궤적의 길이가 1m 이상인 경우), 제1청소기(100a)의 제어부는 추종 불가능 상태인 것으로 감지하고, 추종을 해제할 수 있다. 이러한 경우, 제1청소기(100a)의 이동에 대응되는 궤적이 리셋(reset)되고, 제1청소기(100a)가 제2청소기(100b)의 현재 위치로 이동한 후에야, 추종이 재개(resume)된다.
한편, 일 예에서는, 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 제1청소기(100a) 스스로가 이동속도를 감소시키고, 임계 정지거리에 도달하면 제1청소기(100a) 스스로 주행 정지하도록 제어될 수 있다.
또, 제2청소기(100b)가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 제2청소기(100b)는 자신의 주행을 정지시키는 제어명령을 출력할 수 있다.
이러한 경우, 제2청소기(100b)는 일정 시간이 경과한 후에, 제2청소기(100b)의 현재 위치에서 가장 가까운 궤적의 위치를 추종한다. 이를 위해, 일정 시간 동안 제2청소기(100b)는 제1청소기(100a)의 이동에 따른 궤적을 추적할 수 있고, 그에 대응되는 궤적의 위치에 대응되는 좌표를 시간 순서대로 메모리에 저장할 수 있다.
이하에서는, 도 9a 및 도 9b를 참조하여, 제1청소기(100a)의 이동에 대응되는 궤적을 제2청소기(100b)가 추종하는 시점과 관련된 예시들을 구체적으로 설명하겠다.
도 9a는 제1청소기(100a)가 센싱신호에 근거하여 특정영역(10a)을 회피하여 주행함에 따라, 제2청소기(100b)가 추종할 궤적의 길이가 제1청소기(100a)와 제2청소기(100b)의 이격거리보다 길어진 경우이다.
여기서, 상기 센싱신호는, 맵 정보에 기반한 제1청소기(100a)의 주행모드, 외부신호감지센서에 의한 신호의 수신, 전방감지센서/3D센서/카메라 센서/충돌센서 등에 의한 장애물 감지 신호, 클리프 센서/지자기센서 등에 의해 감지된 바닥의 지형 특성에 대응되는 신호, 가상영역(예, virtual wall 등)으로 설정된 영역의 감지 신호, 딥러닝(DL, Deep Learning)/심층 신경망(DNN, Depp Neural Networks)에 의해 학습된 트랩(Trap)의 감지신호 중 하나일 수 있다.
또, 상기 특정영역(10a)에는 상기 센싱신호를 발생을 유도하는 장애물(고정 및 이동 장애물을 모두 포함), 카펫, 낭떠러지, 가상영역, 트랩 중 어느 하나가 존재할 수 있다.
이러한 경우, 제1청소기(100a)와 제2청소기(100b)의 실제 이격거리(d1)가 상기 정해진 범위 미만이더라도, 제2청소기(100b)가 추종할 곡선의 길이(d2)가 상기 정해진 범위를 만족하기만 하면, 그 시점부터 제2청소기(100b)가 제1청소기(100a)의 궤적(도시된 검은 점)을 하나씩 추종하도록 제어한다.
구체적으로, 제2청소기(100b)는 추종할 곡선의 길이(d2)가 상기 정해진 범위를 만족할 때까지, 제1청소기(100a)로부터 수신된 궤적의 정보 또는 제2청소기(100b)에 의해 센싱된 궤적의 위치에 대응되는 정보를 저장한다.
이때, 수신된 궤적의 정보 또는 센싱된 궤적의 위치에 대응되는 정보는 정해진 거리 단위, 예를 들어 10cm 단위로 제2청소기(100b)의 메모리에 저장될 수 있다.
이때, 궤적의 정보는, (x, y) 좌표를 원소로 하는 1차원 배열의 형태로 제2청소기(100b)의 메모리에 저장될 수 있다. 저장된 궤적의 정보, 즉 특정 좌표는 제2청소기(100b)가 해당 좌표의 위치로 이동한 후에 삭제된다.
궤적의 정보가 정해진 거리 단위(예, 10cm)로 저장된다고 하였을 때, 제2청소기(100b)의 메모리에 남은 (x, y) 좌표의 개수를 기초로, 제2청소기(100b)가 추종할 궤적의 거리가 결정될 수 있다.
예를 들어, 제2청소기(100b)는 메모리에 저장된 (x, y) 좌표의 개수가 최대 임계수에 도달한 시점, 예를 들어 6개가 된 시점부터는, 먼저 저장된 순서대로 좌표의 위치를 추종하도록 제어될 수 있다. 또, 제2청소기(100b)는 메모리에 저장된 (x, y) 좌표의 개수가 최소 임계수에 도달한 시점, 예를 들어 3개가 된 시점에 제2청소기(100b)의 주행을 정지시킬 수 있다.
도 9a에서, 제2청소기(100b)가 추종할 곡선의 길이(d2)가 상기 정해진 범위를 만족하면, 제2청소기(100b)는 저장된 궤적의 정보에 대응되는 위치를 순서대로 하나씩 추종하기 위해 이동한다.
이때, 제2청소기(100b)의 이동에 따라 클리어된 좌표에 대응되는 궤적의 정보는 제2청소기(100b)의 메모리로부터 삭제된다. 그리고, 제1청소기(100a)의 이동에 대응되는 추가 궤적의 정보가 계속해서 제2청소기(100b)의 메모리에 저장된다.
도 9b는 제1청소기(100a)의 주행방향이 제2청소기(100b)의 위치를 향함에 따라, 제2청소기(100b)가 추종할 궤적의 길이는 길이지고 제1청소기(100a)와 제2청소기(100b)의 이격거리는 감소되는 경우이다.
예를 들어, 제1청소기(100a)가 전방에 존재하는 벽 등의 장애물(10b)을 감지하여, 후방의 제2청소기(100b)가 위치한 방향 또는 근접 방향으로 역주행하는 경우, 제1청소기(100a)와 제2청소기(100b)의 이격거리(d3)는 점차적으로 감소될 수 있다. 이때에도 제2청소기(100b)가 추종할 궤적의 길이(d2)가 전술한 정해진 범위를 만족하면, 해당 시점부터 제2청소기(100b)가 제1청소기(100a)의 궤적(도시된 검은 점)을 하나씩 추종한다.
한편, 도 9b에서, 제2청소기(100b)가 제1청소기(100a)의 궤적을 추종하는 동안, 제1청소기(100a)의 이동에 따른 추가 궤적을 놓치지 않기 위해, 제2청소기(100b)가 장애물(10b)을 회피하여 주행방향을 변경할 때까지, 제1청소기(100a)가 예외적으로 주행을 정지할 수 있다.
또는, 도 9b에서, 제1청소기(100a)가 임계 정지거리에 근접할 때까지, 예외적으로 제2청소기(100b)가 제자리에서 제1청소기(100a)의 이동에 대응되는 궤적을 추적하고, 제1청소기(100a)가 주행을 정지한 다음, 제2청소기(100b)가 제1청소기(100a)의 궤적을 하나씩 추종하는 것으로 동작할 수도 있다.
도 9c는, 제1청소기(100a)의 이동에 대응되는 궤적의 거리가 정해진 범위 미만인 동안, 제2청소기(100b)가 제1청소기(100a)의 궤적을 제자리에서 추종하는 서칭 모션을 수행하는 예시를 보인 것이다.
도 7a 및 도 7b를 참조하여 전술한 바와 같이, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 범위(D4, 도 7a) 미만인 동안에는 제2청소기(100b)가 정지 및 대기 상태를 유지할 수 있다. 여기서, 상기 대기 상태란, 제1청소기(100a)의 이동에 대응되는 궤적의 거리가 정해진 범위를 만족할 때까지, 제2청소기(100b)가 궤적의 위치로 이동하지 않는 상태를 의미한다.
본 발명에 따른 일 실시 예에서, 제2청소기(100b)는 대기 상태인 동안, 제1청소기(100a)가 이동한 궤적의 방향을 제자리에서 추적하는 서칭 모션을 수행할 수 있다.
여기서, 상기 서칭 모션은 제2청소기(100b)가 위치 이동 없이 제자리에서, 제1청소기(100a)를 향해 소정 방향 및 소정 속도로 회전하는 동작을 의미한다.
여기서, 상기 소정 방향은 제2청소기(100b)의 전방을 기준으로 제1청소기(100a)의 주행방향에 대응된다고 말할 수 있다. 또, 상기 소정 속도는 제2청소기(100b)의 전방을 기준으로 제1청소기(100a)의 주행방향 및 주행속도에 대응된다고 말할 수 있다.
또한, 제2청소기(100b)의 전방에는 제1청소기(100a)를 감지하기 위해 구비된 센서와 안테나의 동작에 의하여 소정의 '감지 영역'이 형성될 수 있다. 제2청소기(100b)는 감지 영역 내에 제1청소기(100a)가 위치하도록 상기 서칭 모션을 수행한다고 말할 수 있다.
도 9c를 참조하면, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 미만이여서 대기 상태인 동안, 제2청소기(100b)는 현재 위치에서, 제1청소기(100a)의 이동경로(d)에 대응되는 주행방향 및 주행속도에 대응되도록, 전방의 위치를 변경시키는 회전을 수행한다. 그에 따라, 상기 소정의 감지 영역의 위치도 S1 에서 S2, S3로 순서대로 변경된다. 제2청소기(100b)는 제자리에서, 제1청소기(100a)의 이동경로(d)에 대응되는 궤적의 위치를 순서대로 추적한다.
이때, 제1청소기(100a)의 이동경로(d)에 대응되는 궤적의 정보는 위에서 설명한 바와 같이 제2청소기(100b)의 메모리에 순서대로 저장된다.
이 후, 제1청소기(100a)와 제2청소기(100b)의 이격거리(DR)가 증가하고, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 범위 내로 증가된 것이 감지되면, 제2청소기(100b)가 현재 위치로부터 가까운 궤적의 위치, 예를 들어 제2청소기(100b)의 현재 위치에서 감지영역(S1) 내의 가까운 궤적의 위치를 추종하도록 직진 주행한다. 그리고, 제1청소기(100a)의 이동경로(d2)상의 다음 궤적을 순서대로 추종하도록 제어된다.
이하에서는, 도 10과 도 11a 내지 11I를 참조하여, 선두청소기인 제1청소기의 이동에 따라 추종청소기인 제2청소기가 추종할 궤적의 길이의 변화에 대응되는 다양한 동작들을 구제적으로 설명하겠다.
도 10 의 흐름도에서, 복수의 로봇 청소기들의 추종이 개시되면, 제1청소기(100a)는 신호를 방출하는 다른 청소기, 제2청소기(100b)와 통신하여, 제2청소기(100b)의 상대 위치를 인식한다. 또, 제2청소기(100b)는 신호를 방출하는 제1청소기(100a)와 통신하여 제1청소기(100a)의 상대 위치를 인식한다. 즉, 제1청소기(100a)와 제2청소기(100b)는 서로의 상대 위치를 인식한다(S1010).
제1청소기(100a)와 제2청소기(100b)의 추종 청소가 정해진 지점 또는 동일 지점에서 개시되는 경우, 해진 지점 또는 동일 지점의 x, y 좌표 정보를 획득할 수 있다. 이후, 제1청소기(100a)의 이동에 따른 제1청소기(100a)의 위치 좌표를 산출할 수 있고, 제1청소기(100a)의 위치 좌표를 기준으로 제2청소기(100b)의 상대 위치를 인식할 수 있으므로, 제2청소기(100b)의 위치 좌표도 산출할 수 있다.
추종 청소의 개시 후, 제2청소기(100b)는 제1청소기(100a)와 제2청소기(100b)와의 이격거리를 모니터링할 수 있다(S1020). 이는, 제2청소기(100b)가 제1청소기(100a)와 제2청소기(100b)의 위치를 지속적으로 파악하는 것으로 수행될 수 있다.
제1청소기(100a)와 제2청소기(100b) 간의 이격거리는 제2청소기(100b)가 추종할 궤적의 길이와는 다른 개념이다. 제1청소기(100a)와 제2청소기(100b) 간의 이격거리는 제1청소기(100a)의 위치로부터 제2청소기(100b)의 위치까지의 최단직선의 길이를 의미한다. 제2청소기(100b)가 추종할 궤적의 길이는 제2청소기(100b)의 위치로부터 제1청소기(100a)의 위치까지 제1청소기(100a)가 이동한 경로의 길이를 의미한다.
제2청소기(100b)는 제1청소기(100a)의 이동에 대응되는 궤적의 위치를, 예를 들어 1차원 배열 형태로 메모리 등에 저장할 수 있다(S1030).
이를 위해, 제1청소기(100a)는 일정 시간 간격마다 또는 일정 이동 거리마다 제1청소기(100a)의 궤적의 위치를 포함하는 정보를 제2청소기(100b)로 전송해줄 수 있다.
또는, 다른 예에서는, 제2청소기(100b)에서 일정 시간 간격마다 또는 일정 이격 거리마다 제1청소기(100a)의 상대 위치를 센싱하여, 자신의 메모리 등에 하나씩 저장할 수 있다.
제2청소기(100b)에 저장되는 궤적의 위치가 하나씩 증가하면, 제2청소기(100b)가 추종할 궤적의 길이도 증가한다. 예를 들어, 제1청소기(100a)가 10cm 이동할 때마다 그 궤적의 위치가 저장된다고 하였을 때, 제2청소기(100b)의 메모리에 5개의 궤적의 위치가 저장되었다면, 2청소기(100b)가 추종할 궤적의 길이는 5 * 10 cm = 50 cm 가 된다.
다음, 제2청소기(100b)는 제2청소기(100b)가 추종할 제1청소기(100a)의 궤적의 길이가 정해진 추종거리범위를 만족하는지를 판단하고(S1040), 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 유지하는 동안, 제2청소기(100b)가 상기 저장된 궤적의 위치를 추종하며 주행하도록 제어한다.
예를 들어, 도 11a를 참조하면, 제1청소기(100a)가 직진주행하고, 그에 따라 제2청소기(100b)가 추종해야할 궤적의 길이(d)가 정해진 추종거리범위를 만족하는 동안 제2청소기(100b)가 제1청소기(100a)의 궤적을 추종하며 직진주행한다.
이후, 도 11b에 도시된 바와 같이 제1청소기(100a)가 벽(wall) 등의 장애물(10)을 만나 주행정지 및 제자리 회전을 수행하는 동안에도, 제2청소기(100b)는 추종할 궤적의 길이가 정해진 추종거리범위 미만으로 좁혀질 때까지는 직진주행을 계속 수행한다. 그에 따라, 제2청소기(100b)의 전방에 구비된 센서, 예를 들어 UWB 센서와 안테나에 의해 형성된 감지영역(S) 내에 제1청소기(100a)가 감지될 수 있다.
그리고, 도 11c에서, 제1청소기(100a)가 장애물(10)과 일정 거리(H)를 두고 추종하며 전방을 기준으로 좌측 90도 회전한 다음, 도 11d와 같이 연속해서 좌측 90도 회전하여 역방향으로 주행(R)하는 경우에도, 정해진 추종거리범위를 유지하는 동안(예, 도 7a에 도시된 거리(D1) 이상을 만족하는 동안), 제2청소기(100b)는 제1청소기(100a)가 지나온 궤적, 즉 장애물(10)을 향한 직진주행을 계속 수행하도록 제어될 수 있다.
다시 도 10을 참조하면, 도 10의 단계 S1050에서, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위 이상으로 증가하거나 또는 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 기준범위 미만으로 좁혀진 경우인지를 판단한다(S1060).
또, 일 예에서는, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 만족하더라도, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 기준범위 미만으로 좁혀지면, 단계 S1040에서 단계 S1060으로 바로 이동한다.
여기에서, 상기 기준범위는 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 주행을 방해할 정도로 가까워졌는지를 판단하는 기준으로, 예를 들어 10~15cm 이내 일 수 있다. 따라서, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 기준범위 미만으로 좁혀지는 경우, 제1청소기(100a)와 제2청소기(100b)가 서로 충돌하지 않기 위한 제어가 요구된다.
예를 들어, 제1청소기(100a)가 주행방향을 변경한 후 변경된 주행방향으로 계속 주행하는 경우, 제2청소기(100b)가 추종할 궤적의 길이는 증가하더라도 제1청소기(100a)와 제2청소기(100b) 간의 이격거리는 점차적으로 좁아질 수 있다.
계속해서, 제2청소기(100b)는, 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 기준범위 미만으로 좁혀져서, 추종청소기인 제2청소기(100b)가 회피주행을 수행하는 경우인지를 판단한다(S1070).
제2청소기(100b)가 회피주행하는 경우이면, 제1청소기(100a)의 이동속도를 감속하고 제2청소기(100b)는 회피주행 후 서칭 모션을 수행하도록 제어된다(S1080). 이때에는, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 추종거리범위를 만족하는 경우라도 회피주행에 대응되는 동작들을 우선으로 수행한다.
도 11e를 참조하면, 제1청소기(100a)가 역방향으로 주행(R)함에 따라, 제2청소기(100b)와의 이격거리(DR)가 기준범위 미만인 것으로 감지되면, 제1청소기(100a)는 제2청소기(100b)와 충돌하지 않도록 감속 주행한다.
제1청소기(100a)가 감속 주행하는 동안, 제2청소기(100b)는 도 11f에 도시된 바와 같이 회피주행 후 서칭 모션을 수행한다. 예를 들어, 제2청소기(100b)는 제1청소기(100a)로부터 멀어지는 방향, 즉 우측방향으로 이동한 다음, 이동한 위치에서 제1청소기(100a)의 주행경로를 따라 제2청소기(100b) 본체를 회전시키는 모션(서칭 모션)을 수행한다.
일 예에서, 서칭 모션이 수행되는 시점은 제1청소기(100a)가 회피주행을 위해 감속을 수행하기 시작한 시점일 수 있다. 또, 다른 예에서는 제1청소기(100a)와 제2청소기(100b) 간의 이격거리가 기준범위로 좁혀진 시점에 서칭 모션이 수행될 수도 있다.
서칭 모션은, 제1청소기(100a)의 현재 주행방향을 기준으로 제2청소기(100b)가 제1청소기(100a)의 후방에 위치할 때까지 수행될 수 있다. 이와 같이 서칭 모션이 수행되는 동안, 제1청소기(100a)의 주행에 대응되는 추가 궤적의 위치가 제2청소기(100b)이 메모리에 저장된다. 그에 따라, 제2청소기(100b)가 추종할 궤적의 전체 길이는 증가한다.
계속해서 도 11g를 참조하면, 제2청소기(100b)가 추종할 궤적의 거리가 정해진 추종거리범위를 초과하여 임계 정지거리에 도달하면 제1청소기(100a)는 주행을 정지한다. 그에 따라, 제2청소기(100b)는 서칭 모션을 중단하고, 메모리에 저장된 궤적의 위치를 순차적으로 추종하도록 제어된다. 그리고, 도 11h에 도시된 바와 같이, 제2청소기(100b)는 도 11b 내지 도 11d에서 제1청소기(100a)가 주행한 궤적을 추종하여 주행한다.
그리고, 도 11i에 도시된 바와 같이, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위 이하가 되면, 제1청소기(100a)가 주행을 시작한다.
이때, 제1청소기(100a)의 주행 재개(resume)는, 도 11i에 도시된 바와 같이, 제2청소기(100b)의 전방에 구비된 센서에 의해 형성된 가상영역(S) 내에 제1청소기(100a)가 감지된 시점에 수행될 수 있다. 그러면, 제2청소기(100b)는 현재 위치에서 가상영역(S) 내에 존재하는 제1청소기(100a)의 가까운 궤적의 위치부터 하나씩 추종하며 주행할 수 있다.
다시 도 10을 참조하면, 단계 S1070 에서 제2청소기(100b)가 회피주행 및 서칭모션하는 경우가 아니면, 제2청소기(100b)가 추종할 궤적의 길이가 더 증가하지 않도록, 제2청소기(100b)는 제1청소기(100a)의 이동속도를 감소하거나 또는 정지시키는 제어명령을 출력한다.
일 예에서는, 제1청소기(100a) 스스로 이동속도를 감소하거나 또는 정지시키는 제어명령을 출력할 수 있다.
구체적으로, 제2청소기(100b)가 추종해야할 궤적의 길이가 정해진 추종거리범위를 초과하면서 임계 정지거리(예, 90cm ~ 100cm)보다 작은 동안에는 제1청소기(100a)의 이동속도를 감소시키는 제어명령을 출력할 수 있다. 또한, 제2청소기(100b)가 상기 정해진 추종거리범위 내의 복수의 궤적들 중에서 제2청소기(100b)의 현재 위치에서 가장 가까운 궤적의 위치를 먼저 추종하도록 주행을 제어할 수 있다. 이때, 정해진 추종거리범위를 벗어난 궤적의 위치들은 추종하지 않고 무시 또는 제거될 수 있다.
그리고, 제2청소기(100b)가 추종해야할 궤적의 길이가 더 증가하여 상기 임계 정지거리에 도달하면, 제1청소기(100a)는 주행을 정지할 수 있다.
또, 도 10의 단계 S1110에서, 제2청소기(100b)가 추종해야할 궤적의 거리가 정해진 추종거리범위 미만으로 감소되면, 제2청소기(100b)는 , 제2청소기(100b)의 주행을 정지시키고, 제2청소기(100b)가 일정 시간 후에 제1청소기(100a)의 궤적을 추종하도록 제어한다(S1120). 이와 같은 제2청소기(100b)의 동작은 전술한 바와 같이, 제1청소기(100a)의 제어부에 의해 제어될 수도 있다.
여기에서, 상기 일정 시간은 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 만족하도록 증가하기까지 통상 소요되는 시간일 수 있다.
제2청소기(100b)는 주행정지 후 상기 일정 시간 동안 제자리에서, 제1청소기(100a)의 궤적을 추적하는 서칭 모션(searching motion)을 수행하고, 대응되는 궤적의 위치를 메모리에 저장해둔다.
그리고, 상기 일정 시간의 경과 후 또는 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 만족하는 것이 감지된 시점에, 저장된 궤적의 위치를 순차적으로 추종하며 주행한다.
한편, 이상의 실시 예들에서, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 벗어나는지 여부는, 제2청소기(100b)에 의해 센싱되어 저장된 제1청소기(100a)의 궤적의 위치에 근거하여 결정될 수 있다.
또한, 이상의 실시 예들에서, 제2청소기(100b)가 추종할 궤적의 길이가 정해진 추종거리범위를 벗어나는지 여부에 대응되는 제1청소기(100a) 및/또는 제2청소기(100b)의 주행은 제1청소기(100a)의 제어부를 통해 제어될 수도 있다.
이하, 도 12a, 도 12b, 도 12c는 전술한 본 발명의 실시 예들에 따른 제1청소기와 제2청소기 간의 추종 제어의 변형 예로서, 여기에서는, 제1청소기와 이동 디바이스 간의 추종 제어를 구체적으로 설명하겠다.
여기서의 추종 제어는, 이동 디바이스가 제1청소기의 이동 경로를 추종하며 주행하는 것만을 의미한다.
도 12a를 참조하면, 제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)에서의 조작을 통해, 이동 디바이스(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)를 변경, 추가, 제거할 수 있다. 예를 들어 도 12b를 참조하면, 제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)의 이동 경로에 대응되는 데이터들을 메모리 등에 저장하게 한 다음, 상황에 따라 저장된 데이터들 중 일부를 삭제하고 주행하거나 또는 주행 정지 상태로 대기하도록 제어할 수 있다.
도 12c는 제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)의 주행 정보를 기록하고, 일부를 삭제하고 주행하거나 또는 주행 정지 상태로 대기하도록 제어할 수 있다.
이상에서 설명한 바와 같이, 본 발명의 실시 예에 따른 로봇 청소기 및 그것의 제어방법에 의하면, 서버를 통하지 않고도 추종청소기가 선두청소기를 끊김없이 유연하게 추종하면서 청소를 수행할 수 있다. 또한, 복수의 로봇 청소기의 추종시, 추종청소기가 실제로 추종해야할 궤적의 길이를 기준으로 추종청소기의 추종 주행을 제어함으로써, 선두 청소기와 추종청소기의 주행방향이 달라지거나 서로를 회피해야하는 예외 상황에서도 충돌이나 지연 없이 원할한 추종 제어가 이루어질 수 있다. 또한, 복수의 로봇 청소기의 추종시, 추종청소기가 실제 추종해야할 궤적의 길이와 복수의 로봇 청소기 사이의 이격거리를 모두 고려하여 선두청소기와 추종청소기의 주행을 제어할 수 있다. 또한, 추종청소기가 추종해야할 궤적의 길이가 짧아지면 추종청소기의 이동속도를 감소시키거나 제자리에서 선두청소기의 궤적을 추종하게 하고, 추종청소기가 추종할 궤적의 길이가 길어지면 선두청소기의 이동속도를 감소시키거나 정지시킴으로써, 추종청소기가 선두청소기를 놓치지 않고 추종하면서 시각적으로 안정된 추종 제어가 이루어진다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 제어부(1800)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (18)

  1. 본체를 이동시키는 주행부;
    신호를 방출하는 타 이동 로봇과 통신하는 통신부;
    상기 신호를 이용하여 타 이동 로봇의 위치를 인식하고, 상기 인식된 위치에 기반하여 상기 타 이동 로봇의 이동에 대응되는 궤적을 추종하도록 상기 주행부를 제어하는 제어부를 포함하고,
    상기 제어부는,
    본체가 추종할 궤적의 길이가 정해진 범위를 벗어나는 것에 응답하여 상기 본체나 상기 타 이동 로봇의 주행속도를 변경하는 제어명령을 출력하고,
    상기 정해진 범위는 미리 설정된 제1 이격거리와 미리 설정된 제2 이격 거리 사이의 범위이고,
    상기 본체가 추종할 궤적의 길이가 정해진 범위를 벗어나는 것은, 상기 미리 설정된 제1 이격거리 내에 상기 타 이동 로봇이 위치하거나, 상기 미리 설정된 제2 이격거리를 초과하여 상기 타 이동 로봇이 위치하는 것이며,
    상기 제2 이격거리는 상기 제1 이격거리 보다 긴 것을 특징으로 하는 이동 로봇.
  2. 제1항에 있어서,
    상기 제어부는,
    타 이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들의 위치와 상기 본체의 현재 위치에 근거하여 추종할 궤적의 길이를 결정하는 것을 특징으로 하는 이동 로봇.
  3. 제1항에 있어서,
    상기 제어부는,
    상기 타 이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들의 위치를 감지하고, 복수의 지점들의 위치에 대응되는 정보를 정해진 거리 단위로 저장하고,
    저장된 정보에 근거하여 상기 추종할 궤적의 길이가 정해진 범위를 벗어나는 것을 감지하는 것을 특징으로 하는 이동 로봇.
  4. 제3항에 있어서,
    상기 제어부는,
    상기 추종할 궤적의 길이가 상기 정해진 범위를 유지하는 동안, 본체가 상기 저장된 정보에 대응되는 복수의 지점들을 순차적으로 추종하도록 제어하고,
    상기 저장된 정보는 본체가 해당 지점으로 주행한 후에 삭제되는 것을 특징으로 하는 이동 로봇.
  5. 제1항에 있어서,
    상기 제어부는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 상기 타 이동 로봇의 이동속도를 감소시키는 제어명령을 출력하는 것을 특징으로 하는 이동 로봇.
  6. 제1항에 있어서,
    상기 제어부는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위를 초과하여 임계 정지거리에 도달한 것에 응답하여, 상기 타 이동 로봇의 주행을 정지시키는 제어명령을 출력하는 것을 특징으로 하는 이동 로봇.
  7. 제1항에 있어서,
    상기 제어부는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 상기 본체의 주행을 정지시키는 제어명령을 출력하는 것을 특징으로 하는 이동 로봇.
  8. 제1항에 있어서,
    상기 제어부는,
    상기 인식된 위치를 이용하여 상기 본체와 상기 타 이동 로봇 간의 이격거리를 모니터링하고,
    본체가 추종할 궤적의 길이가 상기 정해진 범위를 유지하는 동안 상기 본체와 상기 타 이동 로봇 간의 이격거리가 정해진 범위 미만으로 감소된 것에 응답하여, 상기 타 이동 로봇의 이동속도를 감소시키는 제어명령을 출력하는 것을 특징으로 하는 이동 로봇.
  9. 제1항에 있어서,
    상기 제어부는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 상기 정해진 범위 내의 궤적을 형성하는 복수의 지점들 중 본체의 현재 위치에 가까운 지점을 추종하도록 제어하는 것을 특징으로 하는 이동 로봇.
  10. 제1항에 있어서,
    상기 제어부는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 본체의 현재 위치에서 상기 타 이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들을 추종하기 위한 모션을 수행하도록 제어하는 것을 특징으로 하는 이동 로봇.
  11. 제10항에 있어서,
    상기 제어부는,
    상기 모션을 수행하는 동안, 본체가 추종할 궤적의 길이가 상기 정해진 범위 로 증가되면, 상기 모션을 종료하고 상기 복수의 지점들 중 본체의 현재 위치에서 가까운 지점을 추종하도록 본체의 주행을 제어하는 것을 특징으로 하는 이동 로봇.
  12. 제1이동 로봇과 제2이동 로봇을 포함하는 복수의 이동 로봇으로서,
    상기 제1이동 로봇은, 신호를 방출하는 상기 제2이동 로봇과 통신하여 상기 제2이동 로봇의 위치를 인식하고, 인식된 위치에 기반하여 상기 제2이동 로봇이 상기 제1이동 로봇의 이동에 대응되는 궤적을 추종하도록 제어하고,
    상기 제2이동 로봇은, 신호를 방출하는 제1이동 로봇과 통신하여 상기 제1이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들을 감지하며, 상기 감지된 복수의 지점들을 순차적으로 추종하고,
    상기 제1이동 로봇은,
    상기 제2이동 로봇이 추종할 궤적의 길이가 정해진 범위를 벗어나는 것이 감지되면, 상기 제1이동 로봇이나 상기 제2이동 로봇의 이동속도를 변경시키는 제어명령을 출력하고,
    상기 정해진 범위는 미리 설정된 제1 이격거리와 미리 설정된 제2 이격 거리 사이의 범위이고,
    상기 제2이동 로봇이 추종할 궤적의 길이가 정해진 범위를 벗어나는 것은, 상기 미리 설정된 제1 이격거리 내에 상기 제2이동 로봇이 위치하거나, 상기 미리 설정된 제2 이격거리를 초과하여 상기 제2이동 로봇이 위치하는 것이며,
    상기 제2 이격거리는 상기 제1 이격거리 보다 긴 것을 특징으로 하는 복수의 이동 로봇.
  13. 제12항에 있어서,
    상기 제1이동 로봇은, 상기 제1이동 로봇의 이동에 대응되는 궤적을 형성하는 복수의 지점들의 위치와 상기 제2이동 로봇의 상대 위치에 기반하여 상기 제2이동 로봇이 추종할 궤적의 길이를 결정하는 것을 특징으로 하는 복수의 이동 로봇.
  14. 제12항에 있어서,
    상기 제2이동 로봇은, 상기 감지된 복수의 지점들의 위치에 대응되는 정보를 정해진 거리 단위로 저장하고,
    상기 제1이동 로봇은, 상기 제2이동 로봇에 저장된 정보에 근거하여 상기 추종할 궤적의 길이가 정해진 범위를 벗어나는 것을 감지하고,
    상기 제2이동 로봇은,
    추종할 궤적의 길이가 정해진 범위를 만족하는 동안 상기 저장된 정보에 대응되는 복수의 지점들을 순차적으로 주행하고, 주행한 지점에 대응되는 정보는 삭제하는 것을 특징으로 하는 복수의 이동 로봇.
  15. 이동 로봇 본체가 신호를 방출하는 타 이동 로봇과 통신하여, 상기 타 이동 로봇의 상대 위치를 인식하는 단계;
    상기 인식된 상대 위치를 기초로 상기 타 이동 로봇의 이동에 대응되는 궤적을 추종하도록 본체의 주행을 제어하는 단계;
    본체가 추종할 타 이동 로봇의 궤적의 길이가 정해진 범위를 벗어나는 것을 감지하는 단계; 및
    상기 감지에 응답하여, 상기 본체나 상기 타 이동 로봇의 이동속도를 변경하는 제어명령을 출력하는 단계를 포함하고,
    상기 정해진 범위는 미리 설정된 제1 이격거리와 미리 설정된 제2 이격 거리 사이의 범위이고,
    상기 본체가 추종할 궤적의 길이가 정해진 범위를 벗어나는 것은, 상기 미리 설정된 제1 이격거리 내에 상기 타 이동 로봇이 위치하거나, 상기 미리 설정된 제2 이격거리를 초과하여 상기 타 이동 로봇이 위치하는 것이며,
    상기 제2 이격거리는 상기 제1 이격거리 보다 긴 것을 특징으로하는 로봇의 제어방법.
  16. 제15항에 있어서,
    상기 제어명령을 출력하는 단계는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위 이상으로 증가하면, 상기 타 이동 로봇의 이동속도를 감소시키는 제어명령을 출력하는 단계를 포함하는 것을 특징으로 하는 로봇 청소기의 제어방법.
  17. 제15항에 있어서,
    상기 제어명령을 출력하는 단계는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위를 초과하여 임계 정지거리에 도달한 것이 감지되면, 상기 타 이동 로봇의 주행을 정지시키는 제어명령을 출력하는 단계를 포함하는 것을 특징으로 로봇 청소기의 제어방법.
  18. 제15항에 있어서,
    상기 제어명령을 출력하는 단계는,
    본체가 추종할 궤적의 길이가 상기 정해진 범위 미만으로 감소되면, 본체의 주행을 정지시키는 제어명령을 출력하는 단계를 포함하는 것을 특징으로 하는 로봇 청소기의 제어방법.
KR1020190014054A 2018-09-06 2019-02-01 이동 로봇 및 그 제어방법 KR102252034B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AU2019335977A AU2019335977B2 (en) 2018-09-06 2019-07-22 A robot cleaner and a controlling method for the same
JP2021512768A JP7259015B2 (ja) 2018-09-06 2019-07-22 移動ロボット及びその制御方法
PCT/KR2019/009045 WO2020050494A1 (en) 2018-09-06 2019-07-22 A robot cleaner and a controlling method for the same
EP19858121.7A EP3846981A4 (en) 2018-09-06 2019-07-22 ROBOTIC CLEANERS AND CONTROL METHOD THEREOF
CN201980058387.7A CN112654473B (zh) 2018-09-06 2019-07-22 机器人清洁器及其控制方法
TW108128347A TWI769391B (zh) 2018-09-06 2019-08-08 移動式機器人及其控制方法
US16/562,678 US11409308B2 (en) 2018-09-06 2019-09-06 Robot cleaner and a controlling method for the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862727562P 2018-09-06 2018-09-06
US62/727,562 2018-09-06

Publications (2)

Publication Number Publication Date
KR20200029970A KR20200029970A (ko) 2020-03-19
KR102252034B1 true KR102252034B1 (ko) 2021-05-14

Family

ID=69956987

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020190014054A KR102252034B1 (ko) 2018-09-06 2019-02-01 이동 로봇 및 그 제어방법
KR1020190014053A KR102252033B1 (ko) 2018-09-06 2019-02-01 이동 로봇 및 그 제어방법
KR1020190019430A KR102432199B1 (ko) 2018-09-06 2019-02-19 복수의 자율주행 이동 로봇
KR1020190020081A KR20200029973A (ko) 2018-09-06 2019-02-20 복수의 자율주행 이동 로봇
KR1020210048703A KR102412850B1 (ko) 2018-09-06 2021-04-14 복수의 자율주행 이동 로봇
KR1020210048702A KR102470532B1 (ko) 2018-09-06 2021-04-14 복수의 자율주행 이동 로봇

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020190014053A KR102252033B1 (ko) 2018-09-06 2019-02-01 이동 로봇 및 그 제어방법
KR1020190019430A KR102432199B1 (ko) 2018-09-06 2019-02-19 복수의 자율주행 이동 로봇
KR1020190020081A KR20200029973A (ko) 2018-09-06 2019-02-20 복수의 자율주행 이동 로봇
KR1020210048703A KR102412850B1 (ko) 2018-09-06 2021-04-14 복수의 자율주행 이동 로봇
KR1020210048702A KR102470532B1 (ko) 2018-09-06 2021-04-14 복수의 자율주행 이동 로봇

Country Status (7)

Country Link
US (2) US11269355B2 (ko)
EP (4) EP3846978A4 (ko)
JP (3) JP7240485B2 (ko)
KR (6) KR102252034B1 (ko)
CN (4) CN112654470B (ko)
AU (4) AU2019335976B2 (ko)
TW (3) TWI769391B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019212239A1 (en) * 2018-05-04 2019-11-07 Lg Electronics Inc. A plurality of robot cleaner and a controlling method for the same
WO2020050494A1 (en) * 2018-09-06 2020-03-12 Lg Electronics Inc. A robot cleaner and a controlling method for the same
KR102252034B1 (ko) 2018-09-06 2021-05-14 엘지전자 주식회사 이동 로봇 및 그 제어방법
US11432697B2 (en) 2018-09-06 2022-09-06 Lg Electronics Inc. Robot cleaner and a controlling method for the same
KR102206388B1 (ko) * 2019-01-31 2021-01-22 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
KR102217540B1 (ko) * 2019-05-07 2021-02-19 엘지전자 주식회사 이동 로봇 및 복수의 이동 로봇의 제어방법
KR102390040B1 (ko) * 2020-05-08 2022-04-25 엘지전자 주식회사 로봇 청소기 및 그 제어 방법
KR20220003250A (ko) * 2020-07-01 2022-01-10 엘지전자 주식회사 로봇 청소기와 이를 구비하는 로봇 청소기 시스템
TWI756844B (zh) 2020-09-25 2022-03-01 財團法人工業技術研究院 自走車導航裝置及其方法
KR20220047453A (ko) * 2020-10-08 2022-04-18 엘지전자 주식회사 이동 로봇 시스템
KR102410530B1 (ko) * 2020-10-08 2022-06-20 엘지전자 주식회사 이동 로봇 시스템
KR20220073036A (ko) * 2020-11-26 2022-06-03 삼성전자주식회사 로봇 및 그 제어 방법
SE2150996A1 (en) * 2021-08-12 2023-02-13 Husqvarna Ab Improved cooperation of robotic working tools in a robotic working tool system
CN113670475A (zh) * 2021-08-20 2021-11-19 青岛进化者小胖机器人科技有限公司 一种智能测温机器人
TWI790934B (zh) * 2022-03-03 2023-01-21 優式機器人股份有限公司 機器人避障方法
TWI821024B (zh) * 2022-11-17 2023-11-01 泰科動力股份有限公司 自主移動機器人控制系統與方法
CN116967640B (zh) * 2023-09-22 2024-01-05 杭州众能光电科技有限公司 钙钛矿电池层跟随除尘控制装置及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192609A (ja) 2003-12-26 2005-07-21 Sharp Corp 自走式掃除機
JP2010235080A (ja) * 2009-03-31 2010-10-21 Equos Research Co Ltd 車両制御装置、車両、及び車両制御プログラム

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63150044A (ja) * 1986-12-16 1988-06-22 株式会社東芝 自動清掃システム
US4954962A (en) * 1988-09-06 1990-09-04 Transitions Research Corporation Visual navigation and obstacle avoidance structured light system
JPH04227507A (ja) * 1990-07-02 1992-08-17 Nec Corp 移動ロボット用のマップを作成し保持する方法
US5351056A (en) * 1993-06-21 1994-09-27 International Business Machines Corp. Target tracking in clutter degraded scenes using central level stereo processing
IL109394A (en) * 1994-04-22 1997-03-18 Maytronics Ltd Swimming pool cleaning, navigational control system and method
JP3296105B2 (ja) * 1994-08-26 2002-06-24 ミノルタ株式会社 自律移動ロボット
US5819008A (en) * 1995-10-18 1998-10-06 Rikagaku Kenkyusho Mobile robot sensor system
JPH09244730A (ja) 1996-03-11 1997-09-19 Komatsu Ltd ロボットシステムおよびロボットの制御装置
US6374155B1 (en) * 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
JP4229358B2 (ja) 2001-01-22 2009-02-25 株式会社小松製作所 無人車両の走行制御装置
US20040186623A1 (en) * 2001-05-25 2004-09-23 Mike Dooley Toy robot programming
JP2003015739A (ja) 2001-07-02 2003-01-17 Yaskawa Electric Corp 外環境地図、並びに自己位置同定装置および誘導制御装置
JP3533204B2 (ja) 2002-03-13 2004-05-31 株式会社日立製作所 車両位置測定装置およびそれを搭載した車両
US7054716B2 (en) 2002-09-06 2006-05-30 Royal Appliance Mfg. Co. Sentry robot system
JP4007947B2 (ja) * 2002-12-20 2007-11-14 シャープ株式会社 群ロボットシステム、該群ロボットシステムに含まれるセンシングロボット、該群ロボットシステムに含まれるベースステーション、および該群ロボットシステムに含まれる制御ロボット
KR100486737B1 (ko) 2003-04-08 2005-05-03 삼성전자주식회사 청소로봇의 청소궤적 생성·추종방법 및 장치
JP4316477B2 (ja) * 2004-11-18 2009-08-19 パナソニック株式会社 移動ロボットの追従方法
EP1681663B1 (en) 2005-01-14 2007-08-01 Alcatel Lucent Navigation service
US7877166B2 (en) 2005-06-28 2011-01-25 S.C. Johnson & Son, Inc. RFID navigational system for robotic floor treater
KR100749579B1 (ko) 2005-09-05 2007-08-16 삼성광주전자 주식회사 교환가능한 복수의 작업모듈을 갖는 이동로봇 시스템 및 그제어방법
KR100834761B1 (ko) 2005-11-23 2008-06-05 삼성전자주식회사 이동 로봇의 자기 위치 인식 방법 및 장치
JP4351261B2 (ja) 2007-02-02 2009-10-28 株式会社日立製作所 先導者追従車両
US20090082879A1 (en) * 2007-09-20 2009-03-26 Evolution Robotics Transferable intelligent control device
US8755936B2 (en) 2008-01-28 2014-06-17 Seegrid Corporation Distributed multi-robot system
JP5160322B2 (ja) 2008-06-30 2013-03-13 株式会社Ihi 自律移動ロボット装置及び自律移動ロボット装置の制御方法
JP5304143B2 (ja) * 2008-09-26 2013-10-02 日産自動車株式会社 自律走行制御装置、自律走行制御方法、及び自走車両
JP4639253B2 (ja) * 2008-10-31 2011-02-23 東芝テック株式会社 自律移動装置およびその制御方法
JP5071817B2 (ja) * 2009-03-31 2012-11-14 株式会社エクォス・リサーチ 車両制御装置、車両、及び車両制御プログラム
US8676466B2 (en) * 2009-04-06 2014-03-18 GM Global Technology Operations LLC Fail-safe speed profiles for cooperative autonomous vehicles
CN102048499B (zh) * 2009-10-26 2015-04-01 三星电子株式会社 移动机器人***以及控制移动机器人***的方法
KR101181258B1 (ko) * 2010-03-05 2012-09-10 재단법인대구경북과학기술원 무선 네트워크에 기반하여 다수의 로봇의 이동을 제어하는 방법 및 장치
EP2558918B1 (en) * 2010-04-14 2018-02-28 Husqvarna AB Robotic garden tool following wires at a distance using multiple signals
KR101155500B1 (ko) 2010-12-27 2012-06-15 강릉원주대학교산학협력단 복수 개의 이동체를 제어하는 장치 및 방법
US8627908B2 (en) 2011-01-29 2014-01-14 GM Global Technology Operations LLC Semi-autonomous vehicle providing an auxiliary power supply
US8496078B2 (en) 2011-01-29 2013-07-30 GM Global Technology Operations LLC Semi-autonomous vehicle providing cargo space
US20120316680A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Tracking and following of moving objects by a mobile robot
DE102011111895A1 (de) 2011-08-30 2013-02-28 Gm Global Technology Operations, Llc Vorrichtung und Verfahren zur Verhinderung einer Fahrzeugkollision, Fahrzeug
KR101887055B1 (ko) * 2011-11-14 2018-09-11 삼성전자주식회사 로봇 청소기 및 그 제어 방법
US9308645B2 (en) 2012-03-21 2016-04-12 GM Global Technology Operations LLC Method of inferring intentions of an operator to move a robotic system
JP2013242738A (ja) * 2012-05-22 2013-12-05 Sharp Corp ロボット装置、端末装置、ロボット装置の遠隔操作システム及びプログラム
NL2009410C2 (nl) 2012-09-04 2014-03-05 Lely Patent Nv Systeem en werkwijze voor het uitvoeren van een diergerelateerde handeling.
US8972061B2 (en) 2012-11-02 2015-03-03 Irobot Corporation Autonomous coverage robot
US8761989B1 (en) * 2012-12-18 2014-06-24 Jervis B. Webb Company Method of material handling with automatic guided vehicles
KR101475826B1 (ko) 2013-03-14 2014-12-30 인하대학교 산학협력단 백스테핑 기법을 이용한 선도 추종자 대형제어 장치, 방법 및 이동로봇
KR101450843B1 (ko) 2013-05-20 2014-10-15 한국생산기술연구원 군집 로봇 시스템 및 그 제어 방법
WO2014207299A1 (en) * 2013-06-25 2014-12-31 Tekno-Ants Oy Method and guidance system for use of robot
US10725478B2 (en) 2013-07-02 2020-07-28 The Boeing Company Robotic-mounted monument system for metrology systems
KR20150044562A (ko) * 2013-10-17 2015-04-27 한국과학기술원 주종관계 협업을 위한 군집로봇 시스템 및 이를 위한 로봇
CN103522304B (zh) 2013-10-28 2015-06-03 中国科学院自动化研究所 一种基于母机器人视觉的子机器人入舱方法
JP2015160022A (ja) 2014-02-28 2015-09-07 東日本旅客鉄道株式会社 清掃装置による清掃方法
JP6368964B2 (ja) * 2014-03-26 2018-08-08 ヤンマー株式会社 作業車両の制御装置
DE102014105460A1 (de) 2014-04-16 2015-10-22 Vorwerk & Co. Interholding Gmbh Selbstfahrendes Bodenreinigungsgerät mit einem einem Führungsfahrzeug folgenden Folgewerkzeug
EP3164043B1 (en) * 2014-07-01 2021-11-10 Samsung Electronics Co., Ltd. Cleaning robot and controlling method thereof
JP6378986B2 (ja) 2014-09-11 2018-08-22 シャープ株式会社 自走式電子機器およびその帰還方法
KR101643751B1 (ko) * 2014-11-26 2016-07-28 김기형 객체 추종 기능을 구비한 로봇
KR101679482B1 (ko) * 2014-12-10 2016-11-24 재단법인대구경북과학기술원 장애물 회피를 위한 멀티로봇 시스템 및 장애물 회피를 위한 스위칭 대형 전략을 이용하는 방법
WO2016126297A2 (en) * 2014-12-24 2016-08-11 Irobot Corporation Mobile security robot
KR102393921B1 (ko) * 2015-05-12 2022-05-04 삼성전자주식회사 로봇 및 그의 제어 방법
KR102388448B1 (ko) * 2015-06-09 2022-04-21 삼성전자주식회사 이동 로봇 및 그 제어 방법
JP6623341B2 (ja) 2015-08-19 2019-12-25 Cyberdyne株式会社 施設内管理運営システム
US10874274B2 (en) 2015-09-03 2020-12-29 Aktiebolaget Electrolux System of robotic cleaning devices
GB201518652D0 (en) 2015-10-21 2015-12-02 F Robotics Acquisitions Ltd Domestic robotic system and method
CN105527960A (zh) * 2015-12-18 2016-04-27 燕山大学 一种基于领航跟随的移动机器人编队控制方法
CN105534415A (zh) 2015-12-24 2016-05-04 英华达(南京)科技有限公司 扫地机器人
JP6836100B2 (ja) * 2016-01-18 2021-02-24 株式会社エクォス・リサーチ 移動体
KR101827082B1 (ko) * 2016-01-29 2018-02-08 한국해양대학교 산학협력단 Pid 및 퍼지에 의해 제어되는 무선 추종 로봇 시스템
JP2017146945A (ja) * 2016-02-21 2017-08-24 国立大学法人埼玉大学 先導ロボット
CN105686766A (zh) * 2016-04-14 2016-06-22 京东方科技集团股份有限公司 清洁机器人和清洁机器人工作方法
JP6681260B2 (ja) * 2016-04-27 2020-04-15 シャープ株式会社 中継用自走機器および自走機器用通信中継システム
KR102167898B1 (ko) * 2016-10-27 2020-10-20 엘지전자 주식회사 이동 로봇 및 그 제어방법
US10362916B2 (en) 2016-05-20 2019-07-30 Lg Electronics Inc. Autonomous cleaner
CN206473273U (zh) 2016-06-03 2017-09-08 北京历途科技有限公司 高空玻璃幕墙多样清洁式清洗机器人
CN205942412U (zh) 2016-06-08 2017-02-08 科沃斯机器人股份有限公司 母子机协同工作***
CN107479544A (zh) 2016-06-08 2017-12-15 科沃斯机器人股份有限公司 母子机协同工作***及其工作方法
AU2017285019B2 (en) * 2016-06-15 2022-11-10 Irobot Corporation Systems and methods to control an autonomous mobile robot
JP6294924B2 (ja) * 2016-09-05 2018-03-14 株式会社Subaru 車両の走行制御装置
ES2906710T3 (es) * 2016-09-13 2022-04-20 Maytronics Ltd Robot de limpieza de piscinas
KR102570164B1 (ko) 2016-09-19 2023-08-25 엘지전자 주식회사 공항 로봇 및 그와 연결되는 서버의 동작 방법
US10383498B2 (en) 2016-10-05 2019-08-20 Lenovo (Singapore) Pte. Ltd. Systems and methods to command a robotic cleaning device to move to a dirty region of an area
CN106791371A (zh) * 2016-11-29 2017-05-31 北京小米移动软件有限公司 一种拍摄方法和可移动拍摄装置
JP6931994B2 (ja) * 2016-12-22 2021-09-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 自律移動体、移動制御方法及び移動制御プログラム
JP2018120526A (ja) 2017-01-27 2018-08-02 シャープ株式会社 走行制御装置、走行装置、走行制御方法及び走行制御プログラム
CN206850525U (zh) 2017-02-16 2018-01-05 浙江工业大学 一种组合式超高压变流阀监控与除尘机器人
US10813710B2 (en) * 2017-03-02 2020-10-27 KindHeart, Inc. Telerobotic surgery system using minimally invasive surgical tool with variable force scaling and feedback and relayed communications between remote surgeon and surgery station
AU2018203588B2 (en) 2017-06-05 2019-11-14 Bissell Inc. Autonomous floor cleaning system
DE102017113288A1 (de) 2017-06-16 2018-12-20 Vorwerk & Co. Interholding Gmbh System mit mindestens zwei Bodenbearbeitungseinrichtungen
CN107608345A (zh) * 2017-08-26 2018-01-19 深圳力子机器人有限公司 一种机器人及其跟随方法和***
CN108420371B (zh) 2018-06-21 2021-10-12 山东鹏耀智佳精密工业有限公司 一种分离式扫地机器人控制方法
KR102252034B1 (ko) 2018-09-06 2021-05-14 엘지전자 주식회사 이동 로봇 및 그 제어방법
US20200081456A1 (en) 2018-09-06 2020-03-12 Lg Electronics Inc. Plurality of autonomous mobile robots and controlling method for the same
WO2020050494A1 (en) 2018-09-06 2020-03-12 Lg Electronics Inc. A robot cleaner and a controlling method for the same
US11432697B2 (en) 2018-09-06 2022-09-06 Lg Electronics Inc. Robot cleaner and a controlling method for the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192609A (ja) 2003-12-26 2005-07-21 Sharp Corp 自走式掃除機
JP2010235080A (ja) * 2009-03-31 2010-10-21 Equos Research Co Ltd 車両制御装置、車両、及び車両制御プログラム

Also Published As

Publication number Publication date
CN112654471B (zh) 2023-11-28
AU2019334724A1 (en) 2021-04-15
US20200081453A1 (en) 2020-03-12
KR102412850B1 (ko) 2022-06-24
CN112654473A (zh) 2021-04-13
TW202023463A (zh) 2020-07-01
CN112654470B (zh) 2024-01-05
TWI759627B (zh) 2022-04-01
KR20200029970A (ko) 2020-03-19
AU2019336870A1 (en) 2021-04-01
TW202016667A (zh) 2020-05-01
KR20200029973A (ko) 2020-03-19
JP7259015B2 (ja) 2023-04-17
CN112654471A (zh) 2021-04-13
JP7240485B2 (ja) 2023-03-15
EP3846980B1 (en) 2023-11-01
EP3846981A1 (en) 2021-07-14
CN112654472B (zh) 2023-12-01
KR20210043545A (ko) 2021-04-21
EP3846979A4 (en) 2022-06-08
AU2019334724B2 (en) 2022-08-11
US11906979B2 (en) 2024-02-20
AU2019336870B2 (en) 2022-04-07
AU2019335976B2 (en) 2022-12-01
CN112654470A (zh) 2021-04-13
KR20200029969A (ko) 2020-03-19
EP3846978A4 (en) 2022-05-25
EP3846979A1 (en) 2021-07-14
EP3846980A4 (en) 2022-06-29
JP2021536637A (ja) 2021-12-27
EP3846979B1 (en) 2023-12-20
KR20200029972A (ko) 2020-03-19
CN112654473B (zh) 2023-11-24
TW202010465A (zh) 2020-03-16
JP2021536064A (ja) 2021-12-23
KR102432199B1 (ko) 2022-08-12
AU2019335976A1 (en) 2021-04-01
US11269355B2 (en) 2022-03-08
EP3846980A1 (en) 2021-07-14
JP2022501704A (ja) 2022-01-06
TWI723526B (zh) 2021-04-01
JP7165259B2 (ja) 2022-11-02
AU2019335977A1 (en) 2021-04-01
AU2019335977B2 (en) 2022-12-08
KR20210043544A (ko) 2021-04-21
KR102252033B1 (ko) 2021-05-14
EP3846981A4 (en) 2022-06-15
US20220147057A1 (en) 2022-05-12
EP3846978A1 (en) 2021-07-14
TWI769391B (zh) 2022-07-01
KR102470532B1 (ko) 2022-11-25
CN112654472A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
KR102252034B1 (ko) 이동 로봇 및 그 제어방법
KR102067603B1 (ko) 복수의 이동 로봇 및 그 제어방법
US11409308B2 (en) Robot cleaner and a controlling method for the same
US11148290B2 (en) Plurality of robot cleaner and a controlling method for the same
US11432697B2 (en) Robot cleaner and a controlling method for the same
KR102427015B1 (ko) 복수의 자율주행 이동 로봇
KR20190134969A (ko) 복수의 이동 로봇 및 그 제어방법
KR102204011B1 (ko) 복수의 자율주행 이동 로봇
US20210259498A1 (en) Plurality of autonomous cleaner and controlling method for the same
KR102309303B1 (ko) 로봇 청소기 및 그 제어 방법
KR102179057B1 (ko) 복수의 자율주행 청소기
KR102390040B1 (ko) 로봇 청소기 및 그 제어 방법
KR102100478B1 (ko) 복수의 자율주행 이동 로봇

Legal Events

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