KR20210136685A - 로봇 청소기 및 그 제어 방법 - Google Patents
로봇 청소기 및 그 제어 방법 Download PDFInfo
- Publication number
- KR20210136685A KR20210136685A KR1020200055280A KR20200055280A KR20210136685A KR 20210136685 A KR20210136685 A KR 20210136685A KR 1020200055280 A KR1020200055280 A KR 1020200055280A KR 20200055280 A KR20200055280 A KR 20200055280A KR 20210136685 A KR20210136685 A KR 20210136685A
- Authority
- KR
- South Korea
- Prior art keywords
- cleaner
- robot cleaner
- robot
- cleaners
- distance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000004140 cleaning Methods 0.000 claims abstract description 111
- 238000004891 communication Methods 0.000 claims description 50
- 230000008859 change Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 description 31
- 239000000428 dust Substances 0.000 description 28
- 230000006870 function Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000001678 irradiating effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004887 air purification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 235000004443 Ricinus communis Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation 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/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/28—Floor-scrubbing machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts 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/4002—Installations of electric equipment
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts 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/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts 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/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts 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/4063—Driving means; Transmission means therefor
- A47L11/4066—Propulsion of the whole machine
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/009—Carrying-vehicles; Arrangements of trollies or wheels; Means for avoiding mechanical obstacles
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2805—Parameters or conditions being sensed
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details 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/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2894—Details related to signal transmission in suction cleaners
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/243—Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/247—Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
- G05D1/249—Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons from positioning sensors located off-board the vehicle, e.g. from cameras
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
- G05D1/695—Coordinated 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
- G05D1/698—Control allocation
- G05D1/6985—Control allocation using a lead vehicle, e.g. primary-secondary arrangements
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45098—Vacuum cleaning robot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/10—Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2107/00—Specific environments of the controlled vehicles
- G05D2107/40—Indoor domestic environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2111/00—Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
- G05D2111/10—Optical signals
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Electric Vacuum Cleaner (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
Abstract
본 발명은 타 청소기에서 전송된 맵 정보가 로봇 청소기로 공유되는 맵 공유 단계; 상기 타 청소기에서 촬영된 영상이 상기 로봇 청소기로 전달되는 영상 전달 단계; 상기 타 청소기에서 전달된 영상과 상기 로봇 청소기에서 촬영된 영상을 비교해서, 상기 로봇 청소기에서 타 청소기의 위치 정보를 파악하는 판단 단계; 및 상기 로봇 청소기가 타 청소기를 따라 주행하면서 청소를 따라 가면서 청소를 수행하는 주행 단계;를 포함하는 로봇 청소기의 제어 방법를 제공한다.
Description
본 발명은 로봇 청소기 및 그 제어 방법에 관한 것으로서, 보다 상세하게는 두 대의 로봇 청소기가 초기에 서로의 위치를 정확하게 인식하고 정렬해서 함께 청소를 수행할 수 있는 로봇 청소기 및 그 제어 방법에 관한 것이다.
청소기는 먼지와 이물질을 흡입하거나 걸레질을 통하여 청소 기능을 수행하는 장치이다. 일반적으로 청소기는 바닥에 대한 청소 기능을 수행하게 되며, 청소기는 이동을 위한 휠을 포함한다. 일반적으로 휠은 청소기 본체에 가해지는 외력에 의해 굴림되어 청소기 본체를 바닥에 대하여 이동시키도록 이루어진다.
그러나, 사용자의 조작 없이 스스로 주행하면서 청소를 수행하는 로봇 청소기가 개발됨에 따라, 복수의 로봇 청소기를 사용자의 조작 없이 상호 협업하면서 청소시키기 위한 개발의 필요성이 대두되고 있다.
선행문헌 WO2017-036532는 마스터(master) 로봇 청소 장치(이하, 마스터 로봇)가 적어도 하나의 슬레이브(slave) 로봇 청소 장치(이하, 슬레이브 로봇)를 제어하는 방법에 대하여 개시한다. 상기 선행문헌은, 마스터 로봇이 장애물 검출 장치를 이용하여 주위의 장애물을 검출하고, 장애물 검출 장치로부터 파생된 위치 데이터를 이용하여 슬레이브 로봇과 관련된 마스터 로봇의 위치를 결정하는 구성에 대하여 개시한다.
또한 KR20170174493에서는 두 개의 로봇 청소기가 서로 통신하면서 청소를 수행하는 일반적인 과정에 대해서 게시한다.
그러나 상술한 두 개의 선행문헌에서는 선행 로봇 청소기와 후행 로봇 청소기의 사이에 좀더 상세한 제어가 게시되어 있지 못하다. 특히 두 대의 로봇 청소기가 초기에 청소를 함께 수행할 때에 서로 간의 위치를 정확하게 인식할 필요가 있다. 초기에 정렬한 위치를 기준으로 두 청소기가 함께 청소를 시작하게 되는데, 초기 위치에 문제가 생기면 두 대의 청소기가 함께 이동하는 제어가 복잡해질 수 밖에 없다. 또한, 두 대의 청소기에서 위치를 정확하게 인식하지 못하면, 두 대의 청소기가 서로 충돌하는 문제가 발생할 수 있다.
또한 선행 로봇 청소기의 청소 환경을 고려해서, 후행 로봇 청소기의 청소 방식, 특히 주행 방식을 변화시켜서 선행 로봇 청소기와 후행 로봇 청소기의 청소를 제어할 필요가 있음에도, 그러한 기술적 고찰이 게시되어 있지 못하다. 특히 동일한 공간을 복수 개의 로봇 청소기가 함께 주행할 때에는 서로 간의 주행에 간섭이 발생하지 않도록 하는 제어가 필요하다.
본 발명은, 복수의 로봇 청소기가 사용자의 개입 없이 최적화된 방법으로 청소를 수행할 수 있는 로봇 청소기 및 그 제어방법을 제공하는 것이다.
또한 본 발명은 복수의 로봇 청소기에서 초기에 위치를 정확하게 인식하고, 원하는 위치로 정렬할 수 있는 로봇 청소기 및 그 제어방법을 제공하는 것이다.
본 발명은 선행 로봇 청소기와 후행 로봇 청소기가 청소하는 환경을 고려해서, 선행 로봇 청소기와 후행 로봇 청소기의 간섭이 발생하지 않는 로봇 청소기 및 그 제어방법을 제공하는 것이다.
또한 본 발명은 선행 로봇 청소기와 후행 로봇 청소기의 간격을 조절해서, 선행 로봇 청소기와 후행 로봇 청소기가 함께 청소를 수행할 수 있는 로봇 청소기 및 그 제어방법을 제공하는 것이다.
본 발명은 복수의 로봇 청소기가 서로의 위치를 정확하게 인식할 수 있어서, 동일한 공간에서 로봇 청소기가 함께 청소를 수행할 수 있는 환경을 제공할 수 있다. 또한 복수의 로봇 청소기가 청소를 시작하기 위한 초기 위치를 용이하게 선정할 수 있어서, 두 대의 로봇 청소기가 청소를 수행할 때에 제어가 간단해질 수 있다.
본 발명에서 우선 로봇 청소기는 추종을 할 예정인 다른 청소기에 가깝게 배치되도록 이동한다. 이때 로봇 청소기는 원형 또는 스파이럴 등과 같이 무작위 방식으로 모든 방향으로 이동을 하면서 다른 청소기에 가까워지는 지를 판단할 수 있다.
이어서 다른 청소기의 카메라에서 촬영된 영상과 로봇 청소기의 카메라에서 촬영된 영상을 비교하면서, 로봇 청소기의 카메라에서 촬영된 영상이 다른 청소기에서 촬영된 영상과 유사해질 수 있도록 로봇 청소기를 이동 또는 회전시킨다. 이대 두 영상의 유사 여부는 특징점의 배치를 기준으로 하는 것이 가능하다. 물론 두 대의 청소기의 위치가 완전히 동일하지는 않기 때문에 제공하는 영상에는 차이가 존재할 수 있지만, 특징점의 좌우 배치 여부 등을 중심으로 유사한지 다른지를 판단할 수 있다. 유사하다고 판단하지 않으면 로봇 청소기를 이동시켜서, 로봇 청소기의 카메라에서 촬영된 영상을 변화시키고, 변화 여부를 확인한다.
두 개의 영상이 유사해지면, 로봇 청소기에서 다른 청소기가 일렬로 정렬된 것이고, 로봇 청소기의 전방과 다른 청소기의 전방이 일치한 것으로 판단할 수 있다. 따라서, 로봇 청소기에서 다른 청소기의 위치를 정확히 파악할 수 있다.
본 발명에서 선행해서 주행하는 로봇 청소기는 지그 재그 방식으로 주행하되, 후행하는 로봇 청소기는 청소 영역의 가로 방향 주행 거리에 따라 다른 간격을 유지하면서 청소를 하는 로봇 청소기 및 그 제어 방법을 제공한다.
선행하는 로봇 청소기 및 후행하는 로봇 청소기는 가로 방향 주행과 세로 방향 주행을 번갈아 가면서 하게 되는데, 두 대의 로봇 청소기가 함께 주행을 하면서 청소를 하는 동안에도 두 대의 로봇 청소기는 서로 간섭하지 않고, 주행을 하면서 청소할 수 있다.
후행하는 로봇 청소기는 선행하는 로봇 청소기의 주행 궤적을 따라서 주행하면서 청소를 하기 때문에, 동일한 영역을 두 번 청소를 할 수 있는 로봇 청소기 및 그 제어 방법을 제공한다.
본 발명은 앞서 주행하는 타 청소기를 감지영역 내에서 센싱하는 센싱부; 및 가로 방향의 주행 길이를 제2설정 거리와 비교해서, 타 청소기와 로봇 청소기의 주행 간격을 조절하는 제어부를 포함하는 로봇 청소기를 제공한다.
구체적으로 타 청소기 또는 로봇 청소기의 가로 방향 주행 거리 또는 가로 방향 주행 가능 거리가 제2설정 거리보다 길면, 로봇 청소기는 타 청소기와 가로 방향으로 제2설정 거리를 유지하도록 간격을 유지하면서 주행할 수 있다.
타 청소기 또는 로봇 청소기의 가로 방향 주행 거리 또는 가로 방향 주행 가능 거리가 제2설정 거리보다 짧으면, 로봇 청소기는 타 청소기와 세로 방향으로 제3설정 거리를 유지하도록 간격을 유지하면서 주행할 수 있다.
본 발명에서는 가로 방향 주행 가능 거리를 판단해서, 타 청소기와 로봇 청소기의 간격을 가로 방향으로 조절할지 또는 세로 방향으로 조절할 지를 판단할 수 있다.
상대적으로 가로 방향 주행 거리가 짧게 되면, 가로 방향이 아닌 세로 방향으로 주행 간격을 조절해서, 두 대의 로봇 청소기가 간섭없이 주행을 할 수 있도록 한다.
반면에, 가로 방향 주행 거리가 길면, 세로 방향이 아닌 가로 방향으로 주행 간격을 조절해서, 두 대의 로봇 청소기가 감지 영역을 벗어나지 않도록 주행을 해서 청소를 수행할 수 있도록 제어할 수 있다.
본 발명은 본체를 이동 또는 회전시키는 주행부; 앞서 주행하는 타 청소기를 감지영역 내에서 센싱하는 센싱부; 및 상기 타 청소기가 상대적으로 길이가 긴 가로 방향으로 이동한 후에, 수직한 방향으로 전환하면서 상대적으로 길이가 짧은 세로 방향으로 이동하는 지그재그 방식으로 주행을 하고, 상기 가로 방향은 장애물을 만날 때까지 주행이 이루어지고, 상기 세로 방향은 제1설정 거리만큼 이동할 때에, 상기 가로 방향의 주행 길이가 제2설정 거리보다 짧으면, 상기 주행부는 제1모드로 상기 타 청소기를 따라서 주행하고, 상기 가로 방향의 주행 길이가 제2설정 거리보다 길면, 상기 주행부는 제2모드로 상기 타 청소기를 따라서 주행하도록 제어하는 제어부;를 포함하는 특징으로 하는 로봇 청소기를 제공한다.
또한 본 발명은 타 청소기가 상대적으로 길이가 긴 가로 방향으로 이동한 후에, 수직한 방향으로 전환하면서 상대적으로 길이가 짧은 세로 방향으로 이동하는 지그재그 방식으로 주행을 하고, 상기 가로 방향은 장애물을 만날 때까지 주행이 이루어지고, 상기 세로 방향은 제1설정 거리만큼 이동하는 로봇 청소기의 제어 방법에 있어서, 가로 방향 주행 길이를 확인하는 제1단계; 상기 가로 방향 주행 길이가 제2설정 길이보다 짧은 지를 판단하는 제2단계; 상기 가로 방향 주행 길이가 제2설정 길이보다 짧으면 로봇 청소기를 제1모드에 따라 주행하고, 상기 가로 방향 주행 길이가 제2설정 길이보다 길면 로봇 청소기를 제2모드에 따라 주행해서, 상기 로봇 청소기가 타 청소기를 따라 주행하면서 청소를 따라 가면서 청소를 수행하도록 하는 로봇 청소기의 제어 방법을 제공한다.
본 발명에 따르면 타 청소기의 상대위치를 정확하게 파악할 수 있는 복수의 자율주행 청소기를 제공할 수 있다.
또한 본 발명에 따르면, 복수 개의 로봇 청소기가 서로의 위치를 정확하게 인식할 수 있다. 또한 본 발명에 따르면, 청소를 시작하기 전에 복수 개의 로봇 청소기가 초기에 설정된 위치로 정렬할 수 있어서, 청소를 수행하는 동안 정해진 알고리즘에 따라 함께 이동을 하면서 청소를 수행할 수 있다.
본 발명에 따르면 동일한 공간을 복수 개의 로봇 청소기가 청소할 때에, 서로 간의 주행 간섭이 발생하지 않아 청소 성능을 향상시킬 수 있다.
또한 본 발명에 따르면, 청소가 수행되는 공간에 따라 두 개의 로봇 청소기의 간격을 다르게 조정해서, 다양한 형태로 청소가 수행될 수 있는 환경을 제공할 수 있다.
도 1은 본 발명에 따른 자율주행 청소기의 일 예를 보인 사시도.
도 2는 도 1에 도시된 자율주행 청소기의 평면도.
도 3은 도 1에 도시된 자율주행 청소기의 측면도.
도 4는 본 발명의 일 실시 예에 따른 자율주행 청소기의 예시 구성요소를 나타내는 블록도.
도 5a는 본 발명의 일 실시 예에 따른 복수의 자율주행 청소기 간의 네트워크 통신을 도시한 개념도이고, 도 5b는 도 5a의 네트워크 통신의 일 예를 도시한 개념도이고, 도 5c는 본 발명의 일 실시예에 따른 복수의 자율주행 청소기의 추종 주행을 설명하기 위한 개념도.
도 6a, 도 6b 및 도 6c는 본 발명의 변형 실시 예에 따라, 제1청소기와 이동 디바이스 간의 추종 등록과 추종 제어를 설명하기 위한 개념도.
도 7은 일 실시예에 따른 제어방법을 설명하기 위한 흐름도.
도 8은 도 7에서 살펴본 제어방법을 설명하기 위한 개념도.
도 9는 위치 판단을 구체적으로 설명하기 위한 도면.
도 10은 다른 실시예에 따른 제어방법을 설명하기 위한 흐름도.
도 11은 두 대의 청소기가 한 청소 공간에 배치된 상태를 설명한 도면.
도 12는 두 대의 청소기가 위치를 인식해서 정렬하는 과정을 설명한 도면.
도 2는 도 1에 도시된 자율주행 청소기의 평면도.
도 3은 도 1에 도시된 자율주행 청소기의 측면도.
도 4는 본 발명의 일 실시 예에 따른 자율주행 청소기의 예시 구성요소를 나타내는 블록도.
도 5a는 본 발명의 일 실시 예에 따른 복수의 자율주행 청소기 간의 네트워크 통신을 도시한 개념도이고, 도 5b는 도 5a의 네트워크 통신의 일 예를 도시한 개념도이고, 도 5c는 본 발명의 일 실시예에 따른 복수의 자율주행 청소기의 추종 주행을 설명하기 위한 개념도.
도 6a, 도 6b 및 도 6c는 본 발명의 변형 실시 예에 따라, 제1청소기와 이동 디바이스 간의 추종 등록과 추종 제어를 설명하기 위한 개념도.
도 7은 일 실시예에 따른 제어방법을 설명하기 위한 흐름도.
도 8은 도 7에서 살펴본 제어방법을 설명하기 위한 개념도.
도 9는 위치 판단을 구체적으로 설명하기 위한 도면.
도 10은 다른 실시예에 따른 제어방법을 설명하기 위한 흐름도.
도 11은 두 대의 청소기가 한 청소 공간에 배치된 상태를 설명한 도면.
도 12는 두 대의 청소기가 위치를 인식해서 정렬하는 과정을 설명한 도면.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
도 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)은 주변의 영상을 획득하기 위한 카메라를 포함할 수 있다. 카메라는 렌즈와 영상 센서(image sensor)를 포함할 수 있다. 또한, 카메라는 청소기 본체(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)의 일부는 먼지통 수용부에 수용되되, 먼지통(140)의 다른 일부는 청소기 본체(110)의 후방(즉, 정방향(F)에 반대되는 역방향(R))을 향하여 돌출되게 형성될 수 있다.
먼지통(140)에는 먼지가 포함된 공기가 유입되는 입구와 먼지가 분리된 공기가 배출되는 출구가 형성되며, 청소기 본체(110)에 먼지통(140)의 장착시 상기 입구와 출구는 본체(110)의 내측벽에 형성된 개구(155)를 통해 연통되도록 구성된다. 이에 의하여, 청소기 본체(110) 내부의 흡기유로와 배기유로가 형성될 수 있다.
이러한 연결관계에 따라, 청소 유닛(120)을 통하여 유입된 먼지가 포함된 공기는 청소기 본체(110) 내부의 흡기유로를 거쳐, 먼지통(140)으로 유입되고, 먼지통(140)의 필터 내지는 사이클론을 거치면서 공기와 먼지가 상호 분리된다. 먼지는 먼지통(140)에 집진되며, 공기는 먼지통(140)에서 배출된 후 청소기 본체(110) 내부의 배기유로를 거쳐 최종적으로 배기구를 통하여 외부로 배출된다.
이하의 도 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 센서를 이용하여, 장애물을 감지하는 경우, 장애물의 반사율, 색의 차이에 상관없이 안정적인 측정값을 얻을 수 있다.
제어부(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)의 주행 및 청소를 제어할 수 있다. 또, 제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)의 통신가능한 거리를 고려하여, 제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)는 제2청소기(100b)로부터 수신되는 광 신호의 수신방향을 인식하여, 제2청소기(100b)가 제1청소기(100a)의 후방에서 따라오고 있는지 또는 역전되어 전방에 위치하고 있는지를 판단할 수 있다.
도 6a, 도 6b, 도 6c는 전술한 본 발명의 실시 예들에 따른 제1청소기와 제2청소기 간의 추종 제어의 변형 예로서, 여기에서는, 제1청소기와 이동 디바이스 간의 추종 제어를 구체적으로 설명하겠다. 여기서의 추종 제어는, 이동 디바이스가 제1청소기의 이동 경로를 추종하며 주행하는 것만을 의미한다.
도 6a를 참조하면, 제1청소기(100a)는 제2청소기 대신 이동 디바이스(200)와 통신하여, 이동 디바이스(200)의 추종을 제어할 수 있다.
여기서, 상기 이동 디바이스(200)는 청소 기능을 구비하지 않을 수 있고, 주행 기능을 구비한 것이라면 어떠한 전자 디바이스도 포함될 수 있다. 예를 들어, 상기 이동 디바이스(200)는 주행 기능을 구비한 제습기, 가습기, 공기청정기, 공기조화기, 스마트 TV, 인공지능 스피커, 디지털 촬영장치 등의 제한되지 않는 다양한 종류의 홈 디바이스 또는 기타 전자 디바이스를 모두 포함할 수 있다.
또, 상기 이동 디바이스(200)은 주행 기능을 구비한 것으로 충분하며, 스스로 장애물을 감지하거나 정해진 목적지까지 주행하는 네비게이션 기능은 갖추지 않을 수 있다.
제1청소기(100a)는 네비게이션 기능과 장애물 감지 기능을 모두 갖춘 로봇 청소기로, 이동 디바이스(200)의 추종을 제어할 수 있다. 제1청소기(100a)는 건식 청소기든 습식 청소기든 무방하다.
제1청소기(100a)와 이동 디바이스(200)는 네트워크(미도시)를 통해 통신할 수도 있겠으나, 상호간에 직접 통신하는 것이 가능하다.
여기서, 네트워크를 이용한 통신은 예를 들어 WLAN, WPAN, Wi-Fi, Wi-Fi Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access) 등을 사용한 통신일 수 있다. 그리고, 상호간의 직접 통신은, 예를 들어 UWB(Ultrawide-Band) Zigbee, Z-wave, Blue-Tooth, RFID, 적외선 통신(Infrared Data Association; IrDA) 등을 사용하여 수행될 수 있다.
제1청소기(100a)와 이동 디바이스(200)가 근접 거리에 있는 경우이면, 제1청소기(100a)에서의 조작을 통해, 이동 디바이스(200)가 제1청소기(100a)를 추종하도록 설정하는 것이 가능하다.
제1청소기(100a)와 이동 디바이스(200)가 떨어져 있는 경우이면, 비록 도시되지는 않았지만, 외부 단말기(300, 도 5a)에서의 조작을 통해, 이동 디바이스(200)가 제1청소기(100a)를 추종하도록 설정할 수 있다.
구체적으로, 외부 단말기(300, 도 5a)와의 네트워크 통신을 통해, 제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)를 변경, 추가, 제거할 수 있다. 예를 들어 도 6b를 참조하면, 제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)의 이동 경로에 대응되는 데이터들을 메모리 등에 저장하게 한 다음, 상황에 따라 저장된 데이터들 중 일부를 삭제하고 주행하거나 또는 주행 정지 상태로 대기하도록 제어할 수 있다.
도 6c는 제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)의 주행 정보를 기록하고, 일부를 삭제하고 주행하거나 또는 주행 정지 상태로 대기하도록 제어할 수 있다.
이하에서는, 본 발명의 일 실시 예에 따른 복수의 로봇 청소기가 원활하게 추종 주행을 수행하기 위한 방법에 대하여 첨부된 도면을 참조하여 보다 구체적으로 설명하기로 한다.
본 발명의 제1 자율주행 청소기(100a)는 제1 로봇 청소기 또는 제1 청소기(100a)로, 제2 자율주행 청소기(100b)는 제2 로봇 청소기 제2 청소기(100b)로 명명될 수 있다.
또한, 본 발명은, 제1 청소기(100a)가 제2 청소기(100b)보다 앞선 방향에서 주행하는 선도 청소기의 역할을 수행하고, 제2 청소기(100b)가 상기 제1 청소기(100a)를 추종하는 후발 청소기의 역할을 수행할 수 있다.
본 발명은 제1 청소기(100a)와 제2 청소기(100b)가 사용자의 개입 없이, 상호 추종하면서 주행 및 청소를 수행할 수 있다.
제2 청소기(100b)가 제1 청소기(100a)를 추종하여 주행하기 위해서는, 제2 청소기(100b)가 제1 청소기(100a)의 상대 위치를 파악해야 한다.
또한, 제2 청소기(100b)는, 제1 청소기(100a)를 추종하여 주행하기 위해, 제1 청소기(100a)의 위치 또는 제1 청소기(100a)가 주행한 주행 경로(또는 이동 경로)를 센싱할 수 있다.
이하에서는, 제2 청소기(100b)가 제1 청소기(100a)를 따라 추종 주행하기 위한 방법에 대하여 첨부된 도면을 참조하여 보다 구체적으로 설명한다.
설명의 편의를 위해, 본 명세서에서는, 상기 제2 청소기(100b)의 기능/동작/제어방법을 위주로 설명하기로 한다.
이 경우, 제1 청소기(100a)는, 기 설정된 알고리즘(예를 들어, 청소 알고리즘, 주행 알고리즘)에 따라 제1 청소기(100a)가 주행 가능한 공간을 이동하면서 청소를 수행할 수 있다.
제2 청소기(100b)는, 제1 청소기(100a)가 이동하는 동안, 제1 청소기(100a)를 따라서 이동(또는 청소)을 수행하는 추종 주행을 수행할 수 있다.
본 명세서에서는, 제2 청소기(100b)의 제어방법에 대하여 설명하므로, 제2 청소기(100b)를 본체 또는 로봇 청소기로 명명하고, 상기 제1 청소기(100a)를 타 청소기로 명명하기로 한다.
본 발명의 로봇 청소기(100b)는, 본체를 이동 또는 회전시키는 주행부(1300) 및 상기 본체의 전방을 기준으로 소정 각도를 갖는 감지영역 내에서 타 청소기(100a)를 센싱하는 센싱부(1400)를 포함할 수 있다.
또한, 본 발명의 로봇 청소기(100b)는, 센싱부(1400)를 통해 센싱된 정보에 근거하여, 주행부(1300)를 제어하는 제어부(1800)를 포함할 수 있다.
또한, 상기 제어부(1800)는, 감지영역 내에서 센싱되는 타 청소기를 향해 본체가 이동되도록 주행부(1300)를 제어할 수 있다.
본 명세서에서 제어부(1800)가 본체를 이동시킨다 또는 본체를 회전시킨다고 설명하는 것은, 본체가 이동 또는 회전되도록 주행부(1300)를 제어한다는 것을 의미할 수 있다.
도 7은 일 실시예에 따른 제어방법을 설명하기 위한 흐름도이고, 도 8은 도 7에서 살펴본 제어방법을 설명하기 위한 개념도이다.
본 실시예에서는 타 청소기(100a)가 가로 방향과 세로 방향 주행을 번갈아 가면서 하는 지그재그 방식으로 주행할 때를 전제로 해서, 로봇 청소기(100b)가 제어되는 기술에 대해서 설명한다.
즉 상기 타 청소기(100a)는 상대적으로 길이가 긴 가로 방향으로 이동한 후에, 수직한 방향으로 전환하면서 상대적으로 길이가 짧은 세로 방향으로 이동하는 지그재그 방식으로 주행을 한다. 이때, 상기 가로 방향은 장애물을 만날 때까지 주행이 이루어진다. 즉 타 청소기(100a)는 도 8에서 벽과 같은 장애물을 만나는 구간까지 주행을 한 후에, 벽과 같은 장애물을 만나면 수직한 방향으로 회전하면서 세로 방향으로 이동한다. 이때, 타 청소기(100a)는 세로 방향으로 제1설정 거리만큼 이동되는데, 이때, 제1설정 거리는 상기 타 청소기의 몸체의 지름과 동일한 것이 가능하다. 즉 상기 타 청소기(100a)는 장애물을 만나기 직전까지 가로 방향 주행을 하고, 장애물을 만나면 제1설정 거리 만큼 하방으로 이동한 후에, 다시 반대 방향으로 가로 방향 주행을 하게 된다. 한편, 상기 제1설정 거리는 사용자의 편의에 따라 다양하게 설정되는 것이 가능하다. 예를 들어, 상기 제1설정 거리가 커지게 되면, 타 청소기는 좀 더 성기게 청소를 하게되고, 상기 제1설정 거리가 작아지게 되면, 타 청소기는 좀 더 꼼꼼하게 청소를 하게 되는 결과가 발생된다.
우선, 로봇 청소기(100b)는 가로 방향 주행 길이를 확인한다(S10). 이때 상기 가로 방향 주행 길이는 로봇 청소기(100b) 또는 타 청소기(100a) 중 하나의 가로 방향 주행 길이인 것이 가능하다. 상기 로봇 청소기(100b)는 상기 타 청소기(100a)를 따라서 주행한다. 즉 상기 로봇 청소기(100b)는 상기 타 청소기(100a)가 주행하는 궤적을 따라서, 시간 차이를 두고 동일한 궤적을 주행한다. 따라서 로봇 청소기와 타 청소기의 가로 방향 주행 길이는 동일하기 때문이다. 가로 방향 주행 길이 확인은 로봇 청소기 또는 타 청소기기에 마련된 센싱부(1400)에 따른 실제 주행 정보를 이용하는 것이 가능하다.
물론, S10과 같이 가로 방향 주행 길이를 확인하기 전에, 로봇 청소기(100b)에서는, 청소가 수행되는 영역의 맵 정보와 로봇 청소기의 위치 정보를 획득하고, 상기 맵 정보를 이용해서, 가로 방향 주행 길이를 계산하는 것이 가능하다. 이때 상기 로봇 청소기(100b)의 통신부(1100)를 통해서 맵 정보와 현재 로봇 청소기의 위치 정보를 획득하는 것이 가능하다. 한편 로봇 청소기와 타 청소기는 함께 청소를 수행하기 때문에, 동일한 청소 영역(예를 들어 거실 또는 방 등)에 배치되기 때문에, 로봇 청소기의 위치 정보를 획득하는 것으로 타 청소기의 위치 정보까지 함께 획득할 수 있다.
따라서, 로봇 청소기와 타 청소기가 놓여 있어서, 청소를 수행할 공간의 정보를 획득할 수 있고, 해당 맵 정보를 이용해서 가로 방향 주행 정보를 산출할 수 있다. 예를 들어, 방과 같이 가로 방향 주행 거리가 큰 경우가 있는 반면에, 긴 복도와 같이 가로 방향 주행 거리가 작은 경우를 청소하는 두 가지 방식으로 구분하면서, 타 청소기와 로봇 청소기가 함께 청소를 수행할 수 있다.
그리고, 가로 방향 주행 길이가 제2설정 길이보다 짧은 지를 판단한다(S20).
상기 가로 방향 주행 길이가 제2설정 길이보다 짧으면 로봇 청소기를 제1모드에 따라 주행하고(S30), 상기 가로 방향 주행 길이가 제2설정 길이보다 길면 로봇 청소기를 제2모드에 따라 주행한다(S40).
즉 본 실시예에서는 로봇 청소기 또는 타 청소기가 가로 방향으로 주행할 수 있는 거리에 따라서 로봇 청소기와 타 청소기가 서로 다른 모드로 동작하면서 청소를 수행하도록 제어한다.
예를 들어서, 가로 방향 주행 거리가 짧은 상황에서는 로봇 청소기 또는 타 청소기가 자주 세로 방향으로 방향을 전환하면서 주행을 해야 하는데, 그런 상황에서 로봇 청소기와 타 청소기가 지속적으로 방향을 전환하면서 서로의 경로에 간섭하거나 충돌이 발생될 수 있는 상황이 발생할 수 있다.
한편 가로 방향 주행 거리가 긴 상황에서는 로봇 청소기 또는 타 청소기가 상대적으로 적게 세로 방향으로 방향전환을 하는데, 두 대의 청소기가 너무 멀리 떨어져서 주행을 하면, 사용자는 두 대의 청소기가 함께 청소를 수행하는지 인지를 하지 못한다는 단점이 있을 쑤 있다.
따라서, 본 실시예에서는 두 가지 상황을 나누어서 로봇 청소기와 타 청소기가 함께 주행을 하면서 청소를 수행할 수 있도록 로봇 청소기를 제어한다.
도 8a에서는 S30과 같이 제1모드에 따라서 주행하는 과정을 설명한 도면이고, 도 8b에서는 S40과 같이 제2모드에 따라서 주행하는 과정을 설명한 도면이다. 도 8a은 도 8b에서 보다 가로 방향 주행 가능 거리 w가 크기 때문에, 두 개의 도면에서 두 대의 로봇 청소기가 다른 간격을 유지하면서 주행하게 된다.
도 8a에서와 같이 제1모드로 타 청소기(100a)와 로봇 청소기(100b)가 주행할 때에, 가로 방향 주행 가능 거리(w)가 제2설정 거리(l2)보다 짧은 지를 확인한다. 가로 방향 주행 거리 또는 가로 방향 주행 가능 거리(w)가 제2설정 거리(l2)보다 짧으면, 타 청소기(100a) 또는 로봇 청소기(100b)는 동일한 면적을 청소할 때에 보다 자주 세로 방향 주행을 해야 한다.
따라서, 타 청소기(100a)와 로봇 청소기(100b)의 간격이 좁을 경우에 서로 부딪히는 문제가 발생할 수 있는데, 이러한 문제를 방지하기 위해서, 상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 세로 방향 간격이 멀게 유지된다.
상기 제1모드에서는 상기 타 청소기(100a)가 상기 로봇 청소기(100a)로부터 세로 방향으로 제3설정 거리(l3)만큼 멀게 유지되도록 하는 것이 가능하다. 이때 상기 제3설정 거리(l3)는 상기 제1설정 거리(l1)의 두 배인 것이 가능하다.
한편 상기 제1설정 거리(l1)은 로봇 청소기의 본체의 지름과 동일한 것이 가능하지만, 사용자의 편의 또는 청소 패턴에 따라 다양하게 변화되는 것이 가능하다.
제1설정 거리(l1)가 로봇 청소기 또는 타 청소기의 본체의 지름과 동일한 경우에, 로봇 청소기와 타 청소기의 세로 방향 간격은 대략 지름의 두 배의 거리를 유지하기 때문에, 로봇 청소기와 타 청소기가 자주 세로 방향 주행으로 전환하더라도 두 청소기가 서로 부딪히지 않는다. 또한 도 8a에서와 같이 벽까지 이동하지 않고, 중간에 장애물을 만나는 경우에 로봇 청소기 또는 타 청소기는 세로 방향으로 방향 전환을 해야 하는데, 두 청소기의 간격이 멀게 유지되기 때문에 방향 전환에 따른 충돌 또는 간섭이 발생되는 것이 방지된다.
한편, 도 8b에서와 같이 제2모드로 타 청소기(100a)와 로봇 청소기(100b)가 주행할 때에, 가로 방향 주행 가능 거리(w)가 제2설정 거리(l2)보다 긴지를 확인한다. 가로 방향 주행 거리 또는 가로 방향 주행 가능 거리(w)가 제2설정 거리(l2)보다 길면, 타 청소기(100a) 또는 로봇 청소기(100b)는 동일한 면적을 청소할 때에 보다 적게 세로 방향 주행을 해도 된다. 이러한 경우에 타 청소기와 로봇 청소기의 간격이 너무 길면, 두 대의 로봇 청소기가 함께 주행하는 모습을 사용자가 인지하기 쉽지 않다. 또한 로봇 청소기(100b)에서 타 청소기(100a)의 주행을 놓치게 되고, 타 청소기(100a)가 로봇 청소기의 감지 영역을 벗어나서, 로봇 청소기(100b)에서 타 청소기(100a)의 주행을 따라가지 못하는 문제가 발생할 수 있다.
따라서, 도 8b에서와 같은 제2모드로 로봇 청소기(100b)와 타 청소기(100a)가 주행할 때에는 제1모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 가로 방향 간격이 멀게 유지된다. 타 청소기와 로봇 청소기가 주행 가능한 가로 방향 거리(w)가 제2설정 거리(l2)보다 길기 때문에, 타 청소기와 로봇 청소기의 가로 방향 간격이 제2설정 거리(l2)와 동일하게 유지되더라도, 타 청소기와 로봇 청소기의 주행시에 간섭 또는 충돌이 발생할 위험이 없다. 제2모드에서는 타 청소기와 로봇 청소기의 가로 방향 주행 간격은 제2설정 거리(l2)로 유지된다. 이때 상기 제2설정 거리(l2)는 사용자 또는 제조자의 설정에 따라 다양하게 변경될 수 있다. 두 대의 로봇 청소기가 함께 청소하는 모습을 사용자가 쉽게 인지할 수 있도로 하기 위해서는 제2설정 거리(l2)는 짧게 변경될 수 있다.
상기 제2모드에서 상기 타 청소기(100a)가 장애물을 만나서 세로 방향 주행을 시작하기 이전에는, 상기 타 청소기(100a)와 상기 로봇 청소기(100b)가 일직선을 유지하면서 주행하게 된다. 가로 방향 주행 거리 또는 가로 방향 주행 가능 거리(w)는 제2설정 거리(l2)보다 길기 때문에, 해당 영역을 청소하면서 타 청소기와 로봇 청소기가 서로 일직선을 유지하면서 청소를 하게 된다.
한편 상기 타 청소기(100a)가 세로 방향 주행을 하는 동안에는 상기 로봇 청소기(100b)는 가로 방향 주행을 하게 된다. 타 청소기(100a)가 벽과 같은 장애물을 만나게 되면, 가로 방향 주행을 중단하고 수직 방향으로 회전한 후에 세로 방향 주행을 시작한다. 세로 방향 주행을 하는 동안에도 로봇 청소기(100b)는 타 청소기(100a)가 이전에 가로 방향 주행을 한 경로를 따라서 이동하게 된다. 또한 로봇 청소기(100b)가 장애물을 만나게 되는 경우에는 로봇 청소기도 직진 주행을 멈추고 회전을 한 후에 세로 방향 주행을 시작하는 것이 가능하다.
한편 제2모드에서는 타 청소기 및 로봇 청소기는 세로 방향을 제1설정 거리 만큼 주행한 후에, 다시 방향을 전환해서 가로 방향 주행을 하게 된다.
따라서 상기 타 청소기(100a)가 가로 방향 주행을 하는 동안에는 상기 로봇 청소기(100b)는 가로 방향 주행 또는 세로 방향 주행을 하게 된다.
제2모드에서는 타 청소기와 로봇 청소기가 함께 가로 방향을 주행하는 경우는 발생하지만, 타 청소기와 로봇 청소기가 함께 세로 방향으로 주행하는 경우는 발생하지 않는다. 따라서 타 청소기와 로봇 청소기의 세로 방향 간격을 조절하지 않더라도, 타 청소기와 로봇 청소기의 충돌은 발생하지 않는다.
상술한 제1모드와 제2모드에서는 로봇 청소기(100b)에 마련된 통신부(1100)에서 청소가 수행되는 영역의 맵 정보와 로봇 청소기의 위치 정보를 획득하는 것이 가능하다. 이 경우 제어부(1800)은 가로 방향의 예상 주행 거리를 산출해서, 제2설정 거리와 비교하는 것이 가능하다. 즉 이 경우에 로봇 청소기는 타 청소기 또는 로봇 청소기가 실제로 현재 위치한 영역을 주행하지 않더라도, 가로 방향 주행 거리를 산출해서, 타 청소기와 로봇 청소기의 주행 간격을 결정할 수 있다.
상기 제2설정 거리는 상기 제1설정 거리보다 긴 것이 가능하다. 제2설정 거리는 주행 모드를 선택하기 위한 값인 반면에, 제1설정 거리는 주행 모드에 무관하게 로봇 청소기 또는 타 청소기가 세로 방향을 주행을 하는 거리를 의미한다.
한편, 타 청소기(100a)와 로봇 청소기(100b)의 사이에 상대적인 위치 계산은 아래와 같은 방식으로 이루어지면서, 타 청소기와 로봇 청소기의 간격이 유지될 수 있다.
이하 도 9를 참조해서 변환식에 의해서, 타청소기와 로봇 청소기의 위치를 산출하는 과정에 대해서 구체적으로 설명한다.
변환식(H)은 상기 타 청소기(100a)의 이전 위치를 기준으로 타 청소기(100a)의 현재 위치를 표현하는 제1좌표를, 상기 로봇 청소기(100b)의 본체의 위치를 기준으로 상기 타 청소기(100a)의 현재 위치를 표현하는 제2좌표로 변환하는 식을 의미할 수 있다.
도 9에서, 타 청소기(100a)의 이전 위치는 점선으로 표현되고, 타 청소기(100a)의 현재 위치는 실선으로 표현된다. 또한 로봇 청소기(100b)의 위치는 실선으로 표현된다.
변환식은 아래와 같이 설명되고, 아래 식에서 3X3 행렬로 표현된다.
M(로봇 청소기를 기준으로 표현된 타 청소기의 현재 위치[제2좌표]) = H(변환식) × R(타 청소기의 이전 위치를 기준으로 표현한 타 청소기의 현재 위치[제1좌표])
보다 상세한 수식으로는 아래와 같이 표현될 수 있다.
단, Xr, Yr은 제1좌표이고, Xm, Ym은 제2좌표임.
제1좌표는 상기 타 청소기를 이동시키는 주행부에서 제공된 정보를 바탕으로 산출되는 것이 가능하다. 상기 타 청소기의 상기 주행부에서 제공된 정보는, 휠을 회전시키는 모터의 회전 정보를 측정하는 엔코더에서 도출된 정보에서, 타 청소기의 회전을 감지하는 자이로 센서에 의해서 보정된 것이 가능하다.
주행부는 타 청소기를 이동시키거나 회전시키는 구동력을 제공하는 것으로, 타 청소기에서 제공하는 신호를 로봇 청소기가 수신하지 못하는 상황에도 산출될 수 있다. 따라서 두 청소기 간에 신호를 송수신해서 산출되는 위치 정보에 비해서 상대적으로 정확한 위치를 판단할 수 있다. 또한, 주행부는 실제 타 청소기의 이동에 관한 정보를 포함하기 때문에, 타 청소기의 위치 변화를 정확하게 설명할 수 있다.
예를 들어, 타 청소기에는 엔코더에서 모터가 회전된 것으로 감지했더라도, 자이로 센서를 이용해서, 타 청소기의 위치가 이동된 것이 아니라 회전된 것을 판별해서, 타 청소기의 위치 변화를 정확히 산출할 수 있다. 휠을 회전시키는 모터가 회전되는 경우라도, 타 청소기가 이동없이 회전만 하는 것도 가능하기 때문에, 모터가 회전된다고 무조건 타 청소기의 위치가 이동되는 것은 아니다. 따라서, 자이로 센서를 이용하는 경우에 타 청소기의 위치 변화없이 회전만 이루어진 경우나, 위치에 변화와 회전이 함께 이루어진 경우나, 회전없이 위치 변화만 이루어진 경우 등을 구분할 수 있다. 따라서, 엔코더와 자이로 센서를 이용해서 타 청소기는 이전 위치에서 현재 위치로 변환된 제1좌표를 정확하게 산출할 수 있다. 또한 이런 정보는 타 청소기의 통신부를 통해서 네트워크로 전송되고, 네트워크를 통해서 로봇 청소기(100b)로 전달될 수 있다.
제2좌표는 타 청소기(100a)와 로봇 청소기(100b)의 사이에 송수신된 신호(예를 들어, UWB 모듈을 이용해서 신호가 송수신될 수 있음)에 의해서 측정된다. 제2좌표는 로봇 청소기(100b)의 감지영역에 타 청소기(100a)가 존재해서 신호가 전달이 되는 경우에 산출될 수 있다.
도 9를 보면, H에 의해서 두 개의 좌표값이 등호에 의해서 표현될 수 있음을 알 수 있다.
한편 H를 구하기 위해서, 로봇 청소기(100b)의 감지영역 내에 타 청소기(100a)가 배치될 때의 data를 지속적으로 축적할 수 있다. 이러한 data는 아래와 같이 표현된다. 타 청소기(100a)가 감지영역 내에 위치할 때에 많은 data를 축적한다. 이때 data는 복수 개의 제1좌표와 각각에 대응되는 복수 개의 제2좌표이다.
H를 구하기 위해서 최조 자승법을 이용할 수 있다.
한편, H를 산출한 이후에, 계속해서 제1좌표와 제2좌표가 획득되면 H를 새롭게 산출해서, H를 갱신하는 것이 가능하다. H를 산출하는 data의 양이 많아지면, H는 더욱 신뢰성이 높은 값을 가지게 된다.
이렇게 산출된 변환식(H)를 이용해서, 로봇 청소기(100b)와 타 청소기(100a)가 직접 신호를 송수신하기 어려울 때에도 로봇 청소기(100b)는 타 청소기(100a)를 추종할 수 있다. 타 청소기(100a)가 일시적으로 로봇 청소기(100b)의 감지영역을 벗어나서, 로봇 청소기(100b)가 타 청소기(100a)의 위치에 관한 신호를 센싱부를 통해서 직접 받을 수 없다. 이 때에, 로봇 청소기(100b)는 네트워크를 통해서 전달된 타 청소기(100a)의 주행 정보를 이용해서, 로봇 청소기(100b)의 위치 대비 타 청소기의 위치를 변환식에 의해서 계산할 수 있다.
변환식에 의해서 로봇 청소기(100b)가 타 청소기의 위치를 판단할 때에는 로봇 청소기(100b)의 통신부(1100)을 통해서, R에 해당하는 제1좌표는 전달받아야 한다. 즉 R과 H를 알기 때문에, M이 산출될 있다. M는 로봇 청소기(100b)에 대한 타 청소기(100a)의 위치이다. 따라서 로봇 청소기(100b)는 타 청소기(100a)에 대한 상대 위치를 알 수 있고, 로봇 청소기(100b)는 타 청소기(100a)를 따라서 이동할 수 있다.
한편, 상술한 기술을 기반으로, 로봇 청소기(100b) 또는 타 청소기(100a) 중에 어느 하나가 먼저 충전대에 접촉 후 충전에 들어가면, 다른 하나가 어느 하나의 충전대 위치(충전에 들어간 청소기에 대해 제2좌표 또는 제1좌표)를 기억 후 자신의 충전대로 이동한다. 위치를 기억했으므로 다음 번 청소부터는 감지영역의 밖에 있더라도, 추종 청소를 위해 모일 수 있다.
도 10은 다른 실시예에 따른 제어방법을 설명하기 위한 흐름도이고, 도 11은 두 대의 청소기가 한 청소 공간에 배치된 상태를 설명한 도면이며, 도 12는 두 대의 청소기가 위치를 인식해서 정렬하는 과정을 설명한 도면이다.
이하 도 10 내지 도 12를 참조해서 설명한다.
도 11에 도시된 것처럼, 상기 타 청소기(100a)와 상기 로봇 청소기(100b)는 하나의 청소 공간에 배치될 수 있다. 통상적으로 청소가 수행되는 전체 공간인 집 등은 거실, 방, 부엌 등 여러 개의 공간으로 구분될 수 있다.
상기 타 청소기(100a)는 해당 공간을 청소를 적어도 한 번 수행한 상태로 전체 공간에 대한 맵 정보를 가지고 있다. 이때 상기 맵 정보는 사용자에 의해서 입력된 것이거나, 상기 타 청소기(100a)가 청소를 수행하면서 획득한 기록에 근거한 것이 가능하다. 도 11에서 상기 타 청소기(100a)는 거실 또는 부엌에 위치한 상태이지만, 집 전체 공간에 대한 맵 정보를 가지고 있는 것이 가능하다.
상기 타 청소기(100a)의 맵 정보는 상기 로봇 청소기(100b)에 전달될 수 있다(S100). 이때 상기 타 청소기와 상기 로봇 청소기의 통신부가 직접 통신을 하면서 맵 정보가 전달될 수 있다. 또한 상기 타 청소기와 상기 로봇 청소기가 와이파이 등과 같이 다른 네트워크를 통하거나, 서버를 매개체로 해서 정보가 전달되는 것이 가능하다.
이때 공유되는 맵 정보는 상기 타 청소기가 배치된 위치를 포함하는 맵 정보인 것이 가능하다. 또한 상기 로봇 청소기가 배치된 위치를 포함하는 맵 정보가 공유되는 것이 가능하다. 실질적으로 타 청소기와 로봇 청소기는 집이라는 전체 공간 내에 함께 존재할 수 있고, 나아가 거실 등과 같이 좀 더 특정된 공간에 함께 존재할 수 있기 때문에, 두 대의 청소기가 위치한 공간에 대한 맵 정보가 공유되는 것이 바람직하다.
상기 타 청소기(100a)와 상기 로봇 청소기(100b)는 각각의 충전대에서 청소를 시작하기 위해서 이동하는 것이 가능하지만, 사용자에 의해서 각각의 청소기가 청소를 필요로 하는 공간이 이동되는 것도 가능하다.
상기 타 청소기(100a)와 상기 로봇 청소기(100b)가 각각 전원이 켜지고 구동된다(S110). 상기 타 청소기(100a)와 상기 로봇 청소기(100b)가 이동을 하는 것이 가능하다. 특히 상기 로봇 청소기(100b)는 상기 타 청소기(100a)와의 거리가 줄어드는 방향으로 이동되는 가능하다.
이때 상기 타 청소기와 로봇 청소기의 거리가 특정 거리 이내 인지를 판단한다(S120). 이때 특정 거리는 50cm이하인 것이 가능하다. 상기 특정 거리는 타 청소기와 로봇 청소기가 함께 주행을 하면서 청소를 하기 위해서 설정된 초기 배열을 위한 거리를 의미할 수 있다. 즉 특정 거리로 두 대의 청소기가 배치되면, 이후에는 정해진 알고리즘에 따라서 두 대의 로봇 청소기가 함께 청소를 수행할 수 있다.
상기 타 청소기(100a)와 상기 로봇 청소기(100b)는 도 5 및 도 6에서 설명한 바와 같이, 직접 통신이 가능하기 때문에, 상기 로봇 청소기(100b)는 이동을 하면서 상기 타 청소기(100a)와의 거리가 줄어드는 것을 확인할 수 있다. 참고로, 상기 타 청소기(100a)와 상기 로봇 청소기(100b)의 사이에 이루어지는 통신으로는 상기 로봇 청소기(100b)에서 상기 타 청소기(100a)의 위치 및 향하는 방향에 대한 정확도가 높지 않아서, 추후에 정확도를 높이기 위한 기술이 추가된다.
상기 로봇 청소기(100b)가 상기 타 청소기(100a)로부터 거리를 줄이기 위해서, 원형 또는 스파이럴 궤적을 그리며 이동하는 것이 가능하다. 즉 상기 로봇 청소기(100b)가 상기 타 청소기(100a)의 위치를 정확히 측정해서, 해당 위치로 이동하는 것이 쉽지 않기 때문에 원형 또는 스파이럴 궤적과 같이 다양한 방향으로 이동하면서 거리가 줄어드는 위치를 찾는 것이 가능하다.
만약 타 청소기와 로봇 청소기의 거리가 특정 거리 이내로 줄지 않는다면, 상기 로봇 청소기(100b)는 지속적으로 이동을 하면서 타 청소기와 로봇 청소기의 간격이 특정 거리 이내로 이동되도록 한다. 상기 로봇 청소기(100b)가 원형 궤적을 그리면서 이동을 하다가, 특정 방향으로 이동시에 거리가 줄면 지속적으로 해당 방향으로 이동을 하면서, 거리가 줄어드는지 여부를 확인할 수 있다.
두 대의 청소기의 간격이 특정 거리 이내로 줄어들면, 타 청소기에서 촬영된 영상이 상기 로봇 청소기(100b)에 전송된다(S130). 이때 맵 정보와 같이, 두 대의 청소기가 직접 통신을 하는 것도 가능하고, 다른 네트워크나 서버를 통해서 통신하는 것도 가능하다.
두 대의 청소기는 특정 거리 이내에 위치하기 때문에, 두 대의 청소기에서 촬영된 영상은 유사하다. 특히 두 대의 청소기에 마련된 카메라가 각각 전방 상측을 향해서 배치된다면, 두 대의 청소기에서 촬영한 영상은 위치 및 방향이 동일하다면 동일한 영상이어야 한다. 따라서 두 대의 청소기에서 촬영된 영상을 비교해서, 두 대의 청소기의 위치 및 방향을 조정해서, 두 대의 청소기가 청소를 시작하기 위한 초기 위치 및 방향을 정렬할 수 있다.
타 청소기에서 전송된 영상과 로봇 청소기에서 촬영된 영상을 서로 비교한다(S140). 도 12를 참조해서, 비교하는 과정을 설명한다. 도 12a는 상기 타 청소기(100a)에서 영상을 촬영하는 모습을 설명한 도면이도, 도 12b는 상기 로봇 청소기(100b)에서 영상을 촬영하는 모습을 설명한 도면이다.
타 청소기와 로봇 청소기에는 전방의 상측을 촬영하도록 카메라가 설치되는데, 각각의 도면에서 화살표가 표시된 방향을 향해서 촬영이 이루어진다.
도 12a에서와 같이 상기 타 청소기(100a)에서 촬영된 영상에서는 화살표 방향을 중심으로 좌측에 a2특징점과 우측에 a1특징점이 배치된다. 즉 타 청소기에서 촬영된 영상에서 특징점을 선택하되, 카메라가 촬영하는 전방을 중심으로 좌측과 우측에 다른 특징점을 선정하는 것이 가능하다. 따라서, 카메라에서 촬영된 영상의 좌우를 구분할 수 있다.
도 12b에서 상기 로봇 청소기(100b)에서는 초기에 점선 화살표를 기준으로 촬영이 이루어진다. 즉, 로봇 청소기에 마련된 카메라에서는 전방 상측을 향하도록 배치되어 있어서, 해당 부분을 촬영하는데 점선 화살표를 기준으로 좌측에 a1특징점과 a4특징점이 배치되고, 우측에 a3특징점이 배치된다. 따라서 상기 로봇 청소기에 마련된 제어부에서 특징점을 비교할 때에 두 대의 청소기에서 촬영된 영상의 특징점에 차이가 있는 것을 확인할 수 있다.
이 경우, 도 12b에서와 같이 상기 로봇 청소기(100b)가 반 시계 방향으로 회전을 하면 두 대의 로봇 청소기가 바라보는 영상이 유사하게 구현될 수 있다. 즉 상기 로봇 청소기(100b)가 반 시계 방향으로 회전되어서, 로봇 청소기의 카메라에가 바라보는 방향이 실선 화살표와 같이 변경될 수 있다. 이때 로봇 청소기의 카메라에서 촬영된 영상을 보면 좌측에는 a2특징점이 배치되고, 우측에는 a1특징점이 배치된다. 따라서, 도 12a에서 타 청소기가 제공하는 영상과 도 12b에서 로봇 청소기에서 촬영한 영상의 특징점이 유사하게 배치할 수 있다. 이러한 과정을 통해서 두 대의 청소기의 헤딩각이 유사하게 정렬될 수 있다. 나아가, 두 대의 로봇 청소기가 제공하는 영상에 특징점이 유사하게 배치되면, 두 대의 청소기가 현재 상태에서 특징점을 바라보는 위치가 특정 거리 이내에서 인접하게 배치된 것을 확인할 수 있어서, 도 9에서 설명한 것과 같이 서로 간의 위치를 정확하게 특정할 수 있다.
상술한 것과 같이 로봇 청소기에서 촬영된 영상과 타 청소기에서 촬영되어 전송된 영상, 즉 두 개의 영상에서 동일한 특징점을 선정하고, 선정된 특징점에 따라 판단하는 것이 가능하다. 이때 특징점은 특징으로 구분하기 쉬운 큰 물체이거나 특징으로 구분하기 쉬운 큰 물체의 일부분인 것이 가능하다. 예를 들어, 특징점은 공기 청정기, 문, 텔레비젼 등과 같은 물체이거나 옷장, 침대 등의 모서리와 같이 물체의 일부분인 것이 가능하다.
상기 로봇 청소기의 제어부에서는 두 개의 영상에서 특징점이 유사한 위치에 배치되면, 상기 로봇 청소기는 상기 타 청소기와 주행 시작 전의 초기 위치에 배열된 것으로 판단할 수 있다. 상기 타 창소기에서 제공된 영상과 로봇 청소기에서 현재 촬영된 영상에 차이가 있으면, 로봇 청소기를 이동시키거나 회전시켜서, 로봇 청소기의 카메라에서 촬영된 영상을 변화시키는 것이 가능하다. 로봇 청소기의 카메라에서 촬영된 영상과 타 청소기에서 제공된 영상을 서로 비교할 때에, 두 개의 영상에서 특징점의 위치 변화가 유사한 방향으로 이루어지면, 상기 로봇 청소기는 상기 타 청소기와 주행 시작 전의 초기 위치에 배열된 것으로 판단하는 것도 가능하다.
한편 두 개의 영상을 비교하기 쉽도록 하기 위해서, 상기 특징점은 복수 개가 선정되고, 각각의 특징점은 타 청소기 또는 로봇 청소기의 전방 중앙의 좌우측에 나뉘어서 배치되는 것이 바람직하다. 로봇 청소기와 타 청소기에 카메라는 각각 카메라가 전방을 향하도록 배치되는데, 카메라를 기준으로 좌측과 우측에 서로 다른 특징점이 배치되면, 로봇 청소기의 제어부에서 타 청소기의 위치 및 방향을 감지하기 용이하기 때문이다. 상기 로봇 청소기는 상기 특징점의 좌우 배치가 타 청소기에서 전송된 좌우 배치와 동일하도록 상기 로봇 청소기를 이동 또는 회전시켜서, 상기 로봇 청소기가 타 청소기의 후방에 일렬로 배치되도록 할 수 있다. 특히 로봇 청소기와 타 청소기의 전방이 서로 일치하도록 배치해서, 이후에 함께 청소를 할 때에 초기 이동 방향 선정이 용이해질 수 있다.
상술한 과정을 통해서 로봇 청소기에서 타 청소기의 위치를 공유한 맵 정보에서 파악할 수 있다(S150).
이후에는 로봇 청소기는 타 청소기와 도 7 내지 도 10에 설명한 것과 같이 함께 주행을 하면서 청소를 수행하는 것이 가능하다. 상기 로봇 청소기가 타 청소기를 따라 주행하면서 청소를 따라 가면서 청소를 수행하게 된다. 상술한 일 실시예와 다른 실시예는 함께 조합이 가능하기 때문에, 구체적인 설명은 생략한다.
다른 실시예에서, 상기 로봇 청소기(100b)는 본체를 이동 또는 회전시키는 주행부; 타 청소기와 통신하는 통신부; 영상을 촬영하는 카메라를 포함하고, 상기 타 청소기를 감지영역 내에서 센싱하는 센싱부; 및 상기 통신부에서 수신된 타 청소기의 영상 정보와, 맵 정보를 이용해서 상기 타 청소기와의 위치를 산출하는 제어부;를 포함한다. 상기 로봇 청소기(100b)에 마련된 제어부에서는 타 청소기에서 전송된 영상고 로봇 청소기의 카메라에서 촬영된 영상을 비교하면서, 타 청소기와의 위치 및 방향을 조절할 수 있다.
[실시예1]
본체를 이동 또는 회전시키는 주행부;
앞서 주행하는 타 청소기를 감지영역 내에서 센싱하는 센싱부; 및
상기 타 청소기가 상대적으로 길이가 긴 가로 방향으로 이동한 후에, 수직한 방향으로 전환하면서 상대적으로 길이가 짧은 세로 방향으로 이동하는 지그재그 방식으로 주행을 하고, 상기 가로 방향은 장애물을 만날 때까지 주행이 이루어지고, 상기 세로 방향은 제1설정 거리만큼 이동할 때에,
상기 가로 방향의 주행 길이가 제2설정 거리보다 짧으면, 상기 주행부는 제1모드로 상기 타 청소기를 따라서 주행하고,
상기 가로 방향의 주행 길이가 제2설정 거리보다 길면, 상기 주행부는 제2모드로 상기 타 청소기를 따라서 주행하도록 제어하는 제어부;를 포함하는 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 로봇 청소기는 상기 타 청소기의 주행 경로와 동일한 경로로 주행하되, 시간 간격을 두고 주행하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 세로 방향 간격이 멀게 유지되는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 가로 방향 간격이 가깝게 유지되는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제1모드는,
상기 타 청소기가 상기 로봇 청소기로부터 세로 방향으로 제3설정 거리만큼 멀게 유지되도록 하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제3설정 거리는,
상기 제1설정 거리의 두 배인 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제1설정 거리는 상기 타 청소기의 몸체의 지름과 동일한 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제2모드는,
상기 타 청소기와 가로 방향으로 제2설정 거리 만큼 간격이 유지되도록 주행하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제2모드에서,
상기 타 청소기가 장애물을 만나서 세로 방향 주행을 시작하기 이전에는, 상기 타 청소기와 상기 로봇 청소기가 일직선을 유지하면서 주행하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제2모드에서,
상기 타 청소기가 세로 방향 주행을 하는 동안에는 상기 로봇 청소기는 가로 방향 주행을 하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제2모드에서,
상기 타 청소기가 가로 방향 주행을 하는 동안에는 상기 로봇 청소기는 가로 방향 주행 또는 세로 방향 주행을 하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
네트워크에 연결되고, 청소가 수행되는 영역의 맵 정보와 로봇 청소기의 위치 정보를 획득하는 통신부를 더 포함하고,
상기 제어부는 가로 방향의 예상 주행 거리를 산출해서, 제2설정 거리와 비교하는 것을 특징으로 하는 로봇 청소기.
실시예1에 있어서,
상기 제2설정 거리는 상기 제1설정 거리보다 긴 것을 특징으로 하는 로봇 청소기.
[실시예 2]
타 청소기가 상대적으로 길이가 긴 가로 방향으로 이동한 후에, 수직한 방향으로 전환하면서 상대적으로 길이가 짧은 세로 방향으로 이동하는 지그재그 방식으로 주행을 하고, 상기 가로 방향은 장애물을 만날 때까지 주행이 이루어지고, 상기 세로 방향은 제1설정 거리만큼 이동하는 로봇 청소기의 제어 방법에 있어서,
가로 방향 주행 길이를 확인하는 제1단계;
상기 가로 방향 주행 길이가 제2설정 길이보다 짧은 지를 판단하는 제2단계;
상기 가로 방향 주행 길이가 제2설정 길이보다 짧으면 로봇 청소기를 제1모드에 따라 주행하고,
상기 가로 방향 주행 길이가 제2설정 길이보다 길면 로봇 청소기를 제2모드에 따라 주행해서,
상기 로봇 청소기가 타 청소기를 따라 주행하면서 청소를 따라 가면서 청소를 수행하도록 하는 단계;를 포함하는 로봇 청소기의 제어 방법.
실시예2에 있어서,
상기 제1단계 이전에,
청소가 수행되는 영역의 맵 정보와 로봇 청소기의 위치 정보를 획득하는 단계와,
상기 맵 정보를 이용해서, 가로 방향 주행 길이를 계산하는 단계;를 포함하는 로봇 청소기의 제어 방법.
실시예2에 있어서,
상기 가로 방향 주행 길이는 로봇 청소기 또는 타 청소기 중 하나의 가로 방향 주행 길이인 것을 특징으로 하는 로봇 청소기의 제어 방법.
실시예2에 있어서,
상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 세로 방향 간격이 멀게 유지되는 것을 특징으로 하는 로봇 청소기의 제어 방법.
실시예2에 있어서,
상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 가로 방향 간격이 가깝게 유지되는 것을 특징으로 하는 로봇 청소기의 제어 방법.
실시예2에 있어서,
상기 제1모드는,
상기 타 청소기가 상기 로봇 청소기로부터 세로 방향으로 제3설정 거리만큼 멀게 유지되도록 하는 것을 특징으로 하는 로봇 청소기의 제어 방법.
실시예2에 있어서,
상기 제2모드는,
상기 타 청소기와 가로 방향으로 제2설정 거리 만큼 간격이 유지되도록 주행하는 것을 특징으로 하는 로봇 청소기의 제어 방법.
본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
Claims (20)
- 타 청소기에서 전송된 맵 정보가 로봇 청소기로 공유되는 맵 공유 단계;
상기 타 청소기에서 촬영된 영상이 상기 로봇 청소기로 전달되는 영상 전달 단계;
상기 타 청소기에서 전달된 영상과 상기 로봇 청소기에서 촬영된 영상을 비교해서, 상기 로봇 청소기에서 타 청소기의 위치 정보를 파악하는 판단 단계; 및
상기 로봇 청소기가 타 청소기를 따라 주행하면서 청소를 따라 가면서 청소를 수행하는 주행 단계;를 포함하는 로봇 청소기의 제어 방법. - 제1항에 있어서,
상기 맵 공유 단계는,
상기 타 청소기가 배치된 위치를 포함하는 맵 정보가 공유되는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제1항에 있어서,
상기 맵 공유 단계는.
상기 로봇 청소기가 배치된 위치를 포함하는 맵 정보가 공유되는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제1항에 있어서,
상기 영상 전달 단계 이전에,
상기 로봇 청소기가 상기 타 청소기와의 거리가 줄어드는 방향으로 이동하는 이동 단계를 더 포함하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제4항에 있어서,
상기 이동 단계에서는,
상기 로봇 청소기는 원형 또는 스파이럴 궤적을 그리며 이동하면서, 상기 타 청소기와 상기 로봇 청소기의 간격이 특정 거리 이내로 줄어드는지 확인하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제5항에 있어서,
상기 특정 거리는 50cm이하인 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제1항에 있어서,
상기 판단 단계에서는,
두 개의 영상에서 동일한 특징점을 선정하고, 선정된 특징점에 따라 판단하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제7항에 있어서,
두 개의 영상에서 특징점이 유사한 위치에 배치되면, 상기 로봇 청소기는 상기 타 청소기와 주행 시작 전의 초기 위치에 배열된 것으로 판단하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제7항에 있어서,
두 개의 영상에서 특징점의 위치 변화가 유사한 방향으로 이루어지면, 상기 로봇 청소기는 상기 타 청소기와 주행 시작 전의 초기 위치에 배열된 것으로 판단하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제7항에 있어서,
상기 특징점은 복수 개가 선정되고, 각각의 특징점은 타 청소기 또는 로봇 청소기의 전방 중앙의 좌우측에 나뉘어서 배치되는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제10항에 있어서,
상기 로봇 청소기는,
상기 특징점의 좌우 배치가 타 청소기에서 전송된 좌우 배치와 동일하도록 상기 로봇 청소기를 이동 또는 회전시키는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제1항에 있어서,
상기 주행 단계는,
상기 타 청소기와 상기 로봇 청소기기가 상대적으로 길이가 긴 가로 방향으로 이동한 후에, 수직한 방향으로 전환하면서 상대적으로 길이가 짧은 세로 방향으로 이동하는 지그재그 방식으로 주행을 하고, 상기 가로 방향은 장애물을 만날 때까지 주행이 이루어지고, 상기 세로 방향은 제1설정 거리만큼 이동하는 로봇 청소기의 제어 방법. - 제12항에 있어서,
상기 주행 단계는,
가로 방향 주행 길이를 확인하는 제1단계;
상기 가로 방향 주행 길이가 제2설정 길이보다 짧은 지를 판단하는 제2단계;
상기 가로 방향 주행 길이가 제2설정 길이보다 짧으면 로봇 청소기를 제1모드에 따라 주행하고,
상기 가로 방향 주행 길이가 제2설정 길이보다 길면 로봇 청소기를 제2모드에 따라 주행해서,
상기 로봇 청소기가 타 청소기를 따라 주행하면서 청소를 따라 가면서 청소를 수행하도록 하는 단계;를 포함하는 로봇 청소기의 제어 방법. - 제13항에 있어서,
상기 가로 방향 주행 길이는 상기 로봇 청소기 또는 상기 타 청소기 중 하나의 가로 방향 주행 길이인 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제13항에 있어서,
상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 세로 방향 간격이 멀게 유지되는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제13항에 있어서,
상기 제1모드는 상기 제2모드에 비해서, 상기 타 청소기와 상기 로봇 청소기의 가로 방향 간격이 가깝게 유지되는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제13항에 있어서,
상기 제1모드는,
상기 타 청소기가 상기 로봇 청소기로부터 세로 방향으로 제3설정 거리만큼 멀게 유지되도록 하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 제13항에 있어서,
상기 제2모드는,
상기 타 청소기와 가로 방향으로 제2설정 거리 만큼 간격이 유지되도록 주행하는 것을 특징으로 하는 로봇 청소기의 제어 방법. - 본체를 이동 또는 회전시키는 주행부;
타 청소기와 통신하는 통신부;
영상을 촬영하는 카메라를 포함하고, 상기 타 청소기를 감지영역 내에서 센싱하는 센싱부; 및
상기 통신부에서 수신된 타 청소기의 영상 정보와, 맵 정보를 이용해서 상기 타 청소기와의 위치를 산출하는 제어부;를 포함하는 로봇 청소기. - 제19항에 있어서,
상기 제어부는,
상기 타 청소기에서 송신된 영상에서 특징점을 선택하고, 상기 센싱부에서 촬영된 영상에서 특징점을 선택해서 두 가지의 특징점을 비교해서 타 청소기와 로봇 청소기의 위치를 판단하는 것을 특징으로 하는 로봇 청소기.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200055280A KR102390040B1 (ko) | 2020-05-08 | 2020-05-08 | 로봇 청소기 및 그 제어 방법 |
EP20934840.8A EP4146047A4 (en) | 2020-05-08 | 2020-10-06 | CLEANING ROBOT AND METHOD FOR CONTROLLING THE SAME |
PCT/KR2020/013541 WO2021225234A1 (en) | 2020-05-08 | 2020-10-06 | Robot cleaner and method for controlling the same |
TW109134823A TWI760881B (zh) | 2020-05-08 | 2020-10-07 | 清掃機器人及其控制方法 |
US17/086,638 US20210345847A1 (en) | 2020-05-08 | 2020-11-02 | Robot cleaner and method for controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200055280A KR102390040B1 (ko) | 2020-05-08 | 2020-05-08 | 로봇 청소기 및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210136685A true KR20210136685A (ko) | 2021-11-17 |
KR102390040B1 KR102390040B1 (ko) | 2022-04-25 |
Family
ID=78411743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200055280A KR102390040B1 (ko) | 2020-05-08 | 2020-05-08 | 로봇 청소기 및 그 제어 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210345847A1 (ko) |
EP (1) | EP4146047A4 (ko) |
KR (1) | KR102390040B1 (ko) |
TW (1) | TWI760881B (ko) |
WO (1) | WO2021225234A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102668070B1 (ko) * | 2019-03-15 | 2024-05-29 | 삼성전자주식회사 | 로봇 청소기 및 이의 제어 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102015498B1 (ko) * | 2018-06-27 | 2019-10-23 | 엘지전자 주식회사 | 복수의 자율주행 청소기 및 그 제어방법 |
KR20190134970A (ko) * | 2018-05-04 | 2019-12-05 | 엘지전자 주식회사 | 복수의 이동 로봇 및 그 제어방법 |
JP6666695B2 (ja) * | 2015-11-16 | 2020-03-18 | シャープ株式会社 | 自走式電子機器および自走式電子機器の走行方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100725516B1 (ko) * | 2001-04-18 | 2007-06-08 | 삼성광주전자 주식회사 | 로봇 청소 시스템 |
US8995921B2 (en) * | 2004-09-10 | 2015-03-31 | Interdigital Technology Corporation | Measurement support for a smart antenna in a wireless communication system |
KR101855831B1 (ko) * | 2011-05-12 | 2018-05-09 | 엘지전자 주식회사 | 청소 장치, 및 복수의 로봇 청소기를 이용한 협동 청소 방법 |
KR102082757B1 (ko) * | 2013-07-11 | 2020-02-28 | 삼성전자주식회사 | 청소 로봇 및 그 제어 방법 |
KR102489806B1 (ko) * | 2018-01-03 | 2023-01-19 | 삼성전자주식회사 | 청소용 이동장치, 협업청소 시스템 및 그 제어방법 |
US11614746B2 (en) * | 2018-01-05 | 2023-03-28 | Irobot Corporation | Mobile cleaning robot teaming and persistent mapping |
CN116578068A (zh) * | 2018-06-15 | 2023-08-11 | 科沃斯机器人股份有限公司 | 机器人定位方法、机器人及存储介质 |
KR102252033B1 (ko) * | 2018-09-06 | 2021-05-14 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
-
2020
- 2020-05-08 KR KR1020200055280A patent/KR102390040B1/ko active IP Right Grant
- 2020-10-06 EP EP20934840.8A patent/EP4146047A4/en active Pending
- 2020-10-06 WO PCT/KR2020/013541 patent/WO2021225234A1/en unknown
- 2020-10-07 TW TW109134823A patent/TWI760881B/zh not_active IP Right Cessation
- 2020-11-02 US US17/086,638 patent/US20210345847A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6666695B2 (ja) * | 2015-11-16 | 2020-03-18 | シャープ株式会社 | 自走式電子機器および自走式電子機器の走行方法 |
KR20190134970A (ko) * | 2018-05-04 | 2019-12-05 | 엘지전자 주식회사 | 복수의 이동 로봇 및 그 제어방법 |
KR102015498B1 (ko) * | 2018-06-27 | 2019-10-23 | 엘지전자 주식회사 | 복수의 자율주행 청소기 및 그 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
TWI760881B (zh) | 2022-04-11 |
EP4146047A1 (en) | 2023-03-15 |
TW202142983A (zh) | 2021-11-16 |
US20210345847A1 (en) | 2021-11-11 |
WO2021225234A1 (en) | 2021-11-11 |
EP4146047A4 (en) | 2024-06-05 |
KR102390040B1 (ko) | 2022-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102470532B1 (ko) | 복수의 자율주행 이동 로봇 | |
KR102427015B1 (ko) | 복수의 자율주행 이동 로봇 | |
TWI739100B (zh) | 複數個移動式機器人及其控制方法 | |
US11409308B2 (en) | Robot cleaner and a controlling method for the same | |
US11432697B2 (en) | Robot cleaner and a controlling method for the same | |
KR102234641B1 (ko) | 이동 로봇 및 복수의 이동 로봇의 제어방법 | |
TWI732211B (zh) | 複數個自控式移動機器人及其控制方法 | |
KR102309303B1 (ko) | 로봇 청소기 및 그 제어 방법 | |
KR102369661B1 (ko) | 이동 로봇 및 복수의 이동 로봇의 제어방법 | |
KR102096564B1 (ko) | 복수의 자율주행 청소기 | |
US20200081456A1 (en) | Plurality of autonomous mobile robots and controlling method for the same | |
KR102179057B1 (ko) | 복수의 자율주행 청소기 | |
CN113966187B (zh) | 移动机器人和移动机器人的控制方法 | |
KR102234642B1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
KR102390040B1 (ko) | 로봇 청소기 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |