KR102015498B1 - 복수의 자율주행 청소기 및 그 제어방법 - Google Patents

복수의 자율주행 청소기 및 그 제어방법 Download PDF

Info

Publication number
KR102015498B1
KR102015498B1 KR1020180074311A KR20180074311A KR102015498B1 KR 102015498 B1 KR102015498 B1 KR 102015498B1 KR 1020180074311 A KR1020180074311 A KR 1020180074311A KR 20180074311 A KR20180074311 A KR 20180074311A KR 102015498 B1 KR102015498 B1 KR 102015498B1
Authority
KR
South Korea
Prior art keywords
cleaner
obstacle
map
obstacle map
cleaning
Prior art date
Application number
KR1020180074311A
Other languages
English (en)
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 KR1020180074311A priority Critical patent/KR102015498B1/ko
Priority to PCT/KR2019/007065 priority patent/WO2020004834A1/en
Priority to EP19825981.4A priority patent/EP3813623A4/en
Priority to US17/253,198 priority patent/US20210114220A1/en
Application granted granted Critical
Publication of KR102015498B1 publication Critical patent/KR102015498B1/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/2894Details related to signal transmission in suction cleaners
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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
    • G05D1/0291Fleet control
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Landscapes

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

Abstract

복수의 자율주행 청소기 및 그것의 제어방법이 개시된다. 본 발명은 제1청소기와 제2청소기를 포함하는 복수의 자율주행 청소기로서, 제1청소기는 제2청소기로부터 청소영역에 대한 장애물 지도를 수신하고, 기저장된 자신의 장애물 지도의 좌표계를 기준으로 제2청소기로부터 수신된 장애물 지도에 대한 캘리브레이션을 수행하고, 캘리브레이션에 대응되는 변환 데이터를 제2청소기로 전송하며, 제2청소기는, 전송된 변환 데이터를 자신의 장애물 지도에 적용하고, 이후 제1청소기로부터 수신되는 무선신호에 대응되는 위치 좌표를 인식하여 청소명령을 생성할 수 있다.

Description

복수의 자율주행 청소기 및 그 제어방법{A PLURALITY OF AUTONOMOUS CLEANER AND A CONTROLLING METHOD FOR THE SAME}
본 발명은 협업하여 청소를 수행할 수 있는 복수의 자율주행 청소기에 관한 것이다.
청소기는 먼지와 이물질을 흡입하거나 걸레질을 통하여 청소 기능을 수행하는 장치이다. 일반적으로 청소기는 바닥에 대한 청소 기능을 수행하게 되며, 청소기는 이동을 위한 휠을 포함한다. 일반적으로 휠은 청소기 본체에 가해지는 외력에 의해 굴림되어 청소기 본체를 바닥에 대하여 이동시키도록 이루어진다.
최근에는 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 로봇 청소기, 사용자의 조작에 의해 이동되는 노즐을 따라 스스로 이동하는 청소기 등과 같은 자율주행 청소기에 대한 연구가 활발해졌다.
이러한 자율주행 청소기는 충전 가능한 배터리를 구비하고, 주행 중에 장애물을 피할 수 있는 장애물 센서를 구비하여 스스로 주행하며 청소할 수 있다. 한편, 청소 영역이 넓은 경우 또는 기능이 서로 상이한 경우(예, 먼지 또는 이물질 흡입을 수행하는 건식 청소기, 걸레질만 수행하는 습식 청소기)에는 여러 대의 자율주행 청소기를 동시에 사용할 수 있다.
이와 같이 여러 대의 자율주행 청소기를 이용한 협업 청소가 효율적으로 이루어지는 위해서는, 복수의 자율주행 청소기가 각각 서로의 위치를 파악하고 있어야 할 것이다. 이를 위해, 초음파, 레이더 등의 위치 센서를 추가로 사용하여 서로의 상대 위치를 파악할 수도 있겠으나, 복수의 자율주행 청소기의 이격거리가 멀어지면 상대 위치를 파악하기가 어려워지는 단점이 있다. 이러한 단점을 극복하기 위해 복수의 자율주행 청소기가 멀리 떨어져 있는 경우에도 서로의 위치를 정확하게 인식할 수 있는 고성능 센서를 탑재하게 되면 제품 전체의 비용이 증가하게 되는 단점이 있다.
이에, 본 발명의 일 목적은, 복수의 자율주행 청소기가 서로의 위치를 파악하기 위한 추가 센서를 탑재하지 않고도 지정된 공간 내의 다른 청소기의 상대 위치를 인식하여 효율적인 협업 청소를 수행할 수 있는 복수의 자율주행 청소기 및 그 제어방법을 제공하는데 있다.
또한, 본 발명의 또 다른 목적은, 복수의 자율주행 청소기가 동일한 공간에 대해 서로 다른 청소 맵을 사용하는 경우에도 특징 맵(SLAM)을 추가로 공유하지 않고도 서로의 상대 위치를 파악할 수 있는 복수의 자율주행 청소기 및 그 제어방법을 제공하는데 있다.
본 발명의 일 실시 예에 따른 자율주행 청소기는, 본체를 이동시키는 주행부; 청소영역에 대한 제1장애물 지도가 저장되는 메모리; 제2청소기와 통신하는 통신부; 및 상기 제2청소기로부터 상기 청소영역에 대한 제2장애물 지도가 수신되면, 저장된 제1장애물 지도의 좌표계를 기준으로 상기 수신된 제2장애물 지도에 대한 캘리브레이션을 수행하는 제어부를 포함한다. 또한, 상기 제어부는, 캘리브레이션이 수행된 제2장애물 지도를 사용하여 상기 제2청소기의 위치를 인식하고, 상기 제2청소기의 위치를 기초로 생성된 청소명령과 상기 본체의 위치 정보를 상기 제2청소기로 전송하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 제1 및 제2장애물 지도의 좌표계가 일치되도록 상기 제1 및 제2장애물 지도 중 적어도 하나를 스케일링, 회전, 또는 이동하는 변환값을 산출하여 상기 제2장애물 지도에 대한 캘리브레이션을 수행하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 본체의 위치 정보는 상기 캘리브레이션이 수행된 제2장애물 지도에도 표시되는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제2청소기로 전송되는 상기 청소명령은, 상기 본체의 위치 정보, 상기 제1 또는 제2 장애물 지도의 장애물 정보, 및 상기 제2청소기의 위치 정보를 기초로 선택된 특정 영역에 대한 청소명령이거나 상기 제1청소기의 주행 경로를 추종하는 청소명령인 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제어부는, 상기 캘리브레이션이 완료되면, 상기 제1장애물 지도를 이용하여 상기 제2청소기로부터 수신된 무선신호에 대응되는 상기 제2청소기의 위치 좌표를 인식하는 것을 특징으로 한다.
본 발명의 또 다른 실시 예에 따른 복수의 자율주행 청소기는, 제1청소기와 제2청소기를 포함하는 복수의 자율주행 청소기로서, 상기 제1청소기는, 상기 제2청소기로부터 청소영역에 대한 장애물 지도를 수신하고, 기저장된 자신의 장애물 지도의 좌표계를 기준으로 상기 수신된 장애물 지도에 대한 캘리브레이션을 수행하고 상기 캘리브레이션에 대응되는 변환 데이터를 상기 제2청소기로 전송한다. 또한, 상기 제2청소기는, 상기 변환 데이터를 자신의 장애물 지도에 적용하고, 상기 제1청소기로부터 수신되는 무선신호에 대응되는 위치 좌표를 인식하여 청소명령을 생성하는 것을 특징으로 한다.
또한, 일 실시 예에서, 상기 제1청소기는, 상기 제1 및 제2장애물 지도의 좌표계가 일치되도록 상기 제1 및 제2장애물 지도 중 적어도 하나를 스케일링, 회전, 또는 이동하여 상기 변환 데이터를 생성하는 것을 특징으로 한다.
이상에서 살펴본 바와 같이, 본 발명의 실시 예에 따른 복수의 자율주행 청소기에 의하면, 복수의 자율주행 청소기가 위치 센서를 탑재하지 않고도 지정된 공간 내의 다른 청소기의 위치를 인식하여 효율적인 협업 청소를 수행할 수 있다. 또한, 복수의 자율주행 청소기의 종류가 달라서 동일한 공간에 대해 서로 다른 청소 맵을 사용하는 경우라도 특징 맵(SLAM)을 추가로 공유하지 않고 서로의 상대 위치를 쉽게 파악할 수 있다. 그에 따라, 협업 청소를 수행하는 중에도 복수의 자율주행 청소기의 상대 위치에 따라 협업 시나리오를 효율적으로 수정하거나 업데이트할 수 있다.
도 1은 본 발명에 따른 자율주행 청소기의 일 예를 보인 사시도이다.
도 2는 도 1에 도시된 자율주행 청소기의 평면도이다.
도 3은 도 1에 도시된 자율주행 청소기의 측면도이다.
도 4는 본 발명의 일 실시예에 따른 자율주행 청소기의 예시 구성요소를 나타내는 블록도이다.
도 5a는 본 발명의 일 실시예에 따른 복수의 자율주행 청소기 간의 네트워크 통신을 도시한 개념도이고, 도 5b는 도 5a의 네트워크 통신의 일 예를 도시한 개념도이다.
도 5c는 본 발명의 일 실시예에 따른 복수의 자율주행 청소기 간의 추종 제어를 설명하기 위한 도면이다.
도 6은, 본 발명의 일 실시예에 따른 복수의 자율주행 청소기가 협업/추종 청소를 위해 서로의 상대 위치를 인식하는 방법을 설명하기 위한 대표 흐름도이다.
도 7은 본 발명의 일 실시예에 따라, 복수의 자율주행 청소기가 각각 자신의 위치가 표시된 서로 다른 장애물 지도를 가지고 통신하며 청소를 수행하는 예시도이다.
도 8은 본 발명의 일 실시예에 따라, 서로 다른 장애물 지도의 좌표계를 통일하기 위한 캘리브레이션 과정을 설명하기 위한 흐름도이다.
도 9a, 도 9b, 도 9c, 도9d, 도9e는 본 발명의 일 실시예에 따라, 서로 다른 장애물 지도를 스케일링, 회전, 이동하여 일치시키는 과정을 보여주는 예시 개념도들이다.
도 10은 본 발명의 일 실시예에 따른 복수의 자율주행 청소기가 협업/추종 청소를 위해 서로의 상대 위치를 인식하는 또 다른 방법을 설명하기 위한 흐름도이다.
이하, 본 발명에 관련된 자율주행 청소기에 대하여 도면을 참조하여 보다 상세하게 설명한다.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
도 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)는 건물(10) 외부에 위치할 수 있다.
복수의 청소기(100a, 100b)는, 스스로 주행하며 청소를 수행하는 청소기로서, 자율 주행 및 자율 청소를 수행할 수 있다. 복수의 청소기(100a, 100b)는, 주행 기능 및 청소 기능 외에, 내부에 각각 통신부(1100)를 구비할 수 있다.
또한, 복수의 청소기(100a, 100b), 서버(500), 및 복수의 단말기(300a, 300b)는 네트워크 통신(50)를 통해 서로 연결되어 서로 데이터를 교환할 수 있다. 이를 위해, 비록 도시되지는 않았지만, AP(access point; AP) 장치 등의 무선 공유기를 더 포함할 수 있다. 이러한 경우, 내부 네트워크 내에 위치한 단말기(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) 간의 거리와 관계없이 지정된 공간 내에서 서로의 상대 위치를 쉽게 파악할 수 방법을 제시하였다.
이와 같이 제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)와 제2청소기(100b)는 지정된 공간을 나누어 협업하며 청소하도록 동작할 수 있다. 이를 위해, 제1청소기(100a)와 제2청소기(100b)는 지정된 공간을 청소했던 이력이 적어도 한번은 있으며 자신의 위치 좌표가 표시된 장애물 지도를 각각 보유할 수 있다.
장애물 지도는, 특정 공간의 영역 관련 정보(예, 영역의 형상, 벽의 위치, 바닥의 높낮이, 문/문턱의 위치 등), 청소기의 위치 정보, 충전 스테이션의 위치 정보, 그리고 특정 공간 내에 존재하는 장애물에 관한 정보(예, 장애물의 위치, 크기 등)를 포함할 수 있다. 여기서, 장애물은 청소영역의 바닥으로부터 돌출되어 청소기의 주행을 방해하는 벽(wall), 가구, 집기 등의 고정 장애물과 움직이는 이동 장애물뿐만 아니라, 낭떠러지(cliff)도 포함할 수 있다.
제1청소기(100a)가 보유한 장애물 지도와 제2청소기(100b)가 보유한 장애물 지도는 서로 다를 수 있다. 예를 들어, 제1청소기(100a)와 제2청소기(100b)가 이종이거나 또는 탑재된 장애물 센서(예, 초음파 센서, 레이저 센서, 전파 센서, 적외선 센서, 범퍼 등)가 서로 다른 경우, 동일한 공간에 대해 작성된 것이라도 서로 다른 장애물 지도가 생성될 수 있다.
또한, 제1청소기(100a)와 제2청소기(100b)의 각 메모리(1700)에는 적어도 협업 청소를 하기 전에 지정된 공간에 대해 미리 작성된 장애물 지도 및 이와 관련된 맵 데이터가 저장될 수 있다.
여기에서, 각 장애물 지도는 지정된 공간에 대한 2D 또는 3D 영상 또는 그리드 맵 형태로 구현될 수 있다. 또한, 각 장애물 지도는 적어도 하나의 장애물 정보, 예를 들어 테이블, 벽면, 문턱 등의 위치 정보 및 크기 정보와 함께, 자신(즉, 제1청소기(100a) 또는 제2청소기(100b))의 위치 정보를 포함할 수 있다. 또한, 각 장애물 지도는 지정된 실제 공간의 형상과 동일하며, 평면도 실측값을 기초로 실제 공간과 동일한 스케일로 생성될 수 있다.
한편, 제1청소기(100a)와 제2청소기(100b)는 지정된 공간 내에서 각각 독립적으로 주행 및 청소를 수행할 수 있다. 그러나, 협업이 아닌 별개의 시나리오로 청소를 수행할 경우, 제1청소기(100a)의 주행 궤적과 제2청소기(100b)의 주행 궤적이 중첩되는 등, 복수의 청소기를 사용하여 효율적으로 청소를 수행하려는 목적에 반할 수 있다.
이에, 본 발명에서는 복수의 자율주행 청소기가 협업/추종 청소 동작을 수행하기 위해, 위치 센서 없이도 지정된 공간 내에서 서로의 상대 위치를 인식할 수 있다.
구체적으로, 본 발명에서는 제1청소기가 제2청소기와 통신하여, 제2청소기로부터 제2청소기의 위치가 표시된 장애물 지도를 수신한다. 그리고, 수신된 장애물 지도를 제1청소기의 장애물 지도를 기준으로 캘리브레이션하여 좌표계를 통일한다. 그리고, 좌표계가 통일된 제2청소기의 장애물 지도를 사용하여 제1청소기가 제2청소기의 상대 위치를 인식할 수 있다. 즉, 본 발명에서는 제1청소기와 제2청소기가 동일 공간에 대하여 각각 장애물 지도를 갖고 있기만 하면, 서로 다른 장애물 센서의 사용으로 인해 지도의 좌표계가 다르거나 서로 근거리 무선신호를 주고받을 정도로 가까이 있지 않거나 위치 센서를 탑재하지 않더라도, 동일 공간 내에서 서로의 상대 위치를 인식할 수 있다.
이하, 도 6을 참조하여 본 발명에 따라 정해진 공간 내에서 복수의 자율주행 청소기가 서로의 상대 위치를 파악하는 방법을 구체적으로 기술하겠다.
도 6을 참조하면, 먼저 제1청소기와 제2청소기의 각 위치가 서로 다른 제1장애물 지도와 제2장애물 지도에 표시되는 단계(S10)가 개시된다. 여기에서, 제1장애물 지도와 제2장애물 지도는 동일한 청소 공간에 대해 미리 작성된 서로 다른 장애물 지도를 의미한다.
구체적으로, 제1장애물 지도는 제1청소기가 과거에 특정 청소 공간을 주행하며 장애물 센서를 통해 수집한 정보를 기초로 생성한 격자지도 또는 영상지도이고, 제2장애물 지도는 제2청소기가 동일한 특정 청소 공간을 주행하며 장애물 센서를 통해 수집한 정보를 기초로 생성한 격자지도 또는 영상지도일 수 있다. 여기에서, 상기 격자지도는, 외부 서버나 지정된 인터넷 사이트 등으로부터 획득된 청소 공간의 평면도를 기초로 하여 생성될 수 있다. 또한, 상기 영상지도는 청소기에 탑재된 카메라를 통해 획득된 이미지를 연결 및 조합하여 생성될 수 있다.
상기 제1장애물 지도와 제2장애물 지도는 각각 제1청소기의 메모리와 제2청소기의 메모리에 저장되거나, 또는 제1청소기 및 제2청소기의 동작을 제어하는 컨트롤러 장치 또는 그와 통신하는 서버에 저장될 수도 있다.
또한, 제1장애물 지도에 표시되는 제1청소기의 위치와 제2장애물 지도에 표시되는 제2청소기의 위치는, 주행 전 충전 스테이션의 위치를 초기 위치로 하여 결정될 수 있다. 즉, 제1청소기와 제2청소기는 고정된 충전 스테이션을 초기 위치로 하여 주행을 시작하는 것으로 전제할 수 있다. 이를 위해, 제1청소기와 제2청소기는, 초기 위치인 충전 스테이션의 위치 정보를 각각의 메모리(1700)에 미리 저장할 수 있다.
다음, 제2청소기의 제2장애물 지도를 제1청소기로 전송하는 단계(S20)가 수행된다. 이를 위해, 제1청소기와 제2청소기는 Wi-Fi, 블루투스 등의 네트워크 통신을 통해 연결된다. 이때, 제2장애물 지도의 전송은 제1청소기의 요청에 따라 수행될 수 있다. 또는, 제1청소기와 제2청소기의 주행 전 제2청소기의 제2장애물 지도가 제1청소기로 전송될 수도 있다.
한편, 제2장애물 지도를 수신한 제1청소기에서는, 제2장애물 지도의 좌표계가 제1청소기의 제1장애물 지도의 좌표계에 매칭되도록 캘리브레이션을 수행한다(S30).
여기에서, 제2장애물 지도의 좌표계를 제1청소기의 제1장애물 지도의 좌표계에 매칭되게 캘리브레이션한다는 것은, 제1청소기와 제2청소기가 동일 좌표계로 표시되어 서로의 상대 위치를 인식할 수 있도록, 제2장애물 지도의 좌표계를 제1장애물 지도에 일치되게 변형하는 것을 의미한다.
구체적으로, 먼저 제1장애물 지도의 중심 위치를 원점으로 하는 X, Y 좌표를 형성한다. 여기에서, 상기 중심 위치는, 제1장애물 지도의 무게 중심이 되는 지점(point)이거나 또는 해당 공간 내에 고정적으로 존재하는 특정 지점(예, 충전 스테이션의 위치) 의미할 수 있다. 다음, 제2장애물 지도를 구성하는 개체들(예, 격자 칸)의 좌표값을 X, Y 좌표로 변환하고, 변환된 개체들의 Y축 좌표값은 미리설정된 비율로 축소/확대하고, X축 좌표값은 미리설정된 X축 좌표값 변환함수에 대입하여 스케일링을 변환한다. 그런 다음, 스케일링이 변환된 제2장애물 지도가 제1장애물과 완전히 오버랩되도록, X, Y 축의 중심을 평행이동 및/또는 회전이동하고 이에 대응되는 변환값을 적용함으로써, 캘리브레이션이 완료될 수 있다.
한편, 다른 예에서, 상기 캘리브레이션은 제1장애물 지도를 기준으로 수행되는 대신 기정해진 맵 또는 표준 좌표계를 기준으로 수행될 수 있다. 이러한 경우, 제2장애물 지도뿐만 아니라, 제1장애물 지도의 좌표계에 대해서도 캘리브레이션이 수행될 것이다.
이와 같이 캘리브레이션의 수행에 따라 제1 및 제2장애물 지도의 좌표계가 통일되면, 제1청소기에서는, 제2장애물 지도에 표시된 제2청소기의 상대 위치를 감지할 수 있다(S40).
또한, 일 예에서는, 캘리브레이션된 제2장애물 지도 상에 제2청소기의 상대 위치 좌표가 표시될 수 있다. 이를 위해, 제1청소기 및/또는 제2청소기와 통신하는 이동 단말기(300a)의 화면에 제1청소기와 제2청소기의 상대 위치가 표시된 제2장애물 지도의 이미지가 출력될 수 있을 것이다.
다음, 제1청소기에서는, 감지된 제2청소기의 상대 위치를 기초로 생성된 청소명령과 제1청소기의 상대 위치 정보를 제2청소기로 전송해준다(S50).
여기에서, 제1청소기의 상대 위치 정보는 캘리브레이션의 수행에 따라 제1 및 제2 장애물 지도가 완전히 오버랩되었을 때, 제2청소기의 위치 좌표를 기준으로 상대적으로 파악될 수 있다.
또, 여기에서 상기 청소명령은, 제1청소기의 위치 정보와, 제1 또는 제2 장애물 지도의 장애물 정보, 및 제2청소기의 위치 정보를 기초로 선택된 특정 영역에 대한 청소명령이거나 또는 제1청소기의 주행 경로를 추종하는 청소명령일 수 있다.
일 실시 예에서는, 제1청소기가, 전술한 캘리브레이션의 수행에 대응되는 변환값을 제2청소기로 전송함으로써, 제2청소기에서도 통일된 좌표계로 제2청소기의 위치와 함께 제1청소기의 상대 위치를 실시간으로 인식할 수 있도록 동작할 수도 있다.
또한, 일 실시 예에서, 상기 제1청소기는, 제2장애물 지도의 캘리브레이션 수행시, 제1장애물 지도에만 표시된 장애물 정보의 위치 좌표를 제2청소기의 위치 좌표를 기준으로 파악한 다음, 제2청소기로 전송해줄 수 있다. 이에 의하면, 예를 들어 제1청소기의 장애물 센서의 성능이 제2청소기의 그것보다 더 향상된 경우, 지정된 청소영역 내의 미검출된 장애물 정보를 보다 쉽고 빠르게 제공받을 수 있다. 나아가, 제2청소기의 제2장애물 지도의 업데이트가 쉽고 빠르게 이루어질 수 있다.
또한, 본 발명에서 제2청소기와 제1청소기가 지정된 공간을 여러 개로 나누어 협업 청소하는 경우, 협업 시나리오를 공유하기 위해 초기에 한번만 서로의 상대 위치를 파악하는 것으로 충분할 수 있다. 또는, 일 예에서는, 복수의 분할된 영역들 중 어느 하나의 영역에 대한 청소가 종료된 시점마다, 제1청소기와 제2청소기가 서로의 상대 위치를 파악하도록 구현될 수도 있다.
이상에서 설명한 바와 같이, 본 발명에서는 복수의 자율주행 청소기가 정해진 공간을 추종하면서 또는 협업하면서 청소하는 경우, 위치 센서 없이 정해진 공간 내에서 서로의 상대 위치를 쉽게 파악할 수 있다.
이하, 도 7은 본 발명의 일 실시예에 따라, 복수의 자율주행 청소기가 각각 자신의 위치가 표시된 서로 다른 장애물 지도를 가지고 통신하며 청소를 수행하는 예시를 보여준다.
도 7을 참조하면, 정해진 청소 공간의 평면도가 협업을 위해 복수의 구역들(a~f)로 분할/구획될 수 있다. 비록 도 7에는, 제1청소기(100a)와 제2청소기(100b)가 동일 구역(a) 내에 위치한 것을 예시로 도시하였으나, 이에 한정되지 않으며 제1청소기(100a)와 제2청소기(100b)는 정해진 청소 공간 내의 어디에 위치하더라도 상관없다.
한편, 제1청소기(100a)와 제2청소기(100b)에는 각각 서로 다른 장애물 지도(Map 1, Map 2)가 미리 생성되어 저장된다. 이때에, 제1장애물 지도(Map 1)와 제2장애물 지도(Map 2)는 동일 청소 공간을 서로 다른 센서에 기반하여 감지하여 생성한 서로 다른 지도일 수 있다. 예를 들어, 제1장애물 지도(Map 1)는 RGBD 센서를 이용한 장애물 지도이고, 제2장애물 지도(Map 2)는 초음파 센서나 레이저 센서에 기반한 장애물 지도일 수 있다.
전술한 캘리브레이션 과정에 따라, 제1장애물 지도(Map 1)의 좌표계와 제2장애물 지도(Map 2)의 좌표계가 일치되면, 서로의 상대 위치를 기초로 협업 시나리오를 생성할 수 있다.
예를 들어, 도 7에서 제1청소기(100a)와 제2청소기(100b)의 상대 위치를 기준으로, 제1그룹의 구역(b, c), 제2그룹의 구역(e, f)과, 제3그룹의 구역(a, d)으로 분할한 다음, 제1청소기(100a)는 현재 위치에서 최단 주행 궤적을 그릴 것으로 예상되는 제1그룹의 구역(b, c)을 청소하고, 이와 동시에 제2청소기(100b)는 자신의 위치를 기준으로 제2그룹의 구역(e, f)을 청소하고, 각자의 청소 구역을 완료한 후에는 함께 제3그룹의 구역(a, d)을 청소하는 협업 시나리오가 생성될 수 있을 것이다. 한편, 제1그룹의 구역(b, c)의 청소 완료시점과 제2그룹의 구역(e, f)의 청소 완료 시점이 상이한 경우에는, 청소 시간의 단축을 위해, 이들 중 먼저 청소가 완료된 시점을 기준으로 기존의 협업 시나리오가 수정 또는 변형될 수 있을 것이다.
또한, 일 예에서는, 장애물 지도에 대응되는 복수의 구역들 중 필요한 부분만 잘라서 선택적으로 캘리브레이션을 수행할 수도 있다. 예를 들어, 이미 청소를 마친 구역을 제거하고 나머지 구역들에 대해서만 장애물 지도의 좌표계를 통일함으로써, 스케일링, 회전, 이동에 대응되는 변환값을 산출하는 복잡도를 감소시킬 수 있을 것이다.
이하, 도 8, 및 도 9a 내지 도 9e를 참조하여, 본 발명의 일 실시예에 따라, 서로 다른 장애물 지도의 좌표계를 통일하기 위한 캘리브레이션 과정을 보다 구체적으로 설명하겠다. 장애물 지도의 캘리브레이션은, 어느 하나가 다른 하나를 기준으로 완전히 일치되도록 변형는 경우, 또는 서로 다른 장애물 지도가 기준 맵에 일치되도록 모두 변형되는 경우를 모두 포함한다.
먼저, 캘리브레이션 과정의 제1단계로, 장애물 지도를 스케일링(101)하는 과정이 수행될 수 있다. 예를 들어, 확장 스케일되는 경우 장애물 지도의 격자 한칸의 도 9a를 참조하면, 제2장애물 지도(Map 1)가 제1장애물 지도(Map 1)의 크기와 일치되게 중심점을 기준으로 확장되는 방식으로 스케일링이 이루어지는 것을 확인할 수 있다. 스케일링을 위한 X, Y 변환은 위에서 설명하였으므로, 여기서는 설명을 생략하겠다.
한편, 일 예에서, 제2장애물 지도가 제1장애물 지도 보다 큰 경우에는 중심점을 기준으로 축소되는 방식으로 스케일링이 이루어질 수 있을 것이다. 또는, 제1장애물 지도는 일정값 축소(확장)되고 제2장애물 지도는 일정값 확장(축소)되는 방식으로 복수의 장애물 지도 모두에 대하여 스케일링이 이루어질 수도 있다. 여기에서, 일정값은 기정해진 좌표계를 기준으로 결정된 축소 또는 확장 비율값을 의미한다.
다음, 캘리브레이션 과정의 제2단계로, 장애물 지도를 회전(102)하는 과정이 수행될 수 있다. 장애물 지도의 회전은, 이미지의 회전 방식과 유사하게, 제2장애물 지도(Map 2)의 현재 위치를 기준으로, 우측 90도, 좌측 90도, 180도, 세로대칭이동, 가로대칭이동 중 어느 하나로 회전할 수 있다. 다만, 이에 한정되지 않고 제시된 회전각과 다른 회전각(θ)이 적용될 수 있음은 물론이다. 제2장애물 지도(Map 2)가 회전하는 동안, 에러를 최소화하기 위해 제1장애물 지도(Map 1)는 회전하지 않고 고정된 상태를 유지한다.
도 9b는, 제2장애물 지도(Map 2)가 우측으로 θ 만큼 회전한 경우로, 이를 행렬로 표현하면 다음과 같다. 여기서, tx, ty는 임의 지점 t의 회전 전 x,y 좌표값이다.
Figure 112018063350011-pat00001
그리고, 제2단계과 동시에 또는 순차로, 장애물 지도를 이동(103)하는 과정이 수행될 수 있다. 도 9c를 참조하면, 복수의 장애물 지도에서 특정 기준점의 좌표(x, y)가 서로 일치되도록, 특정 기준점의 x, y값을 변환한 다음, 변환함수를 이용하여 x축 및/또는 y축을 대응되게 변환하는 방식으로 이동/평행이동이 이루어질 수 있다.
이와 같이, 스케일링(101), 회전(102), 및 이동(103)이 수행되면, 도 9d에 도시된 바와 같이 복수의 장애물 지도(Map 1, Map 2)가 서로 완전히 오버랩된다. 이때, 비록 도시되지는 않았지만, 필요한 경우 오버랩되지 않은 경계영역을 크롭(crop)하여 복수의 장애물 지도(Map 1, Map 2)가 완전히 동일한 형상이 되도록 보정할 수 있다.
이제, 복수의 청소기들에 대한 상대 위치를 동일 좌표계에서 인식할 수 있다(104). 이와 관련하여 도 9e를 참조하면, 좌표계 통일로 인하여 복수의 장애물 지도(Map 1, Map 2)가 마치 하나의 지도처럼 인식되므로, 제1청소기의 위치 좌표(P1)와 제2청소기의 위치 좌표(P2)도 마치 하나의 특징 맵(SLAM, Simultaneous localization and mapping)에 표시된 것처럼 인식될 수 있다.
여기에서, 특징 맵(SLAM, Simultaneous localization and mapping)이란, 자율주행 청소기가 임의의 공간을 주행하며 청소기에 부착된 센서(예, 이미지 센서, 레이저 센서 등)만으로 자신의 위치를 계측하면서 동시에 임의의 공간의 환경에 대하여 작성한 지도를 의미한다. 구체적인 예로, 자율주행 청소기에 탑재된 카메라 등의 이미지 센서를 이용하여 천정이나 벽면에서 특징이 되는 점들을 검출한 다음, 그 특징점들을 반복적으로 기록함으로써 청소기의 위치를 산출하고, 별도의 거리 센서 등을 이용하여 상기 산출된 청소기의 위치로부터 거리 센서에 의해 감지된 센서값을 기초로 공간의 형태를 기록함으로써 특징 맵(SLAM)을 작성할 수 있다.
이는, 과거에 적어도 한번 이상 주행된 적이 있는 지정된 공간에 대하여, 실제 주행경로를 기초로 주행 가능한 지형인지에 따라 생성된 격자지도인 본원의 "장애물 지도"와 구분된다.
한편, 비록 도시되지는 않았지만, 일 실시 예에서는, 캘리브레이션의 수행 후 지도 보정 또는 좌표 보정이 추가로 수행될 수 있다. 이러한 지도 보정 또는 좌표 보정은, 1) 캘리브레이션이 완료된 복수의 장애물 지도의 맵 형상(예, 형태, 크기)이 서로 완전히 오버랩되지 않거나, 2) 복수의 자율주행 청소기의 성능 차이에 따라 장애물 영역 및 주행 가능 영역에 차이가 있거나, 3) 또는 앞의 두 경우에는 해당하지 않으나 보다 정확한 좌표 인식을 위해 수행될 수 있을 것이다.
구체적으로, 1)의 일 예로, 제1장애물 지도와 제2장애물 지도가 최대영역이 포개지도록 오버랩된 상태에서, 포개지지 않은 어느 하나의 장애물 지도의 경계영역을 크롭(crop)하는 방식으로 지도 보정이 수행될 수 있다.
또한, 2)의 일 예로, 자율주행 청소기의 주행 성능의 차이에 따라 제2청소기가 지정된 공간 내의 특정영역(A)을 주행할 수 없는 경우에는, 제2청소기의 제2장애물 지도에서 특정영역(A)에 대응되는 부분을 삭제하는 방식으로 지도 보정이 수행될 수 있다. 또는, 자율주행 청소기의 장애물 감지 성능의 차이에 따라 제1청소기가 지정된 공간 내에서 단독으로 감지한 장애물(B)이 있는 경우에는 제2청소기의 제2장애물 지도에 제1청소기가 단독으로 감지한 장애물(B)의 위치 또는 영역을 제2장애물 지도에 표시하는 방식의 좌표 보정이 수행될 수 있을 것이다. 이러한 경우, 제1청소기에서 제2청소기로 제1장애물 지도를 전송해주는 방식이 채택될 수도 있을 것이다.
또한, 3)의 일 예로, 복수의 장애물 지도(Map 1, Map 2) 각각에 충전 스테이션의 위치가 표시된 경우, 충전 스테이션의 위치 좌표가 일치되도록 변환값을 보정함으로써, 제1청소기의 위치 좌표(P1)와 제2청소기의 위치 좌표(P2)의 상대 위치가 보다 정확하기 표시되도록 좌표 보정을 수행할 수 있을 것이다.한편, 필요한 경우, 캘리브레이션의 수행 후, 전술한 일부 삭제 또는 일부 추가 방식의 지도 보정 또는 좌표 보정을 제한하도록 구현될 수도 있을 것이다. 예를 들어, 제1청소기와 제2청소기 간에 협업하여 청소를 수행하는 동안 지정된 공간 내에서 서로의 상대 위치를 지속적으로 파악하기 위해, 추가 보정 없는 제1장애물 지도와 제2장애물 지도를 서로 공유할 수 있을 것이다. 이를 위해, 제1청소기는 캘리브레이션이 수행된 제2장애물 지도를 자신의 제1장애물 지도를 함께 제2청소기로 전송해줄 수 있다.
또한, 일 실시 예에서, 이와 같이 장애물 지도에 대한 캘리브레이션이 완료되면, 이후부터는 제1청소기의 제1장애물 지도를 이용하여 제2청소기로부터 수신된 무선신호에 대응되는 상기 제2청소기의 위치 좌표를 계속 인식할 수 있다.
또한, 일 실시 예에서는, 제1청소기 및 제2청소기의 현재 위치뿐만 아니라, 과거의 위치가 현재위치와 함께 표시될 수 있다. 즉, 제2청소기의 주행 궤적이 제1장애물 지도에 표시될 수도 있다. 그에 따라, 제2청소기의 주행 궤적과 제1청소기의 위치를 기준으로 초기의 협업 시나리오가 효율적인 방향으로 수정 또는 업데이트될 수도 있다.
이상에서는, 복수의 자율주행 청소기가 위치 센서 없이 정해진 공간 내에서의 상대 위치를 인식하기 위한 지도 캘리브레이션 과정을 구체적으로 살펴보았다. 이하에서는 도 10을 참조하여, 복수의 자율주행 청소기가 협업/추종 청소를 위해 서로의 상대 위치를 파악하는 또 다른 방법을 설명하겠다.
도 10을 참조하면, 제1청소기(100a)와 통신하는 제2청소기(100b)가 자신의 장애물 지도를 제1청소기(100a)로 전송할 수 있다(1001). 이때에, 장애물 지도의 전송은 그리드 맵(grid map) 형태이거나 또는 이미지 형태일 수 있다. 또한, 제2청소기(100b)의 장애물 지도를 수신하는 제1청소기(100a)는 협업 관계에서, 메인 청소기일 수도 있고 서브 청소기일 수도 있다.
다음, 제1청소기(100a)에서 제2청소기(100b)의 장애물 지도가 수신된 것을 감지하면(1002), 수신된 제2청소기(100b)의 장애물 지도의 크기를 정규화한다(1003).
여기에서, 장애물 지도의 크기 정규화란, 제2청소기(100b)의 장애물 지도의 크기를 제1청소기(100a)의 장애물 지도의 크기에 일치하도록 스케일링하는 것을 의미할 수 있다. 또는, 제2청소기(100b)의 장애물 지도와 제1청소기(100a)의 장애물 지도를 정해진 스케일값으로 모두 조절하는 것을 의미할 수 있다. 예를 들어, 제1청소기의 제1장애물 지도와 제2청소기의 제2장애물 지도가 모두 동일하게 그리드 맵을 사용하더라도 격자 한 칸의 크기는 서로 다를 수 있으므로, 크기 정규화 과정이 필요하다.
또한, 일 예에서는 제1청소기(100a)에서 제1장애물 지도의 전송 전, 제1장애물 지도의 격자 크기(size)를 실제 사이즈로 변경하고, 사이즈 변경된 제1장애물 지도를 제2청소기(100b)로 전송하는 형태로 구현될 수 있다. 이러한 경우, 제1장애물 지도의 크기 정규화 과정이 제1장애물 지도의 전송 보다 먼저 수행될 수 있을 것이다.
이와 같이 장애물 지도의 크기가 정규화되면, 정규화된 장애물 지도를 회전/이동시키는 변환값을 산출한다(1004). 정규화된 장애물 지도를 회전/이동하는 변환값은 전술한 행렬함수에 X, Y 값을 적용하여 획득할 수 있다.
다음, 제1청소기(100a)는 산출된 회전/이동 변환값을 제2청소기(100b)로 전송해준다(1005). 제2청소기(100b)에서 회전/이동 변환값의 수신을 감지하면(1006), 수신된 회전/이동 변환값을 자신의 장애물 지도에 적용하여 제1청소기(100a)의 장애물 지도의 좌표계와 통일시킨다(1007). 이후부터, 제2청소기(100b)는 자신의 위치가 변경될때마다, 그 x, y 좌표에 회전/이동 변환값을 추가로 적용함으로써, 제1청소기(100a)와 동일한 좌표계로 자신의 위치를 인식하게 된다.
따라서, 제1청소기(100a)로부터 위치 좌표에 대응되는 무선신호가 수신되면(1008), 제2청소기(100b)에서는 자신의 위치 좌표는 물론, 좌표계가 통일된 제1청소기(100a)의 위치 좌표를 동시에 인식할 수 있다.
구체적으로, 회전/이동 변환값이 적용된 제2청소기(100b)의 장애물 지도에는 제2청소기(100b)의 위치 좌표가 실시간으로 표시된다. 그리고, 제1청소기(100a)로부터 위치 좌표에 대응되는 무선신호가 수신되면, 제2청소기(100b)는 제1청소기(100a)의 장애물 지도와 좌표계가 통일된 자신의 장애물 지도에 제1청소기(100a)의 상대 위치 좌표를 함께 표시할 수 있다. 이를 통해, 제2청소기(100b)에서는 자신의 위치 좌표와 제1청소기(100a)의 상대 위치 좌표를 실시간으로 파악할 수 있게 된다.
다음, 제2청소기(100b)는 자신의 장애물 지도로부터 획득된 자신의 위치 정보와, 장애물 정보, 그리고 제1청소기(100a) 상대 위치를 기초로 추종/협업(1009)하며 청소동작을 수행할 수 있다.
이와 같은 추종/협업을 위해, 예를 들어, 인식된 상대 위치를 기초로, 다익스트라(Dijkstra) 알고리즘, A* (A-star) 알고리즘 등의 최단 경로 알고리즘을 적용하여 제1청소기와 제2청소기의 주행경로 또는 주행시간의 합이 최단이 되도록 협업 시나리오를 생성할 수 있다. 또는, 복수의 분할된 영역들에 대한 청소 우선순위와 제1청소기 및 제2청소기의 남은 배터리양을 기초로 청소 구역을 나누어 할당하는 협업 시나리오를 생성할 수도 있을 것이다.
한편, 이상에서는 두 대의 청소기를 사용하여 협업 청소하는 것을 예시로 설명하였으나, 이에 한정되지 않으며 세대 이상의 청소기가 협업하여 서로의 위치를 인식하면서 청소를 수행하는 경우에도 본 발명의 실시 예들이 적용될 수 있을 것이다.
이상에서 살펴본 바와 같이, 본 발명의 실시 예에 따른 복수의 자율주행 청소기에 의하면, 복수의 자율주행 청소기가 위치 센서를 탑재하지 않고도 지정된 공간 내의 다른 청소기의 위치를 인식하여 효율적인 협업 청소를 수행할 수 있다. 또한, 복수의 자율주행 청소기의 종류가 달라서 동일한 공간에 대해 서로 다른 청소 맵을 사용하는 경우라도 특징 맵(SLAM)을 추가로 공유하지 않고 서로의 상대 위치를 쉽게 파악할 수 있다. 그에 따라, 협업 청소를 수행하는 중에도 복수의 자율주행 청소기의 상대 위치에 따라 협업 시나리오를 효율적으로 수정하거나 업데이트할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 제어부(1800)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (7)

  1. 본체를 이동시키는 주행부;
    청소영역에 대한 제1장애물 지도가 저장되는 메모리;
    제2청소기와 통신하는 통신부; 및
    상기 제2청소기로부터 상기 청소영역에 대한 제2장애물 지도가 수신되면, 저장된 제1장애물 지도의 좌표계를 기준으로 상기 수신된 제2장애물 지도에 대한 캘리브레이션을 수행하는 제어부를 포함하고,
    상기 제어부는,
    캘리브레이션이 수행된 제2장애물 지도를 사용하여 상기 제2청소기의 위치를 인식하고, 상기 제2청소기의 위치를 기초로 생성된 청소명령과 상기 본체의 위치 정보를 상기 제2청소기로 전송하는 것을 특징으로 하는 자율주행 청소기.
  2. 제1항에 있어서,
    상기 제어부는,
    상기 제1 및 제2장애물 지도의 좌표계가 일치되도록 상기 제1 및 제2장애물 지도 중 적어도 하나를 스케일링, 회전, 또는 이동하는 변환값을 산출하여 상기 제2장애물 지도에 대한 캘리브레이션을 수행하는 것을 특징으로 하는 자율주행 청소기.
  3. 제1항에 있어서,
    상기 본체의 위치 정보는 상기 캘리브레이션이 수행된 제2장애물 지도에도 표시되는 것을 특징으로 하는 자율주행 청소기.
  4. 제1항에 있어서,
    상기 제2청소기로 전송되는 상기 청소명령은,
    상기 본체의 위치 정보, 상기 제1 또는 제2 장애물 지도의 장애물 정보, 및 상기 제2청소기의 위치 정보를 기초로 선택된 특정 영역에 대한 청소명령이거나 제1청소기의 주행 경로를 추종하는 청소명령인 것을 특징으로 하는 자율주행 청소기.
  5. 제1항에 있어서,
    상기 제어부는,
    상기 캘리브레이션이 완료되면, 상기 제1장애물 지도를 이용하여 상기 제2청소기로부터 수신된 무선신호에 대응되는 상기 제2청소기의 위치 좌표를 인식하는 것을 특징으로 하는 자율주행 청소기.
  6. 제1청소기와 제2청소기를 포함하는 복수의 자율주행 청소기로서,
    상기 제1청소기는,
    상기 제2청소기로부터 청소영역에 대한 장애물 지도를 수신하고, 기저장된 자신의 장애물 지도의 좌표계를 기준으로 상기 수신된 장애물 지도에 대한 캘리브레이션을 수행하고 상기 캘리브레이션에 대응되는 변환 데이터를 상기 제2청소기로 전송하며,
    상기 제2청소기는,
    상기 변환 데이터를 자신의 장애물 지도에 적용하고, 상기 제1청소기로부터 수신되는 무선신호에 대응되는 위치 좌표를 인식하여 청소명령을 생성하는 것을 특징으로 하는 복수의 자율주행 청소기.
  7. 제6항에 있어서,
    상기 제1청소기는,
    상기 제1 및 제2장애물 지도의 좌표계가 일치되도록 상기 제1 및 제2장애물 지도 중 적어도 하나를 스케일링, 회전, 또는 이동하여 상기 변환 데이터를 생성하는 것을 특징으로 하는 자율주행 청소기.
KR1020180074311A 2018-06-27 2018-06-27 복수의 자율주행 청소기 및 그 제어방법 KR102015498B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180074311A KR102015498B1 (ko) 2018-06-27 2018-06-27 복수의 자율주행 청소기 및 그 제어방법
PCT/KR2019/007065 WO2020004834A1 (en) 2018-06-27 2019-06-12 A plurality of autonomous cleaners and a controlling method for the same
EP19825981.4A EP3813623A4 (en) 2018-06-27 2019-06-12 A VARIETY OF AUTONOMOUS CLEANERS AND CONTROL METHODS FOR THEM
US17/253,198 US20210114220A1 (en) 2018-06-27 2019-06-12 A plurality of autonomous cleaners and a controlling method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180074311A KR102015498B1 (ko) 2018-06-27 2018-06-27 복수의 자율주행 청소기 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR102015498B1 true KR102015498B1 (ko) 2019-10-23

Family

ID=68460849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180074311A KR102015498B1 (ko) 2018-06-27 2018-06-27 복수의 자율주행 청소기 및 그 제어방법

Country Status (4)

Country Link
US (1) US20210114220A1 (ko)
EP (1) EP3813623A4 (ko)
KR (1) KR102015498B1 (ko)
WO (1) WO2020004834A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210153710A1 (en) * 2019-11-22 2021-05-27 Vorwerk & Co. Interholding Gmbh System with at least two automatically moving floor processing devices as well as a method for operating a system
WO2021225234A1 (en) * 2020-05-08 2021-11-11 Lg Electronics Inc. Robot cleaner and method for controlling the same

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11969902B1 (en) * 2017-05-22 2024-04-30 AI Incorporated Method for robotic devices to interact with each other
US10835096B2 (en) * 2018-08-30 2020-11-17 Irobot Corporation Map based training and interface for mobile robots
USD938677S1 (en) * 2019-08-28 2021-12-14 Lg Electronics Inc. Robotic vacuum cleaner
USD943227S1 (en) * 2019-08-28 2022-02-08 Lg Electronics Inc. Robotic vacuum cleaner
USD935711S1 (en) * 2019-08-28 2021-11-09 Lg Electronics Inc. Robotic vacuum cleaner
US20210282613A1 (en) * 2020-03-12 2021-09-16 Irobot Corporation Control of autonomous mobile robots
WO2022128896A1 (en) * 2020-12-15 2022-06-23 Interdigital Ce Patent Holdings, Sas Method and apparatus for multiple robotic devices in an environment
CN115129036A (zh) * 2021-03-26 2022-09-30 信泰光学(深圳)有限公司 移动装置及其移动方法
CN113854906B (zh) * 2021-10-22 2022-07-15 广州科语机器人有限公司 多台清洁机器人协同作业的控制方法、装置及设备
JP2024010564A (ja) * 2022-07-12 2024-01-24 三菱重工業株式会社 経路設定方法、プログラム及び経路設定システム
CN116358531B (zh) * 2023-06-01 2023-09-01 佛山市星曼信息科技有限公司 地图构建方法、装置、机器人和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133882A (ja) * 2002-05-10 2004-04-30 Royal Appliance Mfg Co 自律性マルチプラットフォーム・ロボットシステム
JP3986310B2 (ja) * 2001-12-19 2007-10-03 シャープ株式会社 親子型電気掃除機
KR20090114965A (ko) * 2008-04-30 2009-11-04 전자부품연구원 청소 로봇 시스템 및 그 제어방법
KR20130120307A (ko) * 2012-04-25 2013-11-04 주식회사 하이로시 주행로봇 및 주행로봇의 제어방법
KR20140089241A (ko) * 2013-01-04 2014-07-14 한국전자통신연구원 군집지능로봇에서의 확률기반 전파맵 생성 장치 및 방법
JP2015147091A (ja) * 2015-04-17 2015-08-20 シャープ株式会社 自走式掃除機
KR20160036008A (ko) * 2014-09-24 2016-04-01 삼성전자주식회사 청소 로봇 및 청소 로봇의 제어 방법
KR20170140561A (ko) * 2016-06-13 2017-12-21 한국전자통신연구원 다중 로봇의 주행 제어 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2783456B2 (ja) * 1990-11-16 1998-08-06 ファナック株式会社 ロボットの座標系設定方式
KR102527645B1 (ko) * 2014-08-20 2023-05-03 삼성전자주식회사 청소 로봇 및 그 제어 방법
DE112017002156B4 (de) * 2016-04-25 2020-11-26 Lg Electronics Inc. Beweglicher roboter, system für mehrere bewegliche roboter, und kartenlernverfahren für bewegliche roboter
JP7166926B2 (ja) 2016-09-14 2022-11-08 アイロボット・コーポレーション エリア分類に基づくロボットの構成可能な動作のためのシステム及び方法
EP3974934A1 (de) * 2017-03-02 2022-03-30 Robart GmbH Verfahren zur steuerung eines autonomen, mobilen roboters
US10466953B2 (en) * 2017-03-30 2019-11-05 Microsoft Technology Licensing, Llc Sharing neighboring map data across devices
AU2018203588B2 (en) * 2017-06-05 2019-11-14 Bissell Inc. Autonomous floor cleaning system
KR102489806B1 (ko) * 2018-01-03 2023-01-19 삼성전자주식회사 청소용 이동장치, 협업청소 시스템 및 그 제어방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3986310B2 (ja) * 2001-12-19 2007-10-03 シャープ株式会社 親子型電気掃除機
JP2004133882A (ja) * 2002-05-10 2004-04-30 Royal Appliance Mfg Co 自律性マルチプラットフォーム・ロボットシステム
KR20090114965A (ko) * 2008-04-30 2009-11-04 전자부품연구원 청소 로봇 시스템 및 그 제어방법
KR20130120307A (ko) * 2012-04-25 2013-11-04 주식회사 하이로시 주행로봇 및 주행로봇의 제어방법
KR20140089241A (ko) * 2013-01-04 2014-07-14 한국전자통신연구원 군집지능로봇에서의 확률기반 전파맵 생성 장치 및 방법
KR20160036008A (ko) * 2014-09-24 2016-04-01 삼성전자주식회사 청소 로봇 및 청소 로봇의 제어 방법
JP2015147091A (ja) * 2015-04-17 2015-08-20 シャープ株式会社 自走式掃除機
KR20170140561A (ko) * 2016-06-13 2017-12-21 한국전자통신연구원 다중 로봇의 주행 제어 장치 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210153710A1 (en) * 2019-11-22 2021-05-27 Vorwerk & Co. Interholding Gmbh System with at least two automatically moving floor processing devices as well as a method for operating a system
WO2021225234A1 (en) * 2020-05-08 2021-11-11 Lg Electronics Inc. Robot cleaner and method for controlling the same
KR20210136685A (ko) * 2020-05-08 2021-11-17 엘지전자 주식회사 로봇 청소기 및 그 제어 방법
KR102390040B1 (ko) * 2020-05-08 2022-04-25 엘지전자 주식회사 로봇 청소기 및 그 제어 방법

Also Published As

Publication number Publication date
WO2020004834A1 (en) 2020-01-02
EP3813623A1 (en) 2021-05-05
US20210114220A1 (en) 2021-04-22
EP3813623A4 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
KR102015498B1 (ko) 복수의 자율주행 청소기 및 그 제어방법
KR102252034B1 (ko) 이동 로봇 및 그 제어방법
KR102100477B1 (ko) 복수의 자율주행 이동 로봇
US11409308B2 (en) Robot cleaner and a controlling method for the same
KR102234641B1 (ko) 이동 로봇 및 복수의 이동 로봇의 제어방법
KR20190134969A (ko) 복수의 이동 로봇 및 그 제어방법
TW201947337A (zh) 複數個移動式機器人及其控制方法
KR102204011B1 (ko) 복수의 자율주행 이동 로봇
KR20200103203A (ko) 복수의 자율주행 이동 로봇
KR102198187B1 (ko) 이동 로봇
KR102096564B1 (ko) 복수의 자율주행 청소기
KR102127931B1 (ko) 로봇 청소기 및 그것의 제어방법
US20220211236A1 (en) Mobile robot and control method of mobile robots
US20220276660A1 (en) Robot cleaner and method for controlling the same
KR102081340B1 (ko) 복수의 로봇 청소기 및 그 제어방법
KR102179057B1 (ko) 복수의 자율주행 청소기
KR102035467B1 (ko) 로봇 청소기 및 그것의 제어방법
KR20200133544A (ko) 이동 로봇 및 그 제어방법
US12004702B2 (en) Mobile robot and method of controlling mobile robot
KR102100478B1 (ko) 복수의 자율주행 이동 로봇
US20220125255A1 (en) Mobile robot and method of controlling mobile robot