KR102527645B1 - 청소 로봇 및 그 제어 방법 - Google Patents
청소 로봇 및 그 제어 방법 Download PDFInfo
- Publication number
- KR102527645B1 KR102527645B1 KR1020150111429A KR20150111429A KR102527645B1 KR 102527645 B1 KR102527645 B1 KR 102527645B1 KR 1020150111429 A KR1020150111429 A KR 1020150111429A KR 20150111429 A KR20150111429 A KR 20150111429A KR 102527645 B1 KR102527645 B1 KR 102527645B1
- Authority
- KR
- South Korea
- Prior art keywords
- cleaning robot
- cleaning
- driving
- obstacle
- entrance
- Prior art date
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 1784
- 238000000034 method Methods 0.000 title claims description 104
- 238000001514 detection method Methods 0.000 claims description 45
- 230000033001 locomotion Effects 0.000 description 71
- 230000003252 repetitive effect Effects 0.000 description 29
- 239000000428 dust Substances 0.000 description 27
- 230000001133 acceleration Effects 0.000 description 26
- 230000015654 memory Effects 0.000 description 23
- 230000008859 change Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 230000001186 cumulative effect Effects 0.000 description 15
- 238000006073 displacement reaction Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 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/2857—User input or output elements for control, e.g. buttons, switches or displays
-
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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
-
- 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
- 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/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/2842—Suction motors or blowers
-
- 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/2847—Surface treating elements
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0003—Home robots, i.e. small robots for domestic use
-
- 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
-
- 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/0259—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
- G05D1/0263—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
-
- 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
-
- 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/06—Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
- Robotics (AREA)
- Human Computer Interaction (AREA)
Abstract
청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 청소 공간을 청소하는 청소부, 상기 본체의 주행 중에 상기 청소 공간에 포함된 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하고, 상기 청소 영역이 설정되면 상기 청소 영역을 청소하는 제어부를 포함할 수 있다.
Description
개시된 발명은 청소 로봇 및 그 제어 방법에 관한 것으로써, 청소 공간을 주행 중에 청소 공간을 자동으로 청소하는 청소 로봇 및 그 제어 방법에 관한 발명이다.
청소 로봇은 사용자의 조작 없이 청소 공간을 주행하면서 바닥에 쌓인 먼지 등의 이물질을 흡입함으로써 청소 공간을 자동으로 청소하는 장치이다. 즉, 청소 로봇은 청소 공간을 주행하며 청소 공간을 청소한다.
종래 청소 로봇은 실내 청소 공간을 모두 주행한 이후 청소 공간을 청소 공간 내부를 청소 하였다.
구체적으로, 청소 로봇은 실내 청소 공간을 모두 주행한 이후 청소 로봇의 주행 기록을 기초로 청소 공간의 맵을 생성하고, 생성된 맵에 따라 청소 영역을 설정하고, 설정된 청소 영역을 청소하였다.
이와 같이 청소 로봇은 청소 공간의 맵을 생성하기 위하여 청소 동작과 무관하게 실내 청소 공간을 모두 주행하여야 하므로 청소 시간이 지연되었다.
개시된 발명의 일 측면은 청소 공간의 주행 중에 실시간으로 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하는 청소 로봇 및 청소 로봇의 제어 방법을 제공하고자 한다.
개시된 발명의 일 측면에 따른 청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 청소 공간을 청소하는 청소부, 상기 본체의 주행 중에 상기 청소 공간에 포함된 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하고, 상기 청소 영역이 설정되면 상기 청소 영역을 청소하는 제어부를 포함할 수 있다.
실시 형태에 따라 상기 제어부는 상기 본체의 주행 중에 상기 청소 영역의 출입구의 위치를 판단하고, 판단된 출입구의 위치와 상기 본체의 주행 기록을 기초로 상기 청소 영역을 생성할 수 있다.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 이동을 방해하는 장애물을 검출하는 장애물 감지부를 더 포함하고, 상기 제어부는 상기 본체가 상기 장애물의 외곽선을 따라 주행하도록 상기 주행부를 제어할 수 있다.
실시 형태에 따라 상기 본체의 주행 기록은 상기 본체가 주행한 위치 정보와 상기 장애물의 외곽선 정보를 포함할 수 있다.
실시 형태에 따라 상기 장애물의 외곽선을 따라 주행 중에 상기 제어부는 상기 본체의 현재 위치와 상기 주행 기록을 기초로 상기 출입구의 위치를 판단할 수 있다.
실시 형태에 따라 상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구의 위치로 판단할 수 있다.
실시 형태에 따라 상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 볼록한 모서리와 상기 제1 벽면의 사이를 출입구의 위치로 판단할 수 있다.
실시 형태에 따라 상기 본체의 현재 위치가 상기 장애물의 제1 벽면이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 볼록한 모서리를 따라 주행한 주행 기록이 존재하면 상기 제어부는 상기 제1 벽면과 상기 제1 볼록한 모서리의 사이를 출입구의 위치로 판단할 수 있다.
실시 형태에 따라 상기 제어부는 상기 출입구의 위치와 상기 본체가 주행한 위치 정보를 연결하여 폐곡선을 생성할 수 있다.
실시 형태에 따라 상기 제어부는 상기 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환할 수 있다.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 전방 및 상방의 영상을 획득하는 영상 획득부를 더 포함하고, 상기 제어부는 상기 영상 획득부가 획득한 상기 본체의 전방 영상을 기초로 상기 출입구의 위치를 판단할 수 있다.
실시 형태에 따라 상기 제어부는 상기 전방 영상으로부터 특징점을 추출하고, 추출된 특징점과 상기 출입구의 형상을 비교함으로써 상기 출입구의 위치를 판단할 수 있다.
실시 형태에 따라 상기 출입구의 위치가 검출되면, 상기 제어부는 상기 본체의 상방 영상을 기초로 상기 청소 영역을 설정할 수 있다.
실시 형태에 따라 상기 제어부는 상기 상방 영상으로부터 특징점을 추출하고, 추출된 특징점을 기초로 상기 청소 영역을 설정할 수 있다.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 전방을 향하여 전파 또는 광신호를 발신하고, 검출 대상으로부터 반사되는 반사파 또는 광신호를 수신하는 레이더 센서를 더 포함하고, 상기 제어부는 수신된 반사파 또는 광신호를 기초로 상기 검출 대상의 위치 및 방향을 판단할 수 있다.
실시 형태에 따라 상기 청소 로봇은 레이더 센서를 포함하는 다양한 센서를 포함할 수 있다.
실시 형태에 따라 상기 제어부는 상기 수신된 반사파 또는 광신호를 기초로 상기 출입구의 위치를 판단할 수 있다.
실시 형태에 따라 상기 출입구의 위치가 판단되면, 상기 제어부는 상기 출입구의 위치 및 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정할 수 있다.
실시 형태에 따라 상기 청소 로봇은 상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장을 감지하는 자기장 감지부를 더 포함할 수 있다.
실시 형태에 따라 상기 제어부는 상기 자기장 감지부의 감지 결과를 기초로 상기 출입구의 위치를 판단할 수 있다.
실시 형태에 따라 상기 출입구의 위치가 판단되면, 상기 제어부는 상기 출입구의 위치 및 상기 본체의 주행 기록을 기초로 상기 청소 영역을 설정할 수 있다.
실시 형태에 따라 상기 청소 로봇은 상기 청소 영역을 청소하는 청소부를 더 포함하고, 상기 제어부는 상기 설정된 청소 영역의 내부를 우선 청소하도록 상기 청소부를 제어할 수 있다.
개시된 발명의 일 측면에 따른 청소 로봇의 제어 방법은 상기 청소 로봇을 주행시키고, 상기 청소 로봇의 주행 중에 청소 영역을 설정하고, 상기 청소 영역이 설정되면, 설정된 청소 영역을 우선 주행시키고, 상기 청소 영역이 상기 청소 영역을 주행하는 동안, 상기 청소 영역을 청소하는 것을 포함할 수 있다.
실시 형태에 따라 상기 청소 영역을 설정하는 것은 상기 청소 로봇의 주행 중에 상기 청소 영역의 출입구의 위치를 판단하고, 판단된 출입구의 위치와 상기 청소 로봇의 주행 기록을 기초로 상기 청소 영역을 생성하는 것을 포함할 수 있다.
실시 형태에 따라 상기 청소 로봇을 주행시키는 것은 상기 청소 로봇의 이동을 방해하는 장애물의 외곽선을 따라 주행시키는 것을 포함할 수 있다.
실시 형태에 따라 상기 주행 기록은 상기 청소 로봇이 주행한 위치 정보 및 상기 장애물의 외곽선 정보를 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치 및 상기 주행 기록을 기초로 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구의 위치로 판단하는 것을 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제1 벽면의 사이를 출입구의 위치로 판단하는 것을 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 현재 위치가 상기 장애물의 제1 벽면이고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 벽면과 상기 제1 볼록한 모서리의 사이를 출입구의 위치로 판단하는 것을 포함할 수 있다.
실시 형태에 따라 상기 청소 영역을 생성하는 것은 상기 출입구의 위치 및 상기 주행 기록을 기초로 상기 청소 영역을 생성할 수 있다.
실시 형태에 따라 상기 청소 영역을 생성하는 것은 상기 출입구의 위치와 상기 청소 로봇이 주행한 위치 정보를 연결하여 폐곡선을 생성하고, 상기 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환하는 것을 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 전방 영상을 기초로 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.
실시 형태에 따라 상기 청소 영역을 생성하는 것은 상기 청소 로봇의 상방 영상을 기초로 상기 청소 영역을 생성하는 것을 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 청소 로봇의 주행을 방해하는 장애물로부터 반사되는 반사파를 기초로 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.
실시 형태에 따라 상기 출입구의 위치를 판단하는 것은 상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장의 감지 여부에 따라 상기 출입구의 위치를 판단하는 것을 포함할 수 있다.
개시된 발명의 다른 일 측면에 따른 청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 청소를 수행하는 청소부, 상기 본체의 주행 중에 출입구가 검출되면, 상기 출입구에 의하여 구획되는 영역을 청소 영역으로 설정하여 청소하는 제어부를 포함할 수 있다.
실시 형태에 따라 상기 청소 로봇은 상기 본체의 주행 중에 상기 본체의 위치 정보 및 주행 각도를 포함하는 주행 기록을 획득하는 움직임 검출부 및 상기 주행 기록을 저장하는 저장부를 더 포함할 수 있다.
실시 형태에 따라 상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 미리 정해진 기준 위치로 이동하도록 상기 주행부를 제어할 수 있다.
실시 형태에 따라 상기 제어부는 상기 주행 기록의 위치 정보 및 주행 각도를 기초로 상기 본체가 동일한 경로를 반복 주행하는지 판단할 수 있다.
실시 형태에 따라 상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 상기 출입구로 이동하도록 상기 주행부를 제어할 수 있다.
실시 형태에 따라 상기 본체가 동일한 경로를 반복 주행하면 상기 제어부는 상기 본체가 미리 정해진 방향으로 주행하도록 상기 주행부를 제어할 수 있다.
개시된 발명의 다른 일 측면에 따른 청소 로봇은 본체, 상기 본체를 이동시키는 주행부, 복수의 영역을 포함하는 청소 공간을 청소하는 청소부, 상기 본체의 주행 중에 상기 복수의 영역 가운데 적어도 하나의 영역을 청소 영역으로 설정하여 청소하고, 상기 적어도 하나의 영역의 청소가 완료되면 나머지 영역 가운데 적어도 하나의 영역을 청소 영역으로 재설정하여 청소하는 제어부를 포함할 수 있다.
개시된 발명의 일 측면에 따르면, 청소 공간의 주행 중에 실시간으로 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하는 청소 로봇 및 청소 로봇의 제어 방법을 제공하고자 할 수 있다.
도 1 및 도 2는 일 실시예에 의한 청소 로봇의 동작을 간략하게 도시한다.
도 3은 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 4는 일 실시예에 의한 청소 로봇의 외관을 도시한다.
도 5 및 도 6은 일 실시예에 의한 청소 로봇의 내부를 도시한다.
도 7은 일 실시예에 의한 청소 로봇의 저면을 도시한다.
도 8 및 도 9는 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 전방에 위치한 장애물을 감지하는 일 예를 도시한다.
도 10은 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 측면 장애물을 감지하는 일 예를 도시한다.
도 11은 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 12 내지 도 14는 도 11에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.
도 15는 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 방법을 도시한다.
도 16 및 도 17은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 일 예를 도시한다.
도 18은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 기록을 저장하는 일 예를 도시한다.
도 19는 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.
도 20은 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 일 예를 도시한다.
도 21 내지 도 23은 도 20에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.
도 24는 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 다른 일 예를 도시한다.
도 25 내지 도 27은 도 24에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.
도 28은 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.
도 29 내지 도 32는 도 28에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 과정의 일 예를 도시한다.
도 33은 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 방법을 도시한다.
도 34 내지 도 36는 도 33에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 과정의 일 예를 도시한다.
도 37은 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 방법을 도시한다.
도 38 및 도 39는 도 37에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 과정의 일 예를 도시한다.
도 40은 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는지 판단하는 방법을 도시한다.
도 41 및 도 42는 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는 일 예를 도시한다.
도 43은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 일 예를 도시한다.
도 44는 도 43에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 45는 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 다른 일 예를 도시한다.
도 46 및 도 47은 도 45에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 48은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 또 다른 일 예를 도시한다.
도 49 내지 도 52는 도 48에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 53은 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 54은 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 55 내지 도 59는 도 54에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.
도 60은 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 61은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 62는 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 63은 마그네틱 밴드가 설치된 청소 공간을 도시한다.
도 64은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 65 내지 도 67는 도 64에 도시된 청소 방법에 따라 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 과정을 도시한다.
도 3은 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 4는 일 실시예에 의한 청소 로봇의 외관을 도시한다.
도 5 및 도 6은 일 실시예에 의한 청소 로봇의 내부를 도시한다.
도 7은 일 실시예에 의한 청소 로봇의 저면을 도시한다.
도 8 및 도 9는 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 전방에 위치한 장애물을 감지하는 일 예를 도시한다.
도 10은 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 측면 장애물을 감지하는 일 예를 도시한다.
도 11은 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 12 내지 도 14는 도 11에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.
도 15는 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 방법을 도시한다.
도 16 및 도 17은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 일 예를 도시한다.
도 18은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 기록을 저장하는 일 예를 도시한다.
도 19는 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.
도 20은 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 일 예를 도시한다.
도 21 내지 도 23은 도 20에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.
도 24는 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 다른 일 예를 도시한다.
도 25 내지 도 27은 도 24에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.
도 28은 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.
도 29 내지 도 32는 도 28에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 과정의 일 예를 도시한다.
도 33은 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 방법을 도시한다.
도 34 내지 도 36는 도 33에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 과정의 일 예를 도시한다.
도 37은 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 방법을 도시한다.
도 38 및 도 39는 도 37에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 과정의 일 예를 도시한다.
도 40은 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는지 판단하는 방법을 도시한다.
도 41 및 도 42는 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는 일 예를 도시한다.
도 43은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 일 예를 도시한다.
도 44는 도 43에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 45는 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 다른 일 예를 도시한다.
도 46 및 도 47은 도 45에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 48은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 또 다른 일 예를 도시한다.
도 49 내지 도 52는 도 48에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 53은 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 54은 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 55 내지 도 59는 도 54에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.
도 60은 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 61은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 62는 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 63은 마그네틱 밴드가 설치된 청소 공간을 도시한다.
도 64은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 65 내지 도 67는 도 64에 도시된 청소 방법에 따라 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 과정을 도시한다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다.
구체적으로, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
또한, 본 명세서에서 사용한 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 본 명세서에서 사용되는 "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 메모리에 저장된 소프트웨어, FPGA (field-programmable gate array) 또는 ASIC (application specific integrated circuit)과 같은 하드웨어를 의미할 수 있다. 그러나, "~부", "~기", "~블록", "~부재", "~모듈" 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, "~부", "~기", "~블록", "~부재", "~모듈" 등은 접근할 수 있는 저장 매체에 저장되고 하나 또는 그 이상의 프로세서에 의하여 수행되는 구성일 수 있다.
이하에서는 첨부한 도면을 참조하여 개시된 발명의 일 실시예에 대하여 상세하게 설명한다. 첨부한 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낼 수 있다.
도 1 및 도 2는 일 실시예에 의한 청소 로봇의 동작을 간략하게 도시한다.
우선, 도 1 및 도 2를 참조하여 청소 로봇(100)의 동작에 관하여 간략하게 설명한다.
청소 로봇(100)은 청소 공간(A) 안에서 청소 공간(A)의 바닥을 주행할 수 있다. 또한, 청소 로봇(100)은 청소 공간(A)을 주행하는 동안 청소 공간(A)을 청소할 수 있다.
예를 들어, 청소 공간(A)의 임의의 위치에 위치한 청소 로봇(100)은 도 1에 도시된 바와 같이 임의의 방향으로 주행하고, 주행 중에 벽면, 가구 등의 장애물(O)과 마주치면 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행할 수 있다.
여기서, 장애물(O)은 청소 로봇(100)의 주행을 방해하는 모든 물건이 해당될 수 있다. 예를 들어, 청소 공간(A)을 구분하는 벽면, 청소 공간(A)에 위치하는 가구 등 청소 로봇(100)의 주행을 방해하는 물건은 장애물(O)에 해당될 수 있다.
또한, 청소 로봇(100)은 빠르고 효율적인 청소를 위하여 청소 공간(A)을 복수의 청소 영역으로 분할하고, 청소 로봇(100)은 각각의 분할된 청소 영역 내에서 주행하면서 해당 청소 영역을 청소할 수 있다.
통상적으로 청소 공간(A)은 복수의 공간(R1, R2, R3)으로 구획된다. 예를 들어, 청소 공간(A)은 도 1에 도시된 바와 같이 제1 방(R1), 제2 방(R2) 및 거실(R3)로 구획될 수 있다.
또한, 각각의 청소 공간(A)은 출입구(E1, E2)에 의하여 서로 연결된다. 예를 들어, 도 1에 도시된 바와 같이 제1 방(R1)과 거실(R3)은 제1 출입구(E1)에 의하여 연결되며, 제2 방(R2)과 거실(R3)은 제2 출입구(E2)에 의하여 연결될 수 있다.
다시 말해, 청소 공간(A)은 출입구(E1, E2)에 의하여 연결된 복수의 영역의 모음으로 볼 수 있다.
이와 같은 청소 공간(A)의 통상적인 특징을 이용하여 청소 로봇(100)은 주행 중에 실시간으로 청소 영역을 설정할 수 있다.
구체적으로, 청소 로봇(100)은 주행 중에 출입구를 판단하고, 판단된 출입구와 주행 기록을 기초로 청소 영역을 설정한다.
예를 들어, 도 1에 도시된 바와 같이 장애물(O)의 외곽선을 따라 주행하는 청소 로봇(100)이 제1 출입구(E1)를 인식하면, 청소 로봇(100)은 인식된 제1 출입구(E1)를 기초로 제1 방(R1)을 인식할 수 있다. 또한, 청소 로봇(100)은 제1 방(R1)을 제1 청소 영역(A1)으로 설정하고, 제1 청소 영역(A1)을 청소 공간(A)의 다른 영역보다 우선 청소할 수 있다.
다시 말해, 청소 로봇(100)은 주행 중에 출입구를 기초로 청소 영역을 설정하고, 설정된 청소 영역을 청소 공간(A)의 다른 영역보다 우선적으로 청소할 수 있다.
이와 같이 청소 로봇(100)이 주행 중에 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하기 때문에 청소 로봇(100)은 청소 공간(A)을 보다 빠르고 효율적으로 청소할 수 있다.
아래에서는 청소 로봇(100)의 구성 및 구체적인 동작에 관하여 설명한다.
도 3은 일 실시예에 의한 청소 로봇의 제어 구성을 도시하고, 도 4는 일 실시예에 의한 청소 로봇의 외관을 도시한다. 또한, 도 5 및 도 6은 일 실시예에 의한 청소 로봇의 내부를 도시하며, 도 7은 일 실시예에 의한 청소 로봇의 저면을 도시한다.
도 3 내지 도 7을 참조하면, 청소 로봇(100)은 메인 바디(101)와 서브 바디(103)로 구성될 수 있다. 도 4에 도시된 바와 같이 메인 바디(101)는 대략 반원기둥의 형태를 갖을 수 있고, 서브 바디(103)는 대략 직육면체의 형태를 갖을 수 있다.
또한, 메인 바디(101) 및 서브 바디(103)의 내부 및 외부에는 청소 로봇(100)의 기능을 실현하기 위한 구성 부품이 마련될 수 있다.
구체적으로, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170) 및 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110)를 포함할 수 있다.
유저 인터페이스(120)는 도 4에 도시된 바와 같이 청소 로봇(100)의 메인 바디(101) 상면에 마련될 수 있으며, 사용자로부터 제어 명령을 입력받는 복수의 입력 버튼(121)과 청소 로봇(100)의 동작 정보를 표시하는 디스플레이(123)를 포함할 수 있다.
복수의 입력 버튼(121)은 청소 로봇(100)을 온 또는 오프시키는 전원 버튼(121a), 청소 로봇(100)을 동작시키거나 정지시키는 동작 버튼(121b), 청소 로봇(100)을 충전 스테이션(미도시)으로 복귀시키는 복귀 버튼(121c) 등을 포함할 수 있다.
이와 같은 복수의 입력 버튼(121)에 포함된 각각의 버튼은 사용자의 가압을 감지하는 푸시 스위치(push switch)와 멤브레인 스위치(membrane) 또는 사용자의 신체 일부의 접촉을 감지하는 터치 스위치(touch switch) 등을 채용할 수 있다.
디스플레이(123)는 사용자가 입력한 제어 명령에 대응하여 청소 로봇(100)의 정보를 표시한다, 예를 들어, 디스플레이(123)는 청소 로봇(100)의 동작 상태, 전원의 상태, 사용자가 선택한 청소 모드, 충전 스테이션으로의 복귀 여부 등을 표시할 수 있다.
이와 같은 디스플레이(123)는 자체 발광이 가능한 발광 다이오드(Light Emitting Diode: LED)와 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 또는 별도의 발광원을 구비하는 액정 디스플레이(Liquid Crystal Display) 등을 채용할 수 있다.
또한, 디스플레이(123)는 사용자로부터 제어 명령을 입력받고, 입력받은 제어 명령에 대응하는 동작 정보를 표시하는 터치 스크린 패널(Touch Screen Panel: TSP)을 채용할 수도 있다.
터치 스크린 패널은 동작 정보 및 사용자가 입력할 수 있는 제어 명령을 표시하는 디스플레이, 사용자의 신체 일부가 접촉한 좌표를 검출하는 터치 패널(touch panel), 터치 패널이 검출한 접촉 좌표를 기초로 사용자가 입력한 제여 명령을 판단하는 터치 스크린 컨트롤러를 포함할 수 있다.
터치 스크린 컨트롤러는 터치 패널을 통하여 검출하는 사용자의 터치 좌표와 디스플레이를 통하여 표시하는 제어 명령의 좌표를 비교하여 사용자가 입력한 제어 명령을 인식할 수 있다.
움직임 검출부(130)는 청소 로봇(100)이 청소 공간(A)을 주행하는 동안 청소 로봇(100)의 움직임을 검출할 수 있다.
구체적으로, 움직임 검출부(130)는 청소 로봇(100)이 선형 이동하는 동안 청소 로봇(100)의 가속도, 이동 속도, 이동 변위 및 이동 방향 등을 검출할 수 있다. 또한, 움직임 검출부(130)는 청소 로봇(100)이 회전 이동하는 동안 청소 로봇(100)의 회전 속도, 회전 변위 및 회전 반경 등을 검출할 수 있다.
이와 같은 움직임 검출부(130)는 청소 로봇(100)의 선형 이동 정보를 검출하는 가속도 센서(131)와 청소 로봇(100)의 회전 이동 정보를 검출하는 자이로 센서(133)를 포함할 수 있다.
가속도 센서(131)는 청소 로봇(100)의 선형 이동 정보를 검출한다. 구체적으로, 가속도 센서(131)는 뉴턴의 제2 운동 법칙(가속도의 법칙)을 이용하여 청소 로봇(100)의 선형 가속도, 선형 속도 및 선형 변위 등을 검출할 수 있다.
가속도 센서(131)는 압전형 가속도 센서, 정전 용량형 가속도 센서, 스트레인 게이지형 가속도 센서 등을 채용할 수 있다.
압전형 가속도 센서는 기계적 변형에 의하여 전기적 신호를 출력하는 압전 소자를 포함하며, 압전 소자가 출력하는 전기적 신호를 이용하여 가속도를 검출한다. 구체적으로, 압전형 가속도 센서는 가속도에 의한 압전 소자의 변형에 따라 압전 소자가 출력하는 전기적 신호로 검출하고, 검출된 전기적 신호로부터 가속도를 산출한다.
정전 용량형 가속도 센서는 관성력에 의하여 구조물 사이의 거리가 변화하고, 이와 같은 거리의 변화로 인하여 정전 용량이 변화하는 것을 이용하여 가속도를 검출한다. 구체적으로, 정전 용량형 가속도 센서는 유동 가능한 구조물과 고정된 구조물을 포함하며, 관성력에 의한 구조물 사이의 거리 변화를 정전 용량의 변화로 검출하고, 검출된 전전 용량의 변화로부터 가속도를 산출한다.
스트레인 게이지형 가속도 센서는 기계적 변형에 의하여 전기적 저항이 변환하는 스트레인 게이지를 이용하여 가속도를 검출한다. 구체적으로, 스트레인 게이지형 가속도 센서는 가속도에 의한 구조물의 변형을 전기적 저항의 변화로 검출하고, 검출된 전기적 저항의 변화로부터 가속도를 산출한다.
또한, 가속도 센서(131)는 마이크로 기계, 마이크로 전자 및 반도체 공정 기술을 융합하여 소형화된 MEMS(Micro Electro Mechanical System)형 센서를 채용할 수 있다.
자이로 센서(133)는 자이로 스코프 또는 각속도 센서라 불리며, 청소 로봇(100)의 회전 이동 정보를 검출한다. 구체적으로, 자이로 센서(133)는 각운동량 보존 법칙, 사냑 효과, 코리올리 힘 등을 이용하여 검출 대상의 회전 각속도 및 회전 변위 등을 검출할 수 있다.
이와 같은 자이로 센서(133)는 짐벌식(Gimbal) 자이로 센서, 광학식 자이로 센서, 진동식 자이로 센서 등을 채용할 수 있다.
짐벌식 자이로 센서는 회전하는 물체는 회전의 중심이 되는 회전축을 일정하게 유지하고자 각운동량 보존과 회전하는 물체에 외력이 작용하는 경우 회전 반발력에 의하여 회전하는 물체의 회전축이 일정한 궤도를 따라 회전하는 세차 운동을 이용하여 대상의 회전 운동을 검출한다.
광학식 자이로 센서는 원형의 광로를 따라 시계 방향과 반시계 방향으로 발신된 광이 대상의 회전에 의하여 발신점에 도달하는 시간이 상이해지는 사냑 효과(Sagnac Effect)를 이용하여 대상의 회전 운동을 검출한다.
진동식 자이로 센서는 대상의 회전에 의하여 발생하는 코리올리 힘을 이용하여 대상의 회전 운동을 감지한다. 구체적으로, 일정한 방향으로 진동하는 물체가 회전하면 코리올리 힘에 의하여 새로운 방향으로 진동하는 현상을 이용하여 대상의 회전 운동을 검출한다.
자이로 센서(133) 역시 MEMS(Micro Electro Mechanical System)형 센서를 채용할 수 있다. 예를 들어, MEMS형 자이로 센서 가운데 정전 용량 자이로 센서는 회전 속도에 비례히는 코리올리 힘에 의한 미세 기계 구조물의 변형을 정전용량 변화로 검출하고, 정전 용량의 변화로부터 회전 속도를 산출한다.
움직임 검출부(130)가 가속도 센서(131) 및 자이로 센서(133)에 한정되는 것은 아니다. 예를 들어, 움직임 검출부(130)는 후술할 주행부(160)의 주행 바퀴(163)의 회전을 감지하는 엔코더(미도시)를 포함할 수 있다.
엔코더는 광을 발신하는 발광 소자, 광을 수신하는 수광 소자, 발광 소자와 수광 소자 사이에 마련되는 회전 슬릿과 고정 슬릿, 회전 슬릿의 회전 속도 및 회전 변위를 검출하는 엔코더 컨트롤러를 포함할 수 있다. 여기서, 회전 슬릿은 주행 바퀴(163)와 함께 회전하도록 마련되고, 고정 슬릿은 메인 바디(101)에 고정되어 마련될 수 있다.
회전 슬릿의 회전에 따라 발광 소자가 발신한 광이 회전 슬릿을 통과하여 수광 소자에 도달하거나 회전 슬릿에 의하여 차단된다. 수광 소자는 회전 슬릿의 회전에 따라 펄스 형태의 광을 수신하고, 수신된 광에 따른 전기적 신호를 출력한다.
또한, 엔코더 컨트롤러는 수광 소자가 출력한 전기적 신호를 기초로 주행 바퀴(163)의 회전 속도 및 회전 변위를 산출하고, 주행 바퀴(163)의 회전 속도 및 회전 변위를 기초로 청소 로봇(100)의 선형 이동 속도, 선형 이동 변위, 회전 이동 속도 및 회전 이동 변위 등을 산출할 수 있으며, 이를 후술할 제어부(110)에 제공할 수 있다.
장애물 감지부(140)는 청소 로봇(100)의 이동을 방해하는 장애물(O)을 감지한다.
여기서, 장애물(O)이란 앞서 설명한 바와 같이 청소 공간(A)의 바닥으로부터 돌출되어 청소 로봇(100)의 이동을 방해하거나 청소 공간(A)의 바닥으로부터 움푹 패여 청소 로봇(100)의 이동을 방해할 수 있는 모든 것을 의미하며, 테이블, 쇼파 등의 가구, 청소 공간(A)을 구획하는 벽면, 청소 공간(A)의 바닥보다 낮은 현관 등 장애물(O)에 해당할 수 있다.
장애물 감지부(140)는 청소 로봇(100)의 전방을 향하여 광을 발신하는 전방 광 발신 모듈(141), 장애물(O) 등으로부터 반사된 광을 수신하는 전방 광 수신 모듈(143), 청소 로봇(100)의 측면을 향하여 광을 발신하고 장애물(O)로부터 반사되는 광을 수신하는 측면 광 센서 모듈(145)을 포함할 수 있다.
일 실시예에 의한 청소 로봇(100)은 장애물(O)을 감지하기 위하여 적외선 등의 광을 이용하나 이에 한정되는 것은 아니며, 레이저, 초음파 또는 전파 등을 이용할 수도 있다.
전방 광 발신 모듈(141)는 도 5 및 도 6에 도시된 바와 같이 광을 발신하는 광원(141a)과 발신된 광을 청소 바닥과 평행한 방향으로 확산시키는 광각 렌즈(141b)를 포함할 수 있다.
광원(141a)은 광을 여러 방향으로 발산하는 엘이디(Light Emitting Diode: LED) 또는 레이저(Light Amplification by Simulated Emission of Radiation: LASER) 다이오드를 채용할 수 있다.
광각 렌즈(141b)는 광각 렌즈(141b)는 광을 투과시킬 수 있는 재질로 구성될 수 있으며, 굴절 또는 전반사를 이용하여 광원(141a)으로부터 발산된 광을 청소 바닥과 평행한 방향으로 확산시킨다. 광각 렌즈(141b)로 인하여 전방 광 발신 모듈(141)로부터 발신된 광은 청소 로봇(100)의 전방을 향하여 부채꼴 형태로 확산될 수 있다.(이하에서는 청소 바닥과 평행한 방향을 확산되어 부채꼴 형태를 갖는 광을 평면광이라 한다.)
이와 같이 전방 광 발신 모듈(141)은 청소 로봇(100) 전방의 모든 방향을 향하여 광을 발신할 수 있다.
또한, 전방 광 발신 모듈(141)에 의하여 발신된 평면광이 도달하지 않는 부분이 최소가 되도록 장애물 감지부(140)는 도 5 및 도 6에 도시된 바와 같이 복수의 전방 광 발신 모듈(141)을 포함할 수 있다.
전방 광 수신 모듈(143)은 장애물(O)로부터 반사된 광을 집중시키는 반사 미러(143a), 반사 미러(143a)에 의하여 반사된 광을 수신하는 영상 센서(143b)를 포함할 수 있다.
영상 센서(143b)는 반사 미러(143a)의 아래에 마련될 수 있으며, 반사 미러(143a)에 의하여 반사된 광을 수신한다. 구체적으로, 영상 센서(143a)는 장애물(O)에 반사된 반사광에 의하여 반사 미러(143a)에 맺히는 2차원 영상을 획득할 수 있다. 여기서, 영상 센서(143a)는 광 센서가 2차원으로 배열된 2차원 영상 센서로 구성될 수 있다.
이와 같은 영상 센서(143b)는 CMOS(Complementary Metal Oxide Semiconductor) 센서 또는 CCD(Charge coupled device) 센서를 채용할 수 있다.
이때 영상 센서(143b)는 전방 광 발신 모듈(141)의 광원(143a)이 발신하는 광과 같은 파장의 광을 수신할 수 있는 영상 센서(143b)를 채용하는 것이 바람직하다. 예를 들어, 광원(141a)이 적외선 영역의 광을 발신하는 경우, 영상 센서(143b) 역시 적외선 영역의 영상을 획득할 수 있는 영상 센서(143b)를 채용하는 것이 바람직하다.
이와 같이 전방 광 수신 모듈(143)은 청소 로봇(100) 전방의 모든 방향으로부터 반사되는 반사광을 수신할 수 있다.
또한, 전방 광 수신 모듈(143)은 전방 광 발신 모듈(141)과 다른 개수가 마련될 수 있다. 앞서 설명한 바와 같이 전방 광 발신 모듈(141)은 광각 렌즈(141b)를 이용하여 광원(141a)으로부터 발신된 광을 다양한 방향으로 확산시키고, 전방 광 수신 모듈(143)은 반사 미러(143a)를 이용하여 다양한 방향의 광을 영상 센서(143a)로 집중시키므로, 장애물 감지부(140)는 서로 다른 개수의 전방 광 발신 모듈(141)과 전방 광 수신 모듈(143)를 포함할 수 있다.
이상에서는 장애물 감지부(140)에 관하여 청소 로봇(100) 전방의 모든 방향으로 광을 발신하는 전방 광 발신 모듈(141)과 청소 로봇(100) 전방의 모든 방향으로부터 반사되는 반사광을 수신하는 전방 광 수신 모듈(143)에 대하여 설명하였으나, 장애물 감지부(140)가 이와 같은 전방 광 발신 모듈(141)과 전방 광 수신 모듈(143)이 이에 한정되는 것은 아니다.
예를 들어, 장애물 감지부(140)는 청소 로봇(100) 전방의 특정 방향을 향하여 직선 형태의 광을 발신하고, 장애물(O)로부터 반사되는 반사광을 이용하여 장애물(O)의 위치를 검출하는 광 센서 모듈을 포함할 수도 있다.
측면 광 센서 모듈(145)은 청소 로봇(100)의 좌측을 향하여 비스듬하게 광을 발신하고 장애물(O)로부터 반사되는 광을 수신하는 좌측 광 센서 모듈(145a) 및 청소 로봇(100)의 우측을 향하여 비스듬하게 광을 발신하고 장애물(O)로부터 반사되는 광을 수신하는 좌측 광 센서 모듈(145b)를 포함할 수 있다.
이와 같은 측면 광 센서 모듈(145)는 장애물(O)의 검출 뿐만 아니라, 청소 로봇(100)의 주행에도 이용될 수 있다.
예를 들어, 청소 로봇(100)이 장애물(O)과 일정한 거리를 유지하며 주행하는 외곽선 추종 주행의 경우, 측면 광 센서 모듈(145)은 청소 로봇(100)의 측면과 장애물(O) 사이의 거리를 검출하고, 제어부(110)는 측면 광 센서 모듈(145)의 검출 결과를 기초로 청소 로봇(100)이 장애물(O)과 일정한 거리를 유지하도록 주행부(160)를 제어할 수 있다.
측면 광 센서 모듈(145)은 주로 청소 로봇(100)의 전방에 위치하는 장애물(O)을 감지하기 위한 전방 광 발신 모듈(141)과 전방 광 수신 모듈(143)을 보조하는 구성이며, 경우에 따라서 장애물 감지부(140)는 측면 광 센서 모듈(145)을 포함하지 않을 수 있다.
주행부(160)는 청소 로봇(100)을 이동시키며, 도 7에 도시된 바와 같이 바퀴 구동 모터(161), 주행 바퀴(163) 및 캐스터 바퀴(155)를 포함할 수 있다.
주행 바퀴(163)는 메인 바디(101) 저면의 양단에 마련될 수 있으며, 청소 로봇(100)의 전방을 기준으로 청소 로봇(100)의 좌측에 마련되는 좌측 주행 바퀴(163a)와 청소 로봇(100)의 우측에 마련되는 우측 주행 바퀴(163b)를 포함할 수 있다.
또한, 주행 바퀴(163)는 바퀴 구동 모터(161)로부터 회전력을 제공받아 청소 로봇(100)을 이동시킨다.
바퀴 구동 모터(161)는 주행 바퀴(163)를 회전시키는 회전력을 생성하며, 좌측 주행 바퀴(163a)를 회전시키는 좌측 구동 모터(161a)와 우측 주행 바퀴(163b)를 회전시키는 우측 구동 모터(161b)를 포함한다.
좌측 구동 모터(161a)와 우측 구동 모터(161b)는 각각 제어부(110)로부터 구동 제어 신호를 수신하여 독립적으로 동작할 수 있다.
이와 같이 독립적으로 동작하는 좌측 구동 모터(161a)와 우측 구동 모터(161b)에 의하여 좌측 주행 바퀴(163a)와 우측 주행 바퀴(163b)는 서로 독립적으로 회전할 수 있다.
또한, 좌측 주행 바퀴(163a)와 우측 주행 바퀴(163b)가 독립적으로 회전할 수 있으므로 청소 로봇(100)는 전진 주행, 후진 주행, 회전 주행 및 제자리 회전 등 다양한 주행이 가능하다.
예를 들어, 좌우측 주행 바퀴(163a, 163b) 모두가 제1 방향으로 회전하면 청소 로봇(100)은 전방으로 직선 주행(전진)하고, 좌우측 주행 바퀴(163a, 163b) 모두가 제2 방향으로 회전하면 본체(101)는 후방으로 직선 주행(후진)할 수 있다.
또한, 좌우측 주행 바퀴(163a, 163b)가 같은 방향으로 회전하되, 서로 다른 속도로 회전하면 청소 로봇(100)은 우측 또는 좌측으로 회전 주행하며. 좌우측 주행 바퀴(163a, 163b)가 서로 다른 방향으로 회전하면 청소 로봇(100)은 제자리에서 시계 방향 또는 반시계방향으로 회전할 수 있다.
캐스터 바퀴(165)는 메인 바디(101)의 저면에 설치되어 청소 로봇(100)의 이동 방향에 따라 캐스터 바퀴(165)의 회전축이 회전할 수 있다. 이와 같이 청소 로봇(100)의 이동 방향에 따라 바퀴의 회전축이 회전하는 캐스터 바퀴(165)는 청소 로봇(100)의 주행을 방해하지 않으며, 청소 로봇(100)이 안정된 자세를 유지한 채 주행할 수 있도록 한다.
또한, 이외에도 주행부(160)는 제어부(110)의 제어 신호에 따라 바퀴 구동 모터(163)에 구동 전류를 공급하는 모터 구동 회로(미도시), 바퀴 구동 모터(161)의 회전력을 주행 바퀴(163)에 전달하는 동력 전달 모듈(미도시), 바퀴 구동 모터(161) 또는 주행 바퀴(163)의 회전 변위 및 회전 속도를 검출하는 회전 감지 센서(미도시) 등을 더 포함할 수 있다.
청소부(170)는 청소 영역의 바닥의 먼지를 비산시키는 드럼 브러시(173), 드럼 브러시(173)를 회전시키는 브러시 구동 모터(171), 비산된 먼지를 흡입하는 먼지 흡입 팬(177), 먼지 흡입 팬(177)을 회전시키는 먼지 흡입 모터(175) 및 흡입된 먼지를 저장하는 먼지함(177)을 포함한다.
드럼 브러시(173)는 도 7에 도시된 바와 같이 서브 바디(103)의 저면에 형성된 먼지 흡입구(105)에 마련되며, 서브 바디(103)의 청소 바닥과 수평하게 마련된 회전축을 중심으로 회전하면서 청소 바닥의 먼지를 먼지 흡입구(105)를 내부로 비산시킨다.
브러시 구동 모터(171)는 드럼 브러시(173)에 인접하게 마련되어 제어부(110)의 청소 제어 신호에 따라 드럼 브러시(173)를 회전시킨다.
도면에는 도시되지 않았으나, 청소부(170)는 제어부(110)의 제어 신호에 따라 브러시 구동 모터(171)에 구동 전류를 공급하는 모터 구동 회로(미도시), 브러시 구동 모터(171)의 회전력을 드럼 브러시(173)에 전달하는 동력 전달 모듈(미도시)을 더 포함할 수 있다.
먼지 흡입 팬(177)은 도 5 및 도 6에 도시된 바와 같이 메인 바디(101)에 마련되어, 드럼 브러시(173)에 의하여 비산된 먼지를 먼지함(179)으로 흡입한다.
먼지 흡입 모터(175)는 먼지 흡입 팬(177)과 인접한 위치에 마련되며, 제어부(110)의 제어 신호에 의하여 먼지 흡입 팬(177)을 회전시킨다.
도면에는 도시되지 않았으나, 청소부(170)는 제어부(110)의 제어 신호에 따라 먼지 흡입 모터(175)에 구동 전류를 공급하는 모터 구동 회로(미도시), 먼지 흡입 모터(175)의 회전력을 먼지 흡입 팬(177)에 전달하는 동력 전달 모듈(미도시)을 더 포함할 수 있다.
먼지함(179)은 도 5 및 도 6에 도시된 바와 같이 메인 바디(101)에 마련되며, 먼지 흡입 팬(177)에 의하여 흡입된 먼지를 저장한다.
또한, 청소부(170)는 서비 바디(103)의 먼지 흡입구(105)를 통하여 흡입된 먼지를 메인 바디(101)에 마련된 먼지함(179)까지 안내하는 먼지 안내관을 포함할 수 있다.
제어부(110)는 청소 로봇(100)의 동작을 총괄 제어한다.
구체적으로, 제어부(110)는 청소 로봇(100)에 포함된 각종 구성 장치와 제어부(110) 사이에서의 데이터 출입을 매개하는 입출력 인터페이스(117), 프로그램 및 데이터를 기억하는 메모리(115), 영상 처리를 수행하는 그래픽 프로세서(113) 및 메모리(113)에 기억된 프로그램 및 데이터에 따라 연산 동작을 수행하는 메인 프로세서(111)를 포함할 수 있다. 또한, 제어부(110)에는 입출력 인터페이스(117), 메모리(115), 그래픽 프로세서(113) 및 메인 프로세서(111) 사이의 데이터 송수신을 매개하는 시스템 버스(119)가 마련될 수 있다.
입출력 인터페이스(117)는 유저 인터페이스(120)가 수신한 사용자 명령, 움직임 검출부(130)가 검출한 청소 로봇(100)의 움직임 정보, 장애물 감지부(140)가 감지한 장애물 위치 정보 등을 수신하고, 이를 시스템 버스(119)를 통하여 메인 프로세서(111), 그래픽 프로세서(113), 메모리(115) 등으로 전송한다.
뿐만 아니라, 입출력 인터페이스(117)는 메인 프로세서(111)가 출력하는 각종 제어 신호를 유저 인터페이스(120), 주행부(160) 또는 청소부(170)에 전달할 수 있다.
메모리(115)는 청소 로봇(100)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터, 유저 인터페이스(120)가 수신한 사용자 명령, 움직임 검출부(130)가 검출한 움직임 정보, 장애물 감지부(140)가 감지한 장애물 위치 정보 및 메인 프로세서(111)가 출력하는 각종 제어 신호 등을 임시로 기억할 수 있다.
메모리(115)는 S램(S-RAM), D랩(D-RAM) 등의 휘발성 메모리뿐만 아니라 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.
구체적으로, 비휘발성 메모리는 청소 로봇(100)의 동작 제어하기 위한 제어 프로그램 및 제어 데이터를 반영구적으로 저장할 수 있으며, 휘발성 메모리는 비휘발성 메모리로부터 제어 프로그램 및 제어 데이터를 불러와 임시로 기억하거나, 유저 인터페이스(120)가 수신한 사용자 명령, 움직임 검출부(130)가 검출한 움직임 정보, 장애물 감지부(140)가 감지한 장애물 위치 정보 및 메인 프로세서(111)가 출력하는 각종 제어 신호를 임시로 저장할 수 있다.
그래픽 프로세서(113)는 장애물 감지부(150)가 획득한 반사광 영상을 메인 프로세서(111)가 처리할 수 있는 해상도의 영상으로 변환하거나, 반사광 영상을 메인 프로세서(111)가 처리할 수 있는 포맷으로 변환할 수 있다.
메인 프로세서(111)는 메모리(115)에 기억된 제어 프로그램에 따라 메모리(115)에 기억된 데이터를 처리한다.
예를 들어, 메인 프로세서(161)는 움직임 검출부(130), 장애물 감지부(140)의 감지 결과를 처리하고, 주행부(160) 및 청소부(170)를 제어하기 위한 제어 신호를 생성할 수 있다.
메인 프로세서(111)는 움직임 검출부(130)가 검출한 청소 로봇(100)의 움직임 정보를 기초로 주행 기록 정보를 생성하고 생성된 주행 기록 정보를 메모리(115)에 저장하거나, 장애물 감지부(150)가 획득한 반사광 영상을 기초로 장애물의 방향, 거리 및 크기를 산출할 수 있다.
또한, 메인 프로세서(111)는 장애물(O)의 방향, 거리 및 크기 등에 따라 장애물(O)을 회피하기 위한 주행 경로를 산출하고, 산출된 주행 경로를 따라 청소 로봇(100)이 이동하도록 주행부(160)에 제공할 주행 제어 신호를 생성할 수 있다.
이와 같이 제어부(110)는 움직임 검출부(130)의 움직임 정보를 기초로 청소 로봇(100)의 위치 및 이동 등을 판단하고, 장애물 감지부(140)의 장애물 감지 신호를 기초로 장애물(O)의 위치 및 크기 등을 판단할 수 있다.
또한, 제어부(110)는 청소 로봇(100)이 청소 바닥을 주행하도록 주행부(160)를 제어하고, 청소 로봇(100)이 주행 중에 청소 바닥을 청소하도록 청소부(170)를 제어할 수 있다.
이하에서 설명할 청소 로봇(100)의 동작은 제어부(110)의 제어 동작에 의한 동작으로 해석할 수 있다.
이하에서는 앞서 설명한 장애물 감지부(140)가 장애물(O)을 감지하는 방법에 대하여 설명한다.
도 8 및 도 9는 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 전방에 위치한 장애물을 감지하는 일 예를 도시하고, 도 10은 일 실시예에 의한 청소 로봇에 포함된 장애물 감지부가 측면 장애물을 감지하는 일 예를 도시한다.
앞서 설명한 바와 같이 장애물 감지부(140)는 전방 광 발신 모듈(141), 전방 광 수신 모듈(143) 및 측면 광 센서 모듈(145)을 포함할 수 있다.
장애물 감지부(140)에 포함된 전방 광 발신 모듈(141)은 청소 로봇(100)의 전방을 향하여 광을 발신할 수 있으며, 전방 광 발신 모듈(141)에 의하여 전방을 향하여 발신된 광은 도 8에 도시된 바와 같이 부채꼴 형상으로 확산된다.
청소 로봇(100)의 전방에 장애물(O)이 위치하지 않는 경우, 전방 광 발신 모듈(141)로부터 발산된 광을 청소 로봇(100)의 전방을 향하여 진행하며 전방 광 수신 모듈(143)은 장애물(O)로부터 반사되는 광을 수신하지 못한다.
청소 로봇(100)의 전방에 장애물(O)이 위치하는 경우, 전방 광 발신 모듈(141)로부터 발산된 광은 장애물(O)에서 반사되고, 장애물(O)로부터 반사된 광은 도 9에 도시된 바와 같이 다양한 방향으로 반사된다(난반사).
이와 같이 장애물(O)로부터 반사된 반사광 중 일부는 도 9에 도시된 바와 같이 청소 로봇(100)의 전방 광 수신 모듈(143)로 향할 수 있다.
광 수신 모듈(143)로 향하는 반사광은 반사 미러(143a)에 의하여 반사되어, 그 진행 경로가 영상 센서(143b)를 향하게 되며, 영상 센서(143b)는 반사 미러(143a)로부터 반사된 반사광을 수신한다.
이때, 반사광은 장애물(O)의 다양한 위치에서 반사되므로 영상 센서(143b)는 2차원의 반사광 영상을 획득할 수 있으며, 장애물 감지부(140)는 반사광 영상을 기초로 장애물(O)과의 거리 및 방향 등을 산출할 수 있다.
구체적으로, 광 발신 모듈(143)과 장애물(O) 사이에 따라 장애물(O)로부터 반사된 광이 반사 미러(143a)에 입사되는 입사각이 달라진다. 또한, 서로 다른 입사각으로 반사 미러(143a)에 입사된 광은 영상 센서(143b)의 서로 다른 위치에서 수신된다. 그 결과, 광 발신 모듈(143)과 장애물(O) 사이의 거리에 따라 영상 센서(143b)가 반사광을 수신하는 위치가 상이해진다. 즉, 광 발신 모듈(143)과 장애물(O) 사이의 거리에 따라 영상 센서(143b)가 획득하는 반사광 영상이 달라진다.
예를 들어, 청소 로봇(100)으로부터 먼 거리에 위치하는 장애물(O)로부터 반사된 광은 반사 미러(143a)로 입사되는 입사각이 크고, 반사 미러(143a)의 꼭지점으로부터 먼 거리의 위치에 반사광 영상이 생성될 것이다. 또한, 청소 로봇(100)으로부터 가까운 거리에 위치하는 장애물(O)로부터 반사된 광을 반사 미러(143a)로 입사되는 입사각이 작고, 반사 미러(143a)의 꼭지점으로부터 가까운 거리의 위치에 반사광 영상이 생성될 것이다.
장애물(O)의 방향에 따라 장애물(O)로부터 반사된 광이 입사되는 반사 미러(143a)에 입사되는 위치가 달라진다. 또한, 반사 미러(143a)의 서로 다른 위치에서 반사된 반사광은 영상 센서(143b)의 서로 다른 위치에서 수신된다. 그 결과, 장애물(O)의 방향에 따라 영상 센서(143b)가 반사광을 수신하는 위치가 상이해진다. 즉, 청소 로봇(100)을 기준으로 장애물(O)의 방향에 따라 영상 센서(143b)가 획득하는 반사광 영상이 달라진다.
이와 같이 청소 로봇(100)은 영상 센서(143b)가 수신한 반사광 영상에 따라 장애물(O)의 방향 및 거리를 산출할 수 있다.
측면 광 센서 모듈(145)은 도 10에 도시된 바와 같이 청소 로봇(100)의 측방을 향하여 직선 형태의 광을 발신하고, 청소 로봇(100)의 측방에 위치하는 장애물(O)로부터 반사되는 반사광을 수신할 수 있다.
또한, 측면 광 센서 모듈(145)은 수신된 반사광과 관련된 정보를 제어부(110)에 전달할 수 있으며, 제어부(110)는 반사광과 관련된 정보를 기초로 청소 로봇(100)과 장애물(O) 사이의 거리를 산출할 수 있다.
예를 들어, 측면 광 센서 모듈(145)은 수신된 반사광의 세기를 제어부(110)에 전달할 수 있으며, 제어부(110)는 반사광의 세기를 기초로 청소 로봇(100)과 장애물(O)의 사이의 거리를 산출할 수 있다. 구체적으로, 제어부(110)는 반사광의 세기가 강할수록 청소 로봇(100)과 장애물(O) 사이의 거리가 짧은 것으로 판단하고, 반사광의 세기가 약할수록 청소 로봇(100)과 장애물(O) 사이의 거리가 먼 것으로 판단할 수 있다.
다른 예로, 측면 광 센서 모듈(145)은 발산된 발신광과 수신된 반사광 사이의 시간 차이(Time of Fight: TOF)를 제어부(110)에 전달할 수 있으며, 제어부(110)는 TOF를 기초로 청소 로봇(100)과 장애물(O)의 사이의 거리를 산출할 수 있다. 구체적으로, 제어부(110)는 TOF가 짧을수록 청소 로봇(100)과 장애물(O) 사이의 거리가 짧은 것으로 판단하고, TOF가 길수록 청소 로봇(100)과 장애물(O) 사이의 거리가 먼 것으로 판단할 수 있다.
또 다른 예로, 측면 광 센서 모듈(145)은 광이 발신된 발신 위치와 광이 수신된 수신 위치 사이의 거리를 제어부(110)에 전달할 수 있으며, 제어부(110)는 발신 위치와 수신 위치 사이의 거리를 기초로 청소 로봇(100)과 장애물(O)의 사이의 거리를 산출할 수 있다. 구체적으로, 제어부(110)는 광의 발신 위치와 수신 위치 사이의 거리가 가까울수록 청소 로봇(100)과 장애물(O) 사이의 거리가 짧은 것으로 판단하고, 광의 발신 위치와 수신 위치 사이의 거리가 멀수록 청소 로봇(100)과 장애물(O) 사이의 거리가 먼 것으로 판단할 수 있다.
이상에서는 청소 로봇(100)의 구성에 관하여 설명하였다.
이하에서는 청소 로봇(100)의 동작 특히, 청소 로봇(100)이 주행 중에 청소 영역을 설정하는 방법에 관하여 설명한다.
도 11은 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시하고, 도 12 내지 도 14는 도 11에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.
도 11 내지 도 14를 참조하여, 청소 로봇(100)의 청소 동작(1000)에 관하여 설명한다.
청소 로봇(100)은 청소 공간(A)을 주행한다(1100).
구체적으로, 청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다.
다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.
청소 공간을 주행하는 중에 청소 로봇(100)은 청소 영역을 설정한다(1200).
여기서, 청소 영역은 청소 공간(A)의 일부분으로 청소 로봇(100)이 청소를 수행하는 단위를 의미한다. 다시 말해, 청소 로봇(100)은 어느 하나의 청소 영역을 청소한 이후 다른 청소 영역을 청소할 수 있다.
또한, 청소 영역은 벽에 의하여 다른 영역과 분리되고 출입구 등에 의하여 다른 영역과 연결되는 하나의 방 또는 거실에 대응되도록 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서는 하나의 방 또는 거실을 복수로 분할하여 청소 영역을 설정할 수도 있다.
청소 로봇(100)은 청소 공간(A)을 모두 탐색하기 앞서 청소 영역을 설정할 수 있다. 구체적으로, 청소 로봇(100)은 청소 공간(A)을 주행 중에 실시간으로 청소 영역을 설정하기 위한 조건을 만족하는지 판단하고, 청소 영역을 설정하기 위한 조건이 만족되면 청소 로봇(100)은 해당 영역을 청소 영역으로 우선 설정할 수 있다.
예를 들어, 도 12에 도시된 바와 같이 청소 로봇(100)은 청소 공간(A) 내부를 모두 주행하기 전이더라도 청소 영역을 설정하기 위한 조건이 만족되면 제1 방(R1)을 제1 청소 영역(A1)으로 설정할 수 있다.
청소 영역이 설정되면, 청소 로봇(100)은 설정된 청소 영역을 우선 청소한다(1300). 다시 말해, 주행 중에 청소 영역이 설정되면 청소 로봇(100)은 청소 공간(A)의 다른 영역에 앞서 우선 청소할 수 있다.
또한, 청소 영역의 청소가 완료되면, 청소 로봇(100)은 청소를 수행한 청소 영역에 대하여 청소가 완료되었음을 저장할 수 있다. 예를 들어, 청소 로봇(100)은 청소 영역에 대한 청소 완료 여부를 나타내는 청소 기록을 저장할 수 있다. 다시 말해, 청소 로봇(100)은 청소 영역이 설정되면 청소 영역에 식별 코드를 할당하고, 청소 영역에 대한 청소를 완료하면, 청소 기록에 청소된 청소 영역의 식별 코드를 저장할 수 있다.
예를 들어, 도 12에 도시된 바와 같이 청소 로봇(100)은 제1 청소 영역(A1)이 설정되면, 청소 공간(A)의 다른 영역을 주행하기 전에 제1 청소 영역(A1)을 먼저 청소할 수 있다.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(1400). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.
모든 청소 영역을 청소하지 않았으면(1400의 아니오), 청소 로봇(100)은 청소 공간(A)의 주행, 청소 영역 설정, 청소 영역 청소를 반복한다.
또한, 모든 청소 영역을 청소하였으면(1400의 예), 청소 로봇(100)은 주행을 종료하고, 충천 스테이션으로 복귀할 수 있다.
예를 들어, 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역에 대응하는 청소 영역을 생성하고, 생성된 청소 영역을 청소한 이후 충전 스테이션으로 복귀할 수 있다.
앞서 설명한 도 1에 도시된 청소 공간(A)을 청소하는 경우를 예로 들어 청소 로봇(100)이 청소 영역을 설정하고, 설정된 청소 영역을 청소하는 것에 대하여 설명한다.
청소 로봇(100)은 도 12에 도시된 바와 같이 청소 공간(A)을 주행하는 중에 미리 설정된 조건에 따라 제1 방(R1)을 제1 청소 영역(A1)으로 설정할 수 있다.
이처럼 제1 청소 영역(A1)이 설정되면, 청소 로봇(100)은 제1 청소 영역(A1)을 먼저 청소한다.
제1 청소 영역(A1)을 청소한 이후, 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소하였는지를 판단한다.
도 12에 도시된 바와 같이 청소 공간(A)에는 청소되지 않은 영역이 남아있으므로 청소 로봇(100)은 다시 청소 공간(A)을 주행한다.
청소 공간(A)을 다시 주행 중에 청소 로봇(100)은 도 13에 도시된 바와 같이 미리 설정된 조건에 따라 제2 방(R2)을 제2 청소 영역(A2)으로 설정하고, 제2 청소 영역(A2)을 청소할 수 있다.
제2 청소 영역(A2)을 청소한 이후, 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소하였는지를 판단한다.
도 13에 도시된 바와 같이 청소 공간(A)에는 청소되지 않은 영역이 남아있으므로 청소 로봇(100)은 다시 청소 공간(A)을 주행한다.
청소 공간(A)을 다시 주행 중에 청소 로봇(100)은 도 14에 도시된 바와 같이 최초 주행 개시 위치에 도달하게 된다.
최초 주행 개시 위치에 도달한 청소 로봇(100)은 청소 공간(A) 내의 모든 영역을 주행한 것으로 판단할 수 있다.
청소 공간(A) 내의 모든 영역을 주행한 청소 로봇(100)은 청소 공간(A) 가운데 청소되지 않은 영역을 청소 영역으로 설정한다. 구체적으로, 청소 로봇(100)은 도 14에 도시된 바와 같이 거실(R3)을 제3 청소 영역(A3)으로 설정한다. 이후 청소 로봇(100)은 제3 청소 영역(A3)을 청소한다.
제3 청소 영역(A3)을 청소한 이후, 청소 로봇(100)은 청소 공간(A)에 포함된 모든 영역을 청소한 것으로 판단하고, 배터리 충전을 위하여 충전 스테이션으로 복귀할 수 있다.
이처럼, 청소 로봇(100)은 청소 공간(A)을 주행하면서 청소 영역(A1, A2, A3)을 설정하고, 청소 영역(A1, A2, A3)이 설정되면 즉시 청소 영역(A1, A2, A3)을 청소한다.
또한, 청소 공간(A)의 주행, 청소 영역(A1, A2, A3)의 설정, 설정된 청소 영역(A1, A2, A3)의 청소를 통하여 청소 로봇(100)은 청소 공간(A)의 모든 영역을 보다 빠르고 효과적으로 청소할 수 있다.
이하에서는 청소 로봇(100)의 청소 동작(1000)을 구성하는 청소 공간 주행(1100), 청소 영역 설정(1200), 청소 영역 청소(1300) 및 청소 완료 판단(1400)을 자세하게 설명한다.
도 15는 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 방법을 도시하고, 도 16 및 도 17은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 주행하는 일 예를 도시하며, 도 18은 도 15에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 기록을 저장하는 일 예를 도시한다.
도 15 내지 도 17을 참조하여, 청소 로봇(100)의 청소 공간 주행(1100)에 관하여 설명한다.
청소 로봇(100)은 임의의 방향으로 주행한다(1110).
앞서 설명한 바와 같이 청소 로봇(100)은 임의의 위치에서 임의의 방향으로 주행할 수 있다.
예를 들어, 청소 로봇(100)은 도 16에 도시된 바와 같이 충전 스테이션(미도시)로부터 전방을 향하여 주행할 수 있다. 다만, 이에 한정되는 것은 아니며, 청소 로봇(100)은 주행 개시 전에 임의의 방향으로 회전한 후 임의의 방향으로 주행할 수 있다.
주행 중에 청소 로봇(100)은 장애물(O)이 감지되는지 판단한다(1120).
구체적으로, 청소 로봇(100)의 장애물 감지부(140)는 청소 로봇(100)의 전방 및 측면을 향하여 광을 발신하고, 장애물(O)로부터 반사되어 수신되는 반사광을 검출한다. 청소 로봇(100)의 제어부(110)는 반사광의 검출 여부에 따라 장애물(O)의 존부를 판단할 수 있다.
장애물(100)이 감지되지 않으면(1120의 아니오), 청소 로봇(100)은 주행을 계속한다.
장애물(100)이 감지되면(1120의 예), 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행한다(1130).
구체적으로, 청소 로봇(100)의 장애물 감지부(140)가 장애물(O)로부터 반사된 반사광을 검출하면, 청소 로봇(100)의 제어부(110)는 반사광을 기초로 장애물(O)과의 거리 및 방향을 판단한다.
청소 로봇(100)으부터 장애물(O)까지의 거리가 미리 정해진 기준 거리보다 작아지면 청소 로봇(100)은 장애물(O)의 외곽선과 평행하게 주행하도록 주행 방향을 변경할 수 있다.
예를 들어, 청소 로봇(100)은 장애물 감지부(140)가 검출한 반사광을 기초로 청소 로봇(100)이 주행하는 방향과 장애물(O)의 외곽선이 이루는 각도를 산출하고, 산출된 각도만큼 장애물(O)과 반대 방향으로 제자리 회전한 후 주행할 수 있다. 여기서, 제자리 회전은 청소 로봇(100)이 청소 로봇(100)의 중심을 회전축으로 하여 회전하는 것을 의미한다. 즉, 제자리 회전은 선속도는 "0"이지만 각속도는 "0"이 아닌 주행을 의미한다.
다른 예로, 청소 로봇(100)은 장애물(O)의 거리가 미리 정해진 장애물 추종 거리에 도달할 때까지 장애물(O)과 반대 방향으로 회전 주행할 수 있다. 여기서, 회전 주행은 청소 로봇(100)이 청소 로봇(100)의 중심 이외의 위치를 회전축으로 하고 청소 로봇(100)의 중심과 회전축 사이의 거리를 회전 반경으로 하여 회전하는 것을 의미한다. 회전 주행은 각속도와 선속도 모두 "0"이 아닌 주행을 의미한다.
이후, 청소 로봇(100)은 장애물(O)과의 거리가 미리 정해진 장애물 추종 거리를 유지하면서 장애물(O)의 외곽선과 평행하게 주행하는 외곽선 추종 주행을 수행한다.
장애물(O)과의 거리를 장애물 추종 거리로 유지하기 위하여 청소 로봇(100)은 청소 로봇(100)의 측면에 위치하는 장애물(O)과의 거리가 장애물 추종 거리 보다 작아지면 장애물(O)과 멀어지는 방향으로 주행하고, 청소 로봇(100)의 측면에 위치하는 장애물(O)과의 거리가 장애물 추종 거리 보다 커지면 장애물(O)과 가까워지는 방향으로 주행할 수 있다.
또한, 청소 로봇(100)은 장애물(O)의 우측에서 장애물(O)의 외곽선을 따라 주행하는 우측 추종 주행(장애물이 청소 로봇의 좌측에 위치하는 좌수 주행) 또는 장애물(O)의 좌측에서 장애물(O)의 외곽선을 따라 주행하는 좌측 추종 주행(장애물이 청소 로봇의 우측에 위치하는 우수 주행)을 수행할 수 있다. 이때, 청소 로봇(100)는 우측 추종 주행 또는 좌측 추종 주행 가운데 어느 하나를 선택하여 수행하는 것이 바람직하다. 이하에서는 이하를 돕기 위하여 청소 로봇(100)이 장애물(O)의 좌측에서 주행하는 좌측 추종 주행(우수 주행)을 수행하는 것으로 가정한다.
외곽선 추종 주행의 결과 청소 로봇(100)은 도 17에 도시된 바와 같이 장애물(O)의 외곽선을 따라 주행할 수 있다. 다시 말해, 청소 로봇(100)은 청소 공간(O)의 벽면을 따라 주행할 수 있다.
외곽선 추종 주행 중에 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장한다(1140).
구체적으로, 청소 로봇(100)은 미리 정해진 시간 간격마다 청소 로봇(100)의 위치를 나타내는 위치 정보, 청소 로봇(100)의 주행 속도 정보, 주행 방향 정보 등을 포함하는 주행 정보, 청소 로봇(100)이 추종하는 장애물(O)의 외곽선의 특징을 포함하는 외곽선 정보를 저장할 수 있다.
위치 정보는 청소 로봇(100)의 위치 좌표를 포함할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시를 원점으로 하는 xy좌표계를 생성할 수 있다. 여기서 y축은 청소 로봇의 전방 방향에 대응되고, x축은 y축과 수직한 방향에 대응된다. 또한, 청소 로봇(100)은 움직임 검출부(130)를 이용하여 검출된 주행 방향에 따라 주행 속도를 적분함으로써 청소 로봇(100)의 현재 위치 좌표를 산출할 수 있다.
앞서 설명한 바와 같이 미리 정해진 시간 간격 마다 주행 기록을 저장하므로 청소 로봇(100)이 주행한 위치 정보는 도 18에 도시된 바와 같이 불연속적인 점의 형태를 가지며, 각각의 점을 연결하면 청소 로봇(100)이 주행한 주행 경로가 생성된다.
주행 정보는 청소 로봇(100)이 주행하는 주행 속도, 주행 방향(주행 각도) 및 주행 거리를 포함할 수 있다. 예를 들어, 청소 로봇(100)은 움직임 검출부(130)를 이용하여 주행 속도 , 주행 방향(주행 각도) 및 주행 거리를 검출할 수 있다.
주행 방향은 기준 방향을 기준으로 청소 로봇(100)이 주행하는 방향과 기준 방향 사이의 각도로 나타낼 수 있다. 예를 들어, 청소 로봇(100)이 최초로 출발할 때의 방향을 기준 방향으로 정의하면, 청소 로봇(100)이 반시계 방향(또는 좌측 방향)으로 90도 회전하면 주행 방향(각도)은 '+90도'가 되고, 청소 로봇(100)이 시계 방향(또는 우측 방향)으로 90도 회전하면 주행 방향(각도)은 '-90도'가 될 수 있다.
또한, 주행 방향은 현재 청소 로봇(100)의 주행 방향(각도)을 나타내는 순시 주행 방향(각도)과 청소 로봇(100)의 주행 방향(각도)을 누적한 누적 주행 방향(각도)을 포함할 수 있다. 예를 들어, 청소 로봇(100)이 최초로 출발하면 순간 주행 방향(각도)과 누적 주행 방향(각도)은 모드 '0도'가 된다. 그러나, 만일 청소 로봇(100)이 제자리에서 반시계 방향으로 1바퀴 회전하면 순간 주행 방향(각도)은 '0도'가 되나 누적 주행 방향(각도)은 '+360'도가 된다. 또한, 만일 청소 로봇(100)이 제자리에서 시계 방향으로 1바퀴 회전하면 순간 주행 방향(각도)을 '0도'가 되나, 누적 주행 방향(각도)은 '-360도'가 된다.
주행 속도는 선 속도와 각 속도를 포함할 수 있다. 예를 들어, 청소 로봇(100)이 직선 주행하는 경우, 선 속도는 청소 로봇(100)의 주행 속도가 되고 각 속도는 '0'이 될 수 있다. 또한, 청소 로봇(100)이 제자리에서 회전하는 경우, 선 속도는 '0'이 되고 각 속도는 청소 로봇(100)의 회전 속도가 될 수 있다.
주행 거리는 주행 속도 가운데 선 속도를 적분하여 산출할 수 있다.
외곽선 정보는 청소 로봇(100)이 추종하는 장애물(O)의 외곽선 형상을 포함할 수 있다.
구체적으로, 청소 로봇(100)은 장애물(O)의 외곽선이 직선 형상인지, 볼록한 형상인지 또는 오목한 형상인지를 판단할 수 있다. 예를 들어, 청소 로봇(100)은 청소 로봇(100)의 주행 정보 또는 위치 정보를 기초로 외곽선의 형상을 추정할 수 있다.
또한, 청소 로봇(100)은 판단된 장애물(O)의 외곽선 형상을 기초로 청소 로봇(100)과 인접한 장애물(O)의 외곽선 형상을 벽면, 볼록한 모서리 및 오목한 모서리로 구분할 수 있다. 장애물(O)의 외곽선이 직선 형상이면 청소 로봇(100)는 장애물(O)의 외곽선 형상을 벽면으로 구분할 수 있으며, 장애물(O)의 외곽선이 볼록한 형상이면 청소 로봇(100)는 장애물(O)의 외곽선 형상을 볼록한 모서리로 구분할 수 있다. 또한, 장애물(O)의 외곽선이 오목한 형상이면 청소 로봇(100)은 장애물(O)의 외곽선 형상을 오목한 모서리로 구분할 수 있다.
청소 로봇(100)은 이처럼 구분된 장애물(O)의 외곽선 형상을 외곽선 정보로 저장할 수 있다. 다시 말해, 청소 로봇(100)는 장애물(O)의 외곽선 형상에 따라 벽면, 볼록한 모서리 또는 오목한 모서리 가운데 어느 하나를 외곽선 정보로서 저장할 수 있다.
예를 들어, 도 18에 도시된 제1 지점(P1)에서 청소 로봇(100)이 직선 주행하므로 청소 로봇(100)은 제1 지점(P1)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.
또한, 제2 지점(P2)에서 청소 로봇(100)은 장애물(O)이 위치하는 방향(우측 방향)으로 회전 주행하므로 청소 로봇(100)은 제2 지점(P1)의 외곽선 형성 정보에 대하여 볼록한 모서리를 저장할 수 있다.
또한, 제3 지점(P3)에서 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 제3 지점(P3)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.
또한, 제4 지점(P4)에서 역시 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 제4 지점(P4)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.
또한, 제5 지점(P5)에서 청소 로봇(100)은 장애물(O)이 위치하는 방향과 반대 방향(좌측 방향)을 회전 주행하므로 청소 로봇(100)의 제5 지점(P5)의 외곽선 정보에 대하여 오목한 모서리를 저장할 수 있다.
또한, 제6 지점(P6)에서 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 제3 지점(P3)의 외곽선 정보에 대하여 벽면을 저장할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 임의의 위치에서 장애물(O)이 감지될 때까지 임의의 방향으로 주행할 수 있으며, 장애물(O)이 감지되면 장애물(O)의 외곽선을 따라 외곽선 추종 주행을 수행한다. 또한, 청소 로봇(100)은 주행 중에 청소 로봇(100)의 주행 정보 및 위치 정보, 장애물(O)의 외곽선 정보를 포함하는 주행 기록을 저장한다.
도 19는 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시한다.
도 19를 참조하여, 청소 로봇(100)의 청소 영역 설정(1200)에 대하여 설명한다.
청소 로봇(100)은 앞서 설명한 청소 공간 주행(1100) 중에 출입구를 판단한다(1210).
앞서 설명한 바와 같이 출입구는 벽에 의하여 구분되는 영역을 연결하는 통로에 해당한다. 즉, 청소 공간(A)은 벽에 의하여 복수의 영역(방 또는 거실)로 구획될 수 있으며, 출입구는 구획된 복수의 영역 사이를 연결한다.
또한, 벽에 의하여 구획되는 복수의 영역을 청소 영역으로 설정하는 경우, 복수의 청소 영역은 출입구를 통하여 연결되며, 출입구의 양편은 각각 서로 다른 청소 영역을 설정할 수 있다.
결국, 출입구는 청소 영역을 설정하기 위한 기준이 될 수 있다. 즉, 출입구가 판단되면, 출입구를 기준으로 청소 공간(A)을 복수의 청소 영역으로 구분할 수 있다.
예를 들어, 하나의 출입구를 포함하는 방의 경우, 방을 형성하는 벽면과 출입구를 연결하면 폐곡선이 형성되며, 청소 로봇(100)은 이와 같이 형성된 폐곡선의 내부를 청소 영역으로 설정할 수 있다.
또한, 2개 이상의 출입구를 포함하는 거실의 경우 역시 거실을 형성하는 벽면과 2개 이상의 출입구를 연결하면 폐곡선이 형성되며, 청소 로봇(100)은 형성된 폐곡선의 내부를 청소 영역으로 설정할 수 있다.
이와 같이 출입구는 청소 영역을 설정하기 위한 기준이 되므로 청소 로봇(100)은 출입구의 위치를 판단한다.
출입구가 판단되지 않으면(1210의 아니오), 청소 로봇(100)는 외곽선 추종 주행을 계속한다.
출입구가 판단되면(1210의 예), 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 기초로 청소 영역을 설정한다(1220).
청소 공간(A)을 출입구를 기준으로 복수의 청소 영역으로 분할하고자 하는 경우, 청소 로봇(100)은 벽의 외곽선 정보와 출입구의 위치를 기초로 청소 영역을 설정할 수 있다.
앞서 설명한 바와 같이 청소 로봇(100)은 청소 영역을 설정하기 앞서 청소 공간(A)의 벽면 등의 장애물(O)의 외곽선을 따라 주행하는 외곽선 추종 주행을 수행한다. 또한, 외곽선 추종 주행 중에 청소 로봇(100)은 청소 로봇(100)의 위치 정보, 청소 로봇(100)의 주행 정보 및 장애물(O)의 외곽선 형성 정보를 포함하는 주행 기록을 저장한다.
이처럼, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행하는 외곽선 추종 주행 중에 주행 기록을 저장하므로 청소 로봇(100)은 주행 기록으로부터 장애물(O)의 외곽선을 추정할 수 있다.
예를 들어, 방의 내벽을 따라 외곽선 추종 주행을 수행한 청소 로봇(100)은 주행 기록 가운데 청소 로봇(100)의 위치 정보를 기초로 방 내벽의 형상을 추정할 수 있다.
따라서, 청소 로봇(100)은 앞서 검출된 출입구의 위치 정보와 청소 로봇(100)이 외곽선 추종 주행 중에 획득한 내벽의 외곽선 정보를 기초로 청소 영역을 설정할 수 있다. 즉, 청소 로봇(100)은 벽과 출입구에 의하여 다른 영역과 분리되는 방 또는 거실을 하나의 청소 영역으로 설정할 수 있다.
이처럼, 청소 로봇(100)은 출입구의 위치를 판단하고, 출입구의 위치와 청소 로봇(100)의 주행 기록을 기초로 청소 영역을 설정할 수 있다.
이하에서는 청소 로봇(100)이 출입구의 위치를 판단하는 구체적인 방법과 청소 로봇(100)이 주행 기록을 기초로 청소 영역을 설정하는 구체적인 방법에 관하여 설명한다.
청소 로봇(100)이 출입구의 위치를 판단하는 구체적인 방법을 설명하기 앞서 출입구의 판단 기준에 관하여 간략하게 설명한다.
앞서 설명한 바와 같이 청소 공간(A)은 벽면에 의하여 구획되고 출입구에 의하여 연결되는 복수의 영역으로 구분할 수 있다. 또한, 출입구와 벽면의 외곽선을 연결하면 폐곡선이 형성되며, 청소 로봇(100)은 출입구와 벽면의 외곽선이 연결된 폐곡선의 내부를 청소 영역을 설정할 수 있다.
출입구는 청소 공간의 외벽으로부터 청소 공간 내측으로 돌출된 내벽의 일단과 다른 내벽의 일단 사이에 형성되거나, 내벽의 벽면(또는 외벽의 벽면)과 다른 내벽의 일단 사이에 형성될 수 있다.
일반적으로, 내벽의 벽면과 내벽의 벽면 사이는 통상적으로 통로에 해당하며 출입구에 해당하지 않는다. 또한, 벽면이 절곡된 내측 즉 내벽(또는 외벽)의 오목한 모서리에는 출입구가 형성되지 않는 것이 일반적이다.
그 결과, 출입구 양단의 장애물(O)은 볼록한 모서리로 이루어지거나, 출입구 일단의 장애물(O)은 볼록한 모서리로 구성되고 타단의 장애물(O)은 벽면으로 구성될 수 있다. 다시 말해, 출입구 양단 가운데 적어도 하나는 볼록한 모서리로 구성된다.
또한, 사용자가 용이하게 출입할 수 있도록 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다.
또한, 청소 로봇(100)이 출입구를 통과하는 경우, 청소 로봇(100)의 주행 방향은 출입구와 수직한다. 즉, 출입구의 양단을 연결하는 직선은 청소 로봇(100)의 주행 방향과 수직한다.
요약하면, 1) 출입구 양단 가운데 적어도 하나는 볼록한 모서리로 구성되고, 2) 출입구의 폭은 미리 정해진 기준 거리 범위 이내이고, 3) 출입구는 출입구를 통과하는 청소 로봇(100)의 주행 방향과 수직하게 위치한다.
이와 같은 출입구의 조건을 만족하면 청소 로봇(100)은 해당 위치를 출입구로 판단할 수 있다.
또한, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행하므로, 청소 로봇(100)의 주행 기록이 기록된 위치 즉 주행 기록의 위치 정보는 장애물(O)의 외곽선에 대응된다.
따라서, 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 기초로 장애물(O)의 형상, 위치 등을 파악할 수 있으며, 주행 기록을 기초로 출입구를 판단할 수 있다.
도 20은 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 일 예를 도시하고, 도 21 내지 도 23은 도 20에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.
도 20 내지 도 23을 참조하여, 청소 로봇(100)의 출입구 판단 방법(1500)에 대하여 설명한다.
청소 로봇(100)은 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 회전 주행하는지를 판단한다(1510).
앞서 설명한 바와 같이 청소 로봇(100)은 주행 중에 주행 기록을 저장하며, 주행 기록은 청소 로봇(100)의 주행 정보 및 위치 정보, 장애물(O)의 외곽선 정보를 포함한다.
청소 로봇(100)은 주행 기록 가운데 장애물(O)의 외곽선 정보를 기초로 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 회전 주행하는지 판단할 수 있다. 또한, 청소 로봇(100)은 청소 로봇(100)이 장애물(O)이 위치하는 방향으로 회전 주행하면 장애물(O)의 외곽선이 볼록한 모서리임을 판단할 수 있다.
예를 들어, 도 21에 도시된 바와 같이 청소 로봇(100)이 제1 지점(P1) 및 제2 지점(P2)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 주행하지 않는 것으로 판단한다.
또한, 청소 로봇(100)이 제3 지점을 주행하는 경우에는 청소 로봇(100)이 장애물(O)이 위치하는 방향으로 회전 주행하므로 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 주행하는 것으로 판단한다.
또한, 도 22에 도시된 바와 같이 청소 로봇(100)이 제4 지점(P4), 제5 지점(P5) 및 제6 지점을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(1000은 장애물(O)의 볼록한 모서리를 따라 주행하지 않는 것으로 판단한다. 또한, 청소 로봇(100)이 제7 지점을 주행하는 경우에는 청소 로봇(100)이 장애물(O)이 위치하는 방향으로 회전 주행하므로 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 주행하는 것으로 판단한다.
청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 회전 주행하는 것으로 판단되면(1510의 예), 청소 로봇(100)은 기준 거리 범위 이내에서 기록된 주행 기록을 검색한다(1520).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있으며, 내벽의 일단은 볼록한 모서리를 포함할 수 있다.
따라서, 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 주행하면, 청소 로봇(100)은 아래에서 설명하는 바와 같이 해당 볼록한 모서리가 출입구를 형성하는 내벽의 일단에 해당하는지를 판단한다.
청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단한다. 구체적으로, 청소 로봇(100)은 주행 기록에 포함된 청소 로봇(100)의 위치 정보와 청소 로봇(100)의 현재 위치를 비교하여 청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단할 수 있다.
앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. 따라서, 현재 청소 로봇(100)의 위치로부터 기준 거리 범위 이내에서 청소 로봇(100)이 주행한 주행 기록이 있다면 청소 로봇(100)이 추종하는 장애물(O)의 볼록한 모서리로부터 80cm 내지 110cm의 범위 내에 다른 장애물(O)이 존재하는 것으로 판단할 수 있다.
여기서, 기준 거리 범위는 대략 80cm 내지 110cm로부터 청소 로봇(100)의 폭을 뺀 거리 범위일 수 있다. 예를 들어, 청소 로봇(100)의 폭이 30cm이면 기준 거리 범위는 50cm 내지 80cm일 수 있다.
또한, 기준 거리 이내에서 기록된 주행 기록은 출입구 여부 판단을 위하여 출입구 후보 목록에 저장될 수 있다.
예를 들어, 청소 로봇(100)이 도 21에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에 위치하는 경우 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제1 지점(P1) 및 제2 지점(P2)을 출입구 후보 목록에 저장할 수 있다.
또한, 청소 로봇(100)이 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)을 출입구 후보 목록으로 저장할 수 있다.
기준 거리 범위 이내에서 기록된 주행 기록이 검색되면(1520의 예), 청소 로봇(100)은 검색된 주행 기록이 장애물(O)과 반대편 측면에서 기록되었는지를 판단한다(1530).
청소 로봇(100)이 주행 기록을 저장하면서 주행하는 경우, 도 21의 제1 지점(P1) 및 제2 지점(P2)과 같이 바로 이전에 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다. 또한, 하나의 장애물(O)을 사이에 두고 청소 로봇(100)이 양측에 주행하는 경우, 장애물(O)의 건너편에서 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다.
다시 말해, 출입구를 형성하는 장애물(O)은 청소 로봇(100)의 양측에 각각 위치하는 서로 다른 장애물(O)인데, 기준 거리 범위 이내에서 기록된 주행 기록은 서로 다른 장애물(O)을 따라 주행하는 동안 기록된 주행 기록 뿐만 아니라, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록을 포함한다.
이와 같이, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 방향에 위치하는 것이 일반적이다.
따라서, 이와 같이 청소 로봇(100)이 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 따라 주행하는 중에 기록된 주행 기록을 배제하기 위하여, 주행 기록이 기록된 위치가 장애물(O)의 반대편에 위치하는지를 판단한다.
구체적으로, 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록은 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 추종 중에 기록된 것이므로 청소 로봇(100)은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록을 출입구 후보 목록으로부터 배제한다.
예를 들어, 도 21에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에서 주행하는 경우, 제1 지점(P1)과 제2 지점(P2)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하지만, 장애물(O)과 같은 측면에 위치하므로 제1 지점(P1)과 제2 지점(P2)의 주행 기록은 출입구 후보 목록에서 배제된다.
또한, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하고, 장애물(O)과 반대편에 위치하므로 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다.
주행 기록이 장애물(O)의 반대편에서 기록된 것으로 판단되면(1530의 예), 청소 로봇(100)은 주행 기록의 외곽선 정보가 벽면 또는 볼록한 모서리인지를 판단한다(1540).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있으며, 내벽의 일단은 볼록한 모서리를 포함할 수 있다.
또한, 청소 로봇(100)은 1510 단계에서 장애물(O)의 볼록한 모서리를 따라 주행하므로 청소 로봇(100)의 현재 추종하는 장애물(O)의 맞은편에 위치하는 장애물(O)의 외곽선이 볼록한 모서리 또는 벽면인지를 판단한다. 다시 말해, 청소 로봇(100)이 볼록한 모서리와 볼록한 모서리 사이 또는 벽면과 볼록한 모서리 사이를 주행하는지 판단한다.
구체적으로, 청소 로봇(100)는 출입구 후보 목록에 저장된 주행 기록의 외곽선 정보를 기초로 해당 주행 기록이 장애물(O)의 벽면 또는 장애물(O)의 볼록한 모서리를 따라 주행 중에 기록된 주행 기록인지를 판단할 수 있다. 또한, 장애물(O)의 벽면 또는 볼록한 모서리를 따라 주행 중에 기록되지 않은 주행 기록은 출입구 후보 목록으로부터 배제된다.
예를 들어, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)의 주행 기록은 모두 청소 로봇(100)이 장애물(O)의 벽면을 따라 주행하는 도중에 기록된 것이다. 따라서, 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다.
주행 기록의 외곽선 정보가 벽면 또는 볼록한 모서리인 것으로 판단되면(1540의 예), 청소 로봇(1000은 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 위치에서 기록되었는지를 판단한다(1550).
앞서 설명한 바와 같이 출입구는 출입구를 통과하는 청소 로봇(100)의 주행 방향과 수직하게 위치한다. 다시 말해, 청소 로봇(100)이 출입구를 통과하는 중에는 청소 로봇(100)의 진행 방향과 출입구의 양단을 연결하는 직선이 서로 수직한다.
청소 로봇(100)이 출입구를 통과하고 있다면, 청소 로봇(100)의 주행 방향과 수직한 방향에 출입구를 형성하는 한 쌍의 장애물(O)이 위치한다. 출입구를 형성하는 한 쌍의 장애물(O) 가운데 하나는 청소 로봇(100)이 외곽선을 추종하는 장애물이며, 다른 하나의 장애물(O)은 청소 로봇(100)이 추종하는 장애물(O)의 반대편에 위치한다.
또한, 청소 로봇(100)은 주행 기록을 통하여 출입구를 형성하는 장애물(O) 가운데 다른 하나의 존부를 판단할 수 있다. 구체적으로, 청소 로봇(100)은 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록의 존부를 판단할 수 있다.
만일, 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록이 있다면 청소 로봇(100)는 검색된 주행 기록이 기록된 위치(위치 정보를 기초로 판단됨)와 청소 로봇(100)의 현재 위치 사이에 출입구가 존재하는 것으로 판단할 수 있다.
예를 들어, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제5 지점(P5)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치하고, 제4 지점(P4)과 제6 지점(P6)은 그렇지 않다. 따라서, 제4 지점(P4)과 제6 지점(P6)에서 기록된 주행 기록은 출입구 후보 기록으로부터 배제되고, 청소 로봇(100)은 제7 지점(P7)과 제5 지점(P5) 사이에 출입구가 형성된 것으로 판단할 수 있다.
주행 기록이 청소 로봇(100)의 주행 방향과 수직한 방향의 위치에서 기록되었으면(1550의 예), 청소 로봇(100)은 검출된 주행 기록이 기록된 위치로 이동한다(1560).
청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 주행하고, 장애물(O)의 볼록한 모서리로부터 기준 거리 범위 이내에 다른 장애물(O)의 볼록한 모서리 또는 벽면이 존재하고, 청소 로봇(100)이 장애물(O)과 장애물(O) 사이를 수직하게 주행하고 있다면 청소 로봇(100)은 청소 공간(A)의 출입구를 통과하는 것으로 판단할 수 있다.
예를 들어, 도 22에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 청소 로봇(100)은 장애물(O)의 볼록한 모서리를 따라 회전 주행하고 있으며, 청소 로봇(100)으로부터 기준 거리 범위 이내에서 제5 지점(P5)이 위치하고, 제5 지점(P5)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치하므로 청소 로봇(100)은 제7 지점(P7)과 제5 지점(P5) 사이에 출입구가 형성된 것으로 판단할 수 있다.
이와 같이 출입구를 검출하면 청소 로봇(100)은 청소 로봇(100)의 현재 위치와 함께 출입구를 형성하는 지점으로 이동한다.
예를 들어, 도 23에 도시된 바와 같이 청소 로봇(100)는 출입구를 형성하는 것으로 판단된 제5 지점(P5)으로 이동할 수 있다.
또한, 제5 지점(P5)으로 이동하는 동안 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장한다.
따라서, 청소 로봇(100)이 제5 지점(P5)에 도달하면 청소 로봇(100)이 이동한 경로는 도 23에 도시된 바와 같이 폐곡선(CL)을 형성한다. 이와 같은 폐곡선(CL)의 내부는 이후 청소 영역으로 설정될 것이다.
이상에서 설명한 바와 같이 출입구 판단과 관련하여, 청소 로봇(100)은 ① 청소 로봇(100)이 볼록한 모서리를 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ③ 검색된 주행 기록이 벽면 또는 볼록한 모서리를 따라 주행 중에 기록되었는지 판단하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단한다.
다만, 출입구 판단을 위한 각 조건의 판단 순서를 상이할 수 있다. 예를 들어, 청소 로봇(100)은 ① 청소 로봇(100)이 볼록한 모서리를 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단하고, ③ 검색된 주행 기록이 벽면 또는 볼록한 모서리를 따라 주행 중에 기록되었는지 판단할 수 있다.
이상에서는 장애물(O)의 볼록한 모서리를 따라 주행하는 청소 로봇(100)이 출입구를 판단하는 방법에 관하여 설명하였다.
이하에서는 장애물(O)의 벽면을 따라 주행하는 청소 로봇(100)이 출입구를 판단하는 방법에 관하여 설명한다.
도 24는 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 방법의 다른 일 예를 도시하고, 도 25 내지 도 27은 도 24에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 출입구를 판단하는 과정의 일 예를 도시한다.
도 24 내지 도 27을 참조하여, 청소 로봇(100)의 출입구 판단 방법(1600)에 대하여 설명한다.
청소 로봇(100)은 청소 로봇(100)이 장애물(O)의 벽면을 따라 직선 주행하는지를 판단한다(1610).
앞서 설명한 바와 같이 청소 로봇(100)은 주행 중에 주행 기록을 저장하며, 주행 기록은 청소 로봇(100)의 주행 정보 및 위치 정보, 장애물(O)의 외곽선 정보를 포함한다.
청소 로봇(100)은 주행 기록 가운데 장애물(O)의 외곽선 정보를 기초로 청소 로봇(100)이 장애물(O)의 벽면을 따라 직선 주행하는지 판단할 수 있다. 또한, 청소 로봇(100)은 청소 로봇(100)이 직선 주행하면 장애물(O)의 외곽선이 벽면임을 판단할 수 있다.
예를 들어, 도 25에 도시된 바와 같이 청소 로봇(100)이 제1 지점(P1)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하는 것으로 판단한다. 또한, 청소 로봇(100)이 제2 지점(P2)을 주행하는 경우에는 청소 로봇(100)이 회전 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하지 않는 것으로 판단한다. 또한, 청소 로봇(100)이 제3 지점(P3)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하는 것으로 판단한다.
또한, 도 26에 도시된 바와 같이 청소 로봇(100)이 제6 지점을 주행하는 경우에는 청소 로봇(100)이 회전 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하지 않는 것으로 판단한다. 또한, 청소 로봇(100)이 제5 지점(P7), 제6 지점(P6) 및 제7 지점(P7)을 주행하는 경우 청소 로봇(100)은 직선 주행하므로 청소 로봇(100)은 장애물(O)의 벽면을 따라 주행하는 것으로 판단한다.
청소 로봇(100)이 장애물(O)의 벽면을 따라 직선 주행하는 것으로 판단되면(1610의 예), 청소 로봇(100)은 기준 거리 범위 이내에서 기록된 주행 기록을 검색한다(1620).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있다.
따라서, 청소 로봇(100)이 장애물(O)의 벽면을 따라 주행하면, 청소 로봇(100)은 아래에서 설명하는 바와 같이 해당 벽면이 출입구를 형성하는 내벽의 벽면에 해당하는지를 판단한다.
청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단한다. 구체적으로, 청소 로봇(100)은 주행 기록에 포함된 청소 로봇(100)의 위치 정보와 청소 로봇(100)의 현재 위치를 비교하여 청소 로봇(100)의 현재 위치로부터 기준 거리 범위 이내에서 주행 기록이 기록되었는지를 판단할 수 있다.
앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. 따라서, 현재 청소 로봇(100)의 위치로부터 기준 거리 범위 이내에서 청소 로봇(100)이 주행한 주행 기록이 있다면 청소 로봇(100)이 추종하는 장애물(O)의 벽면으로부터 80cm 내지 110cm의 범위 내에 다른 장애물(O)이 존재하는 것으로 판단할 수 있다.
여기서, 기준 거리 범위는 대략 80cm 내지 110cm로부터 청소 로봇(100)의 폭을 뺀 거리 범위일 수 있다. 예를 들어, 청소 로봇(100)의 폭이 30cm이면 기준 거리 범위는 50cm 내지 80cm일 수 있다.
또한, 기준 거리 이내에서 기록된 주행 기록은 출입구 여부 판단을 위하여 출입구 후보 목록에 저장될 수 있다.
예를 들어, 청소 로봇(100)이 도 25에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에 위치하는 경우 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제1 지점(P1) 및 제2 지점(P2)을 출입구 후보 목록에 저장할 수 있다.
또한, 청소 로봇(100)이 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 청소 로봇(100)은 기준 거리 범위 이내에 위치한 제4 지점(P4), 제5 지점(P5) 및 제6 지점(P6)을 출입구 후보 목록으로 저장할 수 있다.
기준 거리 범위 이내에서 기록된 주행 기록이 검색되면(1620의 예), 청소 로봇(100)은 검색된 주행 기록이 장애물(O)과 반대편 측면에서 기록되었는지를 판단한다(1630).
청소 로봇(100)이 주행 기록을 저장하면서 주행하는 경우, 도 21의 제1 지점(P1) 및 제2 지점(P2)과 같이 바로 이전에 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다. 또한, 하나의 장애물(O)을 사이에 두고 청소 로봇(100)이 양측에 주행하는 경우, 장애물(O)의 건너편에서 저장된 주행 기록이 기준 거리 범위 이내에 위치할 수 있다.
다시 말해, 출입구를 형성하는 장애물(O)은 청소 로봇(100)의 양측에 각각 위치하는 서로 다른 장애물(O)인데, 기준 거리 범위 이내에서 기록된 주행 기록은 서로 다른 장애물(O)을 따라 주행하는 동안 기록된 주행 기록 뿐만 아니라, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록을 포함한다.
이와 같이, 동일한 장애물(O)을 따라 주행하는 동안 기록된 주행 기록은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 방향에 위치하는 것이 일반적이다.
따라서, 이와 같이 청소 로봇(100)이 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 따라 주행하는 중에 기록된 주행 기록을 배제하기 위하여, 주행 기록이 기록된 위치가 장애물(O)의 반대편에 위치하는지를 판단한다.
구체적으로, 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록은 현재 추종 중인 장애물(O)과 동일한 장애물(O)을 추종 중에 기록된 것이므로 청소 로봇(100)은 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에서 기록된 주행 기록을 출입구 후보 목록으로부터 배제한다.
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제3 지점(P3)에서 주행하는 경우, 제1 지점(P1)과 제2 지점(P2)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하지만, 청소 로봇(100)의 후방에 위치하거나 장애물(O)과 같은 측면에 위치하므로 제1 지점(P1)과 제2 지점(P2)의 주행 기록은 출입구 후보 목록에서 배제된다.
또한, 도 27에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 제4 지점(P4)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하고, 장애물(O)과 반대편에 위치하므로 제4 지점(P4)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다. 그러나, 제5 지점(P5)과 제6 지점(P6)은 청소 로봇(100)으로부터 기준 거리 범위 이내에 위치하지만, 청소 로봇(100)의 후방에 위치하므로 제5 지점(P6)과 제6 지점(P6)의 주행 기록은 출입구 후보 목록에서 배제된다.
주행 기록이 장애물(O)의 반대편에서 기록된 것으로 판단되면(1630의 예), 청소 로봇(100)은 주행 기록의 외곽선 정보가 볼록한 모서리인지를 판단한다(1640).
앞서 설명한 바와 같이 출입구는 내벽의 일단과 다른 일단 사이 또는 내벽의 일단과 다른 내벽의 벽면 사이에 형성될 수 있으며, 내벽의 일단은 볼록한 모서리를 포함할 수 있다.
또한, 청소 로봇(100)은 1510 단계에서 장애물(O)의 벽면을 따라 주행하므로 청소 로봇(100)의 현재 추종하는 장애물(O)의 맞은편에 위치하는 장애물(O)의 외곽선이 볼록한 모서리인지를 판단한다. 다시 말해, 청소 로봇(100)이 벽면과 볼록한 모서리 사이를 주행하는지 판단한다.
구체적으로, 청소 로봇(100)는 출입구 후보 목록에 저장된 주행 기록의 외곽선 정보를 기초로 해당 주행 기록이 장애물(O)의 볼록한 모서리를 따라 주행 중에 기록된 주행 기록인지를 판단할 수 있다. 또한, 장애물(O)의 볼록한 모서리를 따라 주행 중에 기록되지 않은 주행 기록은 출입구 후보 목록으로부터 배제된다.
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제4 지점(P4)의 주행 기록은 청소 로봇(100)이 장애물(O)의 볼록한 모서리를 따라 주행하는 도중에 기록된 것이다. 따라서, 제4 지점(P4)의 주행 기록은 출입구 후보 목록으로부터 배제되지 않는다.
주행 기록의 외곽선 정보가 볼록한 모서리인 것으로 판단되면(1640의 예), 청소 로봇(1000은 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 위치에서 기록되었는지를 판단한다(1650).
앞서 설명한 바와 같이 출입구는 출입구를 통과하는 청소 로봇(100)의 주행 방향과 수직하게 위치한다. 다시 말해, 청소 로봇(100)이 출입구를 통과하는 중에는 청소 로봇(100)의 진행 방향과 출입구의 양단을 연결하는 직선이 서로 수직한다.
청소 로봇(100)이 출입구를 통과하고 있다면, 청소 로봇(100)의 주행 방향과 수직한 방향에 출입구를 형성하는 한 쌍의 장애물(O)이 위치한다. 출입구를 형성하는 한 쌍의 장애물(O) 가운데 하나는 청소 로봇(100)이 외곽선을 추종하는 장애물이며, 다른 하나의 장애물(O)은 청소 로봇(100)이 추종하는 장애물(O)의 반대편에 위치한다.
또한, 청소 로봇(100)은 주행 기록을 통하여 출입구를 형성하는 장애물(O) 가운데 다른 하나의 존부를 판단할 수 있다. 구체적으로, 청소 로봇(100)은 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록의 존부를 판단할 수 있다.
만일, 청소 로봇(100)의 현재 주행 방향과 수직한 방향의 위치에서 기록된 주행 기록이 있다면 청소 로봇(100)는 검색된 주행 기록이 기록된 위치(위치 정보를 기초로 판단됨)와 청소 로봇(100)의 현재 위치 사이에 출입구가 존재하는 것으로 판단할 수 있다.
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에 위치하는 경우, 제4 지점(P4)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치한다. 따라서, 청소 로봇(100)은 제7 지점(P7)과 제4 지점(P4) 사이에 출입구가 형성된 것으로 판단할 수 있다.
주행 기록이 청소 로봇(100)의 주행 방향과 수직한 방향의 위치에서 기록되었으면(1650의 예), 청소 로봇(100)은 검출된 주행 기록이 기록된 위치로 이동한다(1660).
청소 로봇(100)이 장애물(O)의 벽면을 따라 주행하고, 장애물(O)의 벽면으로부터 기준 거리 범위 이내에 다른 장애물(O)의 볼록한 모서리가 존재하고, 청소 로봇(100)이 장애물(O)과 장애물(O) 사이를 수직하게 주행하고 있다면 청소 로봇(100)은 청소 공간(A)의 출입구를 통과하는 것으로 판단할 수 있다.
예를 들어, 도 26에 도시된 바와 같이 청소 로봇(100)이 제7 지점(P7)에서 주행하는 경우, 청소 로봇(100)은 현재 장애물(O)의 볼록한 모서리를 따라 회전 주행하고 있으며, 청소 로봇(100)으로부터 기준 거리 범위 이내에서 제4 지점(P4)이 위치하고, 제4 지점(P4)은 청소 로봇(100)의 주행 방향과 수직한 방향에 위치하므로 청소 로봇(100)은 제7 지점(P7)과 제4 지점(P4) 사이에 출입구가 형성된 것으로 판단할 수 있다.
이와 같이 출입구를 검출하면 청소 로봇(100)은 청소 로봇(100)의 현재 위치와 함께 출입구를 형성하는 지점으로 이동한다.
예를 들어, 도 27에 도시된 바와 같이 청소 로봇(100)는 출입구를 형성하는 것으로 판단된 제4 지점(P4)으로 이동할 수 있다.
또한, 제4 지점(P4)으로 이동하는 동안 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장한다.
따라서, 청소 로봇(100)이 제4 지점(P4)에 도달하면 청소 로봇(100)이 이동한 경로는 도 27에 도시된 바와 같이 폐곡선(CL)을 형성한다. 이와 같은 폐곡선(CL)의 내부는 이후 청소 영역으로 설정될 것이다.
이상에서 설명한 바와 같이 출입구 판단과 관련하여, 청소 로봇(100)은 ① 청소 로봇(100)이 벽면을 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ③ 검색된 주행 기록이 볼록한 모서리를 따라 주행 중에 기록되었는지 판단하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단한다.
다만, 출입구 판단을 위한 각 조건의 판단 순서를 상이할 수 있다. 예를 들어, 청소 로봇(100)은 ① 청소 로봇(100)이 벽면을 따라 이동하는지 판단하고, ② 기준 거리 이내의 주행 기록이 존재하는지 검색하고, ④ 검색된 주행 기록이 청소 로봇(100)의 현재 주행 방향과 수직한 방향에 위치하는지 판단하고, ③ 검색된 주행 기록이 볼록한 모서리를 따라 주행 중에 기록되었는지 판단할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 현재의 주행 정보 및 과거 저장된 주행 기록을 기초로 출입구의 위치를 판단한다. 구체적으로, 청소 로봇(100)은 현재의 주행 정보 및 과거 저장된 주행 기록을 기초로 청소 로봇(100)이 현재 출입구를 통과하는지 여부를 실시간으로 판단한다.
도 28은 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 방법을 도시하고, 도 29 내지 도 32는 도 28에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 설정하는 과정의 일 예를 도시한다.
도 28 내지 도 32를 참조하여, 청소 로봇(100)의 청소 영역 설정 방법(1700)을 설명한다.
청소 로봇(100)은 현재의 위치가 이전에 주행한 위치와 동일한지 판단한다(1710).
구체적으로, 청소 로봇(100)은 주행 기록에 포함된 위치 정보를 기초로 현재의 위치가 이전에 주행한 위치와 동일한지 판단할 수 있다.
청소 로봇(100)의 현재 위치와 이전에 주행한 위치가 동일한 경우, 청소 로봇(100)의 주행 경로에 의하여 폐곡선이 생성된다.
앞서 설명한 바와 같이 청소 로봇(100)이 출입구를 판단하고, 판단된 출입구의 일단으로부터 타단으로 주행할 수 있다. 그 결과, 도 29에 도시된 바와 같이 청소 로봇(100)이 주행한 주행 경로는 폐곡선(CL)을 형성한다.
청소 로봇(100)의 현재 위치가 청소 로봇(100)이 이전에 주행한 위치와 동일하면(1710의 예), 청소 로봇(100)은 주행 기록에 의한 폐곡선(CL)을 직선 모델링한다(1720).
구체적으로, 주행 순서를 따라 복수의 주행 기록의 위치 정보가 나타내는 지점들을 서로 연결한다. 이때, 청소 로봇(100)은 각각의 지점들이 연결되어 형성된 주행 경로가 평평해지도록 각각의 지점들을 연결한다.
구체적으로, 청소 로봇(100)이 직선 주행을 수행한 경우, 각각의 지점을 연결한 선분 사이의 사잇각이 미리 정해진 각도 이상이 되도록 청소 로봇(100)은 각각의 지점을 연결할 수 있다.
예를 들어, 도 30에 도시된 바와 같이 복수의 주행 기록이 제1 지점(P1), 제2 지점(P2), 제3 지점(P3), 제4 지점(P4) 및 제5 지점(P5)을 나타내는 경우, 청소 로봇(100)는 제1 지점(P1) 내지 제5 지점(P5)을 순서대로 연결하여 청소 로봇(100)의 주행 경로를 생성한다.
우선, 도 30의 (a)에 도시된 바와 같이 청소 로봇(100)은 제1 지점(P1)과 제2 지점(P2)을 연결한다.
이후, 청소 로봇(100)은 제2 지점(P2)과 제3 지점(P3)을 연결하는 선분과 제1 지점(P1)과 제2 지점(P2)을 연결한 선분 사이의 각도(Θ3)가 미리 정해진 기준 각도 이상인지를 판단한다. 도 30의 (a)에 도시된 바와 같이 해당 각도(Θ3)가 기준 각도 이상이면, 청소 로봇(100)은 제2 지점(P2)과 제3 지점(P3)을 연결한다.
이후, 청소 로봇(100)은 제3 지점(P3)과 제4 지점(P4)을 연결하는 선분과 제2 지점(P2)과 제3 지점(P3)을 연결한 선분 사이의 각도(Θ4)가 기준 각도 이상인지를 판단한다. 도 30의 (b)에 도시된 바와 같이 해당 각도(Θ4)가 기준 각도보다 작으면 청소 로봇(100)은 제3 지점(P3)을 제4 지점(P4)과 연결하지 않는다.
이후, 청소 로봇(100)은 제3 지점(P3)과 제5 지점(P5)을 연결하는 선분과 제2 지점(P2)과 제3 지점(P3)을 연결한 선분 사이의 각도(Θ5)가 기준 각도 이상인지를 판단한다. 도 30의 (c)에 도시된 바와 같이 해당 각도(Θ5)가 기준 각도 이상이면, 청소 로봇(100)은 제3 지점(P3)과 제5 지점(P5)을 연결한다.
이와 같은 방식으로 청소 로봇(100)은 각각의 주행 기록이 나타내는 지점을 연결하여 청소 로봇(100)이 주행한 주행 경로를 생성할 수 있다.
다른 예로, 청소 로봇(100)이 직선 주행을 최초 수행한 제1 지점과 직선 주행을 마지막으로 수행한 제2 지점 사이를 직선으로 연결하고, 제1 지점과 제2 지점 사이의 제3 지점이 직선으로부터 벗어난 정도가 오차 범위를 넘으면 제1 지점과 제3 지점을 직선으로 연결하고, 제3 지점과 제2 지점을 직선으로 연결할 수도 있다.
또한, 청소 로봇(100)이 회전 주행을 수행한 경우에는 각각의 지점을 그대로 연결하여 청소 로봇(100)이 주행한 주행 경로를 생성할 수 있다.
청소 영역을 직선 모델링한 이후 청소 로봇(100)은 폐곡선(CL)을 단순화한다(1730).
청소 로봇(100)은 직선 모델링한 폐곡선(CL)의 일부 영역이 다른 영역으로부터 기준치 이상 벗어난 경우, 일부 영역을 단순화시킬 수 있다.
예를 들어, 도 31의 (a)에 도시된 바와 같이 폐곡선(CL)에 포함하는 제1 경로(L1), 제2 경로(L2) 및 제3 경로(L3)는 다른 경로에 비하여 복잡하게 생성되었다.
도 31의 (b)에 도시된 바와 같이 청소 로봇(100)은 복잡하게 생성된 제1 경로(L1), 제2 경로(L2) 및 제3 경로(L3)를 단순화시킬 수 있다.
청소 영역의 단순화 작업 이후 청소 로봇(100)은 폐곡선(CL)을 형성하는 라인들의 교점을 특이점으로 저장하고, 각각의 라인들의 벡터 성분을 이용하여 볼록한 모서리와 오목한 모서리의 위치 정보를 최종 저장할 수 있다.
청소 영역을 단순화시킨 이후 청소 로봇(100)은 폐곡선(CL)을 회전 변환한다(1740).
청소 로봇(100)은 최초 주행 위치를 원점으로 하여 주행 기록을 저장하고, 저장된 주행 기록의 위치 정보를 기초로 청소 영역을 설정한다.
예를 들어, 도 1에 도시된 바와 같이 거실(R1, 도 1 참조)의 일측으로부터 비스듬하게 주행을 개시하면, 청소 로봇(100)의 제1 방(R1, 도 1 참조)에 대응되는 제1 청소 영역(A1)은 도 32의 (a)에 도시된 바와 같이 설정된다. 다시 말해, 청소 로봇(100)은 주행 개시 시에 생성한 xy좌표계의 방향에 따라 직사각형 형태의 제1 방(R1, 도 1 참조)에 대응하여 마름모 형태의 폐곡선(CL)을 생성하게 된다.
청소 로봇(100)은 이와 같은 마름모 형태의 폐곡선(CL)을 더욱 단순화시키기 위하여 폐곡선(CL)을 회전 변환한다.
구체적으로, 청소 로봇(100)은 폐곡선(CL)을 형성하는 라인들이 도 32의 (a)에 도시된 x축과 이루는 각도를 획득한다. 이때, 청소 로봇(100)은 주행 개시 시점에 생성한 xy좌표계를 도 32의 (a)에 도시된 바와 같이 각도에 따라 복수의 각도 영역(r1~r12)으로 분할할 수 있다.
이후, 각각의 라인들의 각도가 복수의 각도 영역(r1~r12) 가운데 어느 각도 영역에 속하는지를 판단한다.
도 32의 (a)에 도시된 바에 의하면, 청소 로봇(100)은 폐곡선(CL)의 제1 라인(l1)과 제3 라인(l3)은 제4 각도 영역(r4)에 속하고, 제2 라인(l2)과 제4 라인(l4)은 제10 각도 영역(r10)에 속하는 것으로 판단할 수 있다.
이와 같은 방식으로 청소 로봇(100)은 각각의 각도 영역에 대하여 같은 각도 영역에 속하는 라인들의 길이의 합을 산출한다.
이후, 청소 로봇(100)은 같은 각도 영역에 속하는 라인들의 길이의 합이 가장 큰 각도 영역을 주 각도 영역으로 선정한다.
주 각도 영역을 선정한 이후, 청소 로봇(100)은 주 각도 영역과 수직한 각도 영역에 속하는 라인들의 길이의 합을 산출하고, 그 합이 미리 정해진 기준값 이상인지 판단한다.
주 각도 영영과 수직한 각도 영역에 속하는 라인들의 길이의 합이 기준갑보다 작으면, 청소 로봇(100)은 청소 로봇(100)은 같은 각도 영역에 속하는 라인들의 길이의 합이 두번째로 큰 각도 영역을 주 각도로 다시 선정할 수 있다.
이후, 청소 로봇은 청소 로봇(100)은 다시 주 각도 영역과 수직한 각도 영역에 속하는 라인들의 길이의 합을 산출하고, 그 합이 미리 정해진 기준값 이상인지 판단한다.
주 각도 영역의 선정 시에 그과 수직한 각도 영역을 고려하는 것은, 지나치게 폭이 좁은 청소 영역이 형성되지 않도록 하기 위함이다.
도 32의 (a)의 제1 청소 영역(A1)을 예로 들면, 제4 각도 영역(r4)에 속하는 제1 라인(l1)과 제3 라인(l3)의 길이의 합이 가장 크다. 또한, 제4 각도 영역(r4)과 수직한 제10 각도 영역(r10)에 속한 제2 라인(l2)과 제4 라인(l4)의 합이 기준값 이상이다.
따라서, 청소 로봇(100)은 제4 각도 영역(r4)을 주 각도 영역으로 선정할 수 있다.
주 각도 영역이 선정되면, 청소 로봇(100)은 폐곡선(CL)을 주 각도 영역의 중심 각도만큼 회전 변환시킨다.
예를 들어, 청소 로봇(100)은 도 32의 (a)에 도시된 폐곡선(CL)을 주 각도 영역인 제4 각도 영역(r4)의 중심 각도(52.5도) 만큼 회전 변환시킬 수 있다.
그 결과, 제1 청소 영역(A1)은 도 32의 (b)에 도시된 바와 같이 직사각형 형태로 변환된다.
이후, 청소 로봇(100)은 회전 변환된 청소 영역의 x축 방향 최대값과 최소값, y축 방향 최대값과 최소값을 산출한다. 또한, 청소 로봇(100)은 x축 방향 최대값과 최소값 및 y축 방향 최대값과 최소값을 기초로 직사각형 형태의 최종 청소 영역을 설정한다.
예를 들어, 도 32의 (b)에 도시된 폐곡선은 직사각형 형태를 갖으므로 청소 로봇(100)은 도 32의 (b)에 도시된 폐곡선을 제1 청소 영역(A1)으로 설정할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 단순화된 청소 영역을 설정하기 위하여, 청소 로봇(100)의 주행에 의하여 생성된 폐곡선(CL)을 단순화시킨 이후 청소 로봇(100)은 단순화된 폐곡선(CL)을 청소 영역(A1)으로 설정한다.
청소 영역(A1)이 설정된 이후 청소 로봇(100)는 설정된 청소 영역(A1)의 내부를 청소한다.
도 33은 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 방법을 도시하고, 도 34 내지 도 36는 도 33에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 영역을 청소하는 과정의 일 예를 도시한다.
도 33 내지 도 36를 참조하여, 청소 로봇(100)의 청소 영역 청소 방법(1300)을 설명한다.
청소 로봇(100)는 청소 영역(A1)의 내부를 주행하며 청소한다(1310).
청소 로봇(100)은 다양한 방법으로 청소 영역(A1)의 내부를 청소할 수 있다.
예를 들어, 청소 로봇(100)은 도 34에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역(A1)을 청소할 수 있다.
구체적으로, 청소 로봇(100)는 청소 영역(A1)의 x축을 주축으로 하여 지그재그 주행을 수행할 수 있다.
다시 말해, 청소 로봇(100)은 청소 영역(A1)에 포함된 어느 하나의 오목한 모서리에서 x축 방향(또는 -x축 방향)으로 주행하고, 장애물(O)과 마주치면 y축 방향(또는 -y축 방향)으로 장애물(O)의 외곽선을 따라 이동할 수 있다. 이후, 청소 로봇(100)은 -x축 방향(또는 x축 방향)으로 주행하고, 장애물(O)과 마주치면 y축 방향(또는 -y축 방향)으로 장애물(O)의 외곽선을 따라 이동할 수 있다.
다른 예로, 청소 로봇(100)은 도 35에 도시된 바와 같이 임의의 방향으로 주행하면서 청소 영역(A1)을 청소할 수 있다.
구체적으로, 청소 로봇(100)은 청소 영역(A1) 내부의 임의의 위치에서 임의의 방향으로 주행하고, 장애물(O)과 마주치면 임의의 방향으로 임의의 각도만큼 회전한 이후 주행할 수 있다.
청소 영역의 청소 중에 청소 로봇(100)은 청소 영역에 대한 청소가 완료되었는지를 판단한다(1320).
예를 들어, 도 34에 도시된 바와 같이 청소 로봇(100)이 청소 영역(A1)을 지그재그 주행하는 경우, 청소 로봇(100)는 청소 영역(A1) 내부의 모든 영역을 주행하면 청소 영역(A1)에 대한 청소가 완료된 것으로 판단할 수 있다.
예를 들어, 도 35에 도시된 바와 같이 청소 로봇(100)이 임의의 방향으로 주행하는 경우, 청소 로봇(100)은 미리 정해진 청소 시간이 경과하면 청소 영역(A1)에 대한 청소가 완료된 것으로 판단할 수 있다.
청소 영역에 대한 청소가 완료되지 않은 것으로 판단되면(1320의 아니오), 청소 로봇(100)은 청소 영역에 대한 청소를 계속한다. 또한, 청소 영역에 대한 청소가 완료된 것으로 판단되면(1320의 예), 청소 로봇(100)은 청소 완료 영역을 저장한다(1330).
구체적으로, 청소 로봇(100)은 청소 공간(A) 가운데 청소를 완료한 청소 영역(A1)을 별도로 저장할 수 있다.
이후, 청소 로봇(100)은 출입구를 검출한 위치로 이동한 이후 청소 공간(A)을 주행한다(1340).
예를 들어, 청소 로봇(100)은 청소 영역(A1)에 대한 청소가 완료되면, 청소 로봇(100)은 도 36에 도시된 바와 같이 제1 방(R1)의 출입구를 검출한 위치로 제7 지점(P7)으로 이동할 수 있다.
제7 지점(P7)으로 이동한 청소 로봇(100)은 다시 장애물(O)의 외곽선을 따라 주행하는 외곽선 추종 주행을 수행할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 청소 영역(A1)을 설정한 이후 즉시 청소 영역(A1)을 청소하고, 청소 공간(A)을 계속 주행할 수 있다.
이하에서는 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역을 청소 영역으로 설정하고, 설정된 청소 영역을 청소하는 방법에 대하여 설명한다.
도 37은 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 방법을 도시하고, 도 38 및 도 39는 도 37에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 미청소 영역을 청소하는 과정의 일 예를 도시한다.
청소 로봇(100)은 현재의 위치가 외곽선 추종 주행을 개시한 위치인지를 판단한다(1410).
구체적으로, 청소 로봇(100)은 주행 기록에 포함된 위치 정보를 기초로 현재의 위치가 외곽선 추종 주행을 개시한 위치와 동일한지 판단할 수 있다.
청소 로봇(100)의 현재 위치와 외곽선 추종 주행을 개시한 위치가 동일한 경우, 청소 로봇(100)은 청소 공간(A)에 포함된 모든 영역을 주행한 것으로 판단할 수 있다.
구체적으로, 청소 로봇(100)은 도 38에 도시된 바와 같이 청소 로봇(100)이 청소 공간(A)의 모든 외곽선을 따라 주행할 것으로 판단할 수 있다.
청소 로봇(100)의 현재 위치가 외곽선 추종 주행을 개시한 위치와 동일하면(1410의 예), 청소 로봇(100)은 미청소 영역을 판단한다(1420).
앞서 설명한 바와 같이 청소 로봇(100)은 청소 공간(A)을 주행하는 중에 실시간으로 청소 영역(A1, A2)을 설정하고, 설정된 청소 영역(A1, A2)을 우선 청소한다.
구체적으로, 청소 로봇(100)은 출입구를 판단하고, 청소 영역(A1, A2)을 형성하는 장애물(O)의 외곽선과 출입구를 연결하는 폐곡선(CL)을 생성하고, 생성된 폐곡선(CN)을 기초로 청소 영역(A1, A2)을 설정한다. 또한, 청소 로봇(100)은 다른 영역의 주행에 앞서 청소 영역(A1, A2)을 우선 청소하고, 청소가 완료된 청소 영역(A1, A2)을 저장한다.
그 결과, 청소 로봇(100)이 청소 공간(A)을 모두 주행하기 전까지 청소 로봇(100)이 최초 외곽선 추종 주행을 개시한 영역에는 청소 영역이 설정되지 않다.
따라서, 청소 공간(A)을 모두 주행한 이후, 청소 로봇(100)은 청소 로봇(100)은 청소 공간(A) 가운데 청소가 완료된 영역을 제외한 영역을 미청소 영역으로 판단할 수 있다.
예를 들어, 도 38에 도시된 바와 같이 청소 로봇(100)이 거실(R3)에서 외곽선 추종 주행을 개시한 경우, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행하는 동안 제1 방(R1)과 제2 방(R2)에 대하여 제1 청소 영역(A1) 및 제2 청소 영역(A2)을 설정하고, 제1 청소 영역(A1)과 제2 청소 영역(A2)을 청소한다.
이후, 청소 로봇(100)이 청소 공간(A)을 계속 주행하면, 청소 로봇(100)은 최초 외곽선 추종 주행을 개시한 위치에 도달할 수 있다.
그 결과, 청소 로봇(100)에는 도 38에 도시된 바와 같이 청소가 완료된 제1 청소 영역(A1) 및 제2 청소 영역(A3), 거실(R3)의 외곽선에 대응되는 폐곡선(CL)으로 구성된 청소 공간(A)의 맵이 저장된다.
또한, 청소 로봇(100)은 폐곡선(CL)의 내부를 청소가 완료되지 않는 영역으로 판단할 수 있다.
미청소 영역을 판단한 이후, 청소 로봇(100)은 미청소 영역에 대응하는 청소 영역을 설정한다(1430).
구체적으로, 미청소 영역에 대한 청소 영역을 설정하기 위하여 청소 로봇(100)은 앞서 설명한 바와 같이 미청소 영역에 대응하는 폐곡선(CL)을 직선 모델링하고, 단순화시키고, 회전 변환시킨다.
그 결과, 도 39에 도시된 바와 같이 미청소 영역(R3)에 대한 청소 영역(A3)이 설정된다.
청소 영역을 설정한 이후, 청소 로봇(100)은 설정된 청소 영역 내부를 청소한다(1430).
청소 로봇(100)은 다양한 방법으로 청소 영역(A3)의 내부를 청소할 수 있다.
예를 들어, 청소 로봇(100)은 도 39에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역(A3)을 청소할 수 있다.
청소 영역의 청소 중에 청소 로봇(100)은 청소 로봇(100)은 청소 영역에 대한 청소가 완료되었는지를 판단한다(1450).
예를 들어, 도 39에 도시된 바와 같이 청소 로봇(100)이 청소 영역(A3)을 지그재그 주행하는 경우, 청소 로봇(100)는 청소 영역(A3) 내부의 모든 영역을 주행하면 청소 영역(A3)에 대한 청소가 완료된 것으로 판단할 수 있다.
모든 청소 영역에 대한 청소가 완료되지 않은 것으로 판단되면(1450의 아니오), 청소 로봇(100)은 청소 영역에 대한 청소를 계속한다.
또한, 청소 영역에 대한 청소가 완료된 것으로 판단되면(1450의 예), 청소 로봇(100)은 충전 스테이션으로 복귀한다(1460).
청소 공간(A)을 모두 주행한 이후 미청소 영역을 청소하면, 청소 로봇(100)은 청소 공간(A) 내부의 모든 영역을 청소한 것으로 판단할 수 있다.
따라서, 청소 로봇(100)은 배터리 충전을 위하여 충전 스테이션으로 복귀할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후, 청소되지 않는 영역을 청소 영역으로 설정하고, 모든 청소 영역을 청소한 이후 충전 스테이션으로 복귀한다.
이상에서는 청소 로봇(100)이 장애물 감지부(140)를 이용하여 청소 공간(A)의 외곽선을 따라 주행하고, 주행 중에 출입구가 발견되면 주행 기록을 기초로 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소하는 방법에 관하여 설명하였다.
다만, 청소 로봇(100)이 주행 중에 출입구를 발견하고 청소 영역을 설정하기 위하여 장애물 감지부(140)를 이용하는 것에 한정되는 것은 아니다.
이하에서는 청소 로봇이 동일한 경로를 반복 주행하는 등의 비정상적인 주행여부를 판단하고, 비정상적인 주행이 판단되면 비정상적인 주행으로부터 벗어나는 방법에 대하여 설명한다.
도 40은 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는지 판단하는 방법을 도시하고, 도 41 및 도 42는 일 실시예에 의한 청소 로봇이 동일한 경로를 반복 주행하는 일 예를 도시한다.
도 40, 도 41 및 도 42를 참조하여, 청소 로봇(100)의 비정상적인 주행 이탈 방법(3000)을 설명한다.
주행 중에 청소 로봇(100)는 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단한다(3010).
청소 로봇(100)은 다양한 이유로 동일한 경로를 반복 주행할 수 있다. 예를 들어, 청소 로봇(100)이 청소 공간(A)의 한복판에 위치하는 장애물(O1)을 감지하면, 청소 로봇(100)은 장애물(O1)의 외곽을 따라 반복적으로 주행할 수 있다.
구체적으로, 도 41에 도시된 바와 같이 외벽(OW)에 의하여 형성된 청소 공간(A)이 내벽(IW)에 의하여 제1 방(R1)과 제2 방(R2)으로 구분될 수 있다. 이와 같이 청소 공간(A)이 제1 방(R1)과 제2 방(R2)으로 구분되고 제1 출입구(E1)에 의하여 제1 방(R1)과 제2 방(R2)이 연결되는 경우, 청소 로봇(100)은 도 11에 도시된 청소 동작(1000, 도 11 참조)에 따라 제1 출입구(E1)를 발견하고, 제1 방(R1)을 우선 청소할 수 있다.
이후, 청소 로봇(100)은 외벽(OW)을 따라 이동하는 중에 이동 가능한 제2 장애물(O2)을 발견하고, 제2 장애물(O2)의 외곽선을 따라 이동할 수 있다. 제2 장애물(O2)의 외곽선을 따라 이동 중에 고정된 제1 장애물(O1)을 발견하고, 제1 장애물(O1)의 외곽선을 따라 이동할 수 있다.
청소 로봇(100)이 제1 장애물(O1)의 외곽선을 따라 이동 중에 도 42에 도시된 바와 같이 제2 장애물(O2)이 제거되면, 청소 로봇(100)는 제1 장애물(O1)의 외곽선을 따라 주행한다. 다시 말해, 청소 로봇(100)은 제1 장애물(O1)로부터 벗어나지 못한다.
이처럼, 청소 로봇(100)이 다른 장애물 또는 벽면과 인접하지 않는(고립된) 장애물(O1)의 외곽선을 따라 주행하는 경우, 청소 로봇(100)은 전원부(미도시)에 저장된 에너지가 모두 소모될 때까지 장애물(O1)의 외곽선을 따라 주행할 뿐 청소 공간(A)을 청소하지 못할 수 있다.
이와 같이 청소 로봇(100)이 고립된 장애물(O1)로부터 벗어나기 위하여, 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행하는지를 판단한다.
청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보와 주행 기록의 위치 정보를 기초로 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단할 수 있다. 앞서 설명한 바와 같이 청소 로봇(100)은 주행 중에 청소 로봇(100)의 주행 기록을 저장한다. 구체적으로, 청소 로봇(100)은 미리 정해진 시간 간격마다 청소 로봇(100)의 위치를 나타내는 위치 정보, 청소 로봇(100)의 주행 속도, 주행 방향 등을 나타내는 주행 정보, 청소 로봇(100)이 추종하는 장애물(O)의 외곽선의 특징을 나타내는 외곽선 정보를 저장할 수 있다.
또한, 청소 로봇(100)은 현재 획득된 위치 정보와 주행 기록의 위치 정보를 비교하고, 비교 결과에 따라 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단할 수 있다. 예를 들어, 청소 로봇(100)은 현재 획득된 위치 정보를 기초로 주행 기록을 검색하고, 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 동일한 경로를 반복 주행하는 것으로 판단할 수 있으며, 현재 획득된 위치 정보와 동일한 위치 정보가 발견되지 않으면 청소 로봇(100)은 동일한 경로를 반복 주행하지 않는 것으로 판단할 수 있다.
청소 로봇(100)이 동일한 경로를 반복 주행하지 않는 것으로 판단되면(3010의 아니오), 청소 로봇(100)은 주행을 계속 수행한다.
반면, 청소 로봇(100)이 동일한 경로를 반복 주행하는 것으로 판단되면(3010의 예), 청소 로봇(100)은 미리 정해진 기준 위치로 이동한다(3020).
구체적으로, 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행하기 이전의 위치로 이동할 수 있다. 예를 들어, 도 42에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)을 청소한 이후 동일한 경로를 반복 주행하는 경우, 청소 로봇(100)은 제1 방(R1)의 제1 출입구(E1)의 일단(P1)으로 이동할 수 있다.
또한, 청소 로봇(100)이 이동할 기준 위치는 청소 로봇(100)이 주행함에 따라 달라질 수 있다. 예를 들어, 청소 로봇(100)이 제1 방(R1)을 청소하기 이전의 기준 위치와 청소 로봇(100)이 제1 방(R1)을 청소한 이후의 기준 위치는 상이할 수 있다.
기준 위치로 이동한 이후, 청소 로봇(100)은 기준 위치에서부터 다시 주행한다(3030).
구체적으로, 청소 로봇(100)은 기준 위치로부터 장애물 또는 벽면의 외곽선을 따라 주행할 수 있다.
또한, 청소 로봇(100)은 반복 주행 중의 주행 기록을 삭제할 수 있다. 예를 들어, 도 42에 도시된 바와 같이 청소 로봇(100)이 제1 장애물(O1)의 외곽선을 따라 반복 주행한 경우, 청소 로봇(100)은 제1 장애물(O1)의 외곽선을 따라 주행 중에 저장한 주행 기록을 삭제할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 동일한 경로를 반복 주행하는지를 판단하고, 반복 주행으로 판단되면 미리 정해진 기준 위치로 이동할 수 있다. 이처럼, 미리 정해진 기준 위치로 이동함으로써, 청소 로봇(100)은 동일한 경로를 반복 주행하는 것으로부터 벗어날 수 있다.
이하에서는 청소 로봇(100)이 반복 주행으로부터 벗어나는 구체적인 방법에 대하여 설명한다.
도 43은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 일 예를 도시하고, 도 44는 도 43에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 43 및 도 44를 참조하여, 청소 로봇(100)이 반복 주행으로부터 벗어나는 방법(3100)의 일 예를 설명한다.
청소 로봇(100)은 현재 청소 로봇(100)의 위치가 이전에 청소 로봇(100)이 주행한 위치와 동일한지 판단한다(3110).
구체적으로, 청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보를 기초로 주행 기록을 검색한다. 주행 기록에서 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 현재 위치 정보와 주행 기록의 위치 정보가 동일한 것으로 판단할 수 있다.
현재 위치 정보와 주행 기록의 위치 정보가 동일하지 않으면(3110의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.
반면, 현재 위치 정보와 주행 기록의 위치 정보가 동일하면(3110의 예), 청소 로봇(100)은 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상인지를 판단한다(3120).
청소 로봇(100)이 동일한 위치를 다시 통과하더라도 반드시 청소 로봇(100)이 동일한 경로를 반복 주행하는 것은 아니다. 예를 들어, 청소 로봇(100)이 이미 주행한 경로를 교차하여 주행하는 경우, 청소 로봇(100)은 동일할 위치를 다시 주행하지만 청소 로봇(100)이 동일한 경로를 반복 주행하는 것은 아니다.
이러한 이유로, 청소 로봇(100)은 동일한 위치를 다시 통과하면, 청소 로봇(100)은 현재의 주행 각도(주행 방향을 나타냄)과 이전의 주행 각도(주행 방향의 나타냄) 사이의 차이를 산출하고, 산출된 차이의 절대값과 미리 정해진 각도를 비교한다. 이때, 미리 정해진 각도는 360도, 720도, 1080도 등으로 정할 수 있다.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 누적 주행 각도를 입력 받는다. 앞서 설명한 바와 같이 청소 로봇(100)은 움직임 검출부(130)를 통하여 주행 중에 순간 주행 각도와 누적 주행 각도를 저장할 수 있다. 이때, 제어부(110)는 움직임 검출부(130)로부터 현재의 누적 주행 각도를 획득할 수 있다.
또한, 청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록으로부터 이전 주행의 누적 주행 각도를 획득할 수 있다. 다시 말해, 제어부(110)는 청소 로봇(100)이 현재의 위치와 동일한 위치를 주행할 때 청소 로봇(100)의 누적 주행 각도를 획득할 수 있다.
이후, 제어부(110)는 현재 주행의 누적 주행 각도와 이전 주행의 누적 주행 각도 사이의 차이를 산출한다. 만일, 청소 로봇(100)이 동일한 경로를 반복 주행하는 경우, 현재의 누적 주행 각도와 이전의 누적 주행 각도 사이의 차이는 ㅁ360도, ㅁ720도, ㅁ 1080도 등이 될 수 있다.
예를 들어, 도 42에 도시된 바와 같이 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 주행하는 경우, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하여 이전과 동일한 위치로 이동할 수 있다. 이처럼 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하면, 청소 로봇(100)의 회전 변위는 청소 로봇(100)이 제자리에서 1회 회전한 것과 같다. 다시 말해, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하면, 청소 로봇(100)의 누적 주행 각도는 360도 증가하거나 360도 감소한다. 따라서, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 1회 주행하면, 주행 전과 후 사이의 누적 주행 각도의 차이는 ㅁ360도가 된다.
또한, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 2회 주행하면, 주행 전과 후 사이의 누적 주행 각도의 차이는 ㅁ720도가 되고, 청소 로봇(100)이 장애물(O1)의 외곽선을 따라 3회 주행하면, 주행 전과 후 사이의 누적 주행 각도의 차이는 ㅁ1080도가 된다.
결국, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 360도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 720도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 1080도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전한 것으로 판단할 수 있다.
미리 정해진 각도를 360도로 정하면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전하였는지를 판단할 수 있고, 미리 정해진 각도를 720도로 정하면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 회전하였는지를 판단할 수 있다. 또한, 미리 정해진 각도를 1080도로 정하면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전하였는지를 판단할 수 있다.
다시 말해, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도(360도, 720도, 1080도 등) 이상이면 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단할 수 있다.
추가적으로, 청소 로봇(100)이 동일한 경로를 반복 주행하는지 더욱 확실하게 판단하기 위하여, 청소 로봇(100)은 현재의 주행 거리와 이전의 주행 거리 사이의 차이를 산출하고, 산출된 차이와 미리 정해진 거리를 비교할 수 있다.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 주행 거리를 입력받고, 메모리(115)에 저장된 주행 기록으로부터 이전의 주행 거리를 획득할 수 있다. 이후, 제어부(110)는 현재의 주행 거리와 이전의 주행 거리 사이의 차이를 산출하고, 산출된 차이가 미리 정해진 거리 이하이면 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단하고, 산출된 차이가 미리 정해진 거리보다 크면 청소 로봇(100)이 동일한 경로를 반복 주행하지 않는 것으로 판단할 수 있다.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도보다 작으면(3120의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.
반면, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면(3120의 예), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구를 향하여 이동한다(3130).
앞서 설명한 바와 같이 청소 로봇(100)이 동일한 위치를 다시 통과하고, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면, 청소 로봇(100)은 동일한 경로를 반복 주행한 것으로 판단할 수 있다.
이처럼, 청소 로봇(100)이 동일한 경로를 반복 주행하는 것으로 판단되면, 청소 로봇(100)은 미리 정해진 기준 위치로 이동한다. 이때 기준 위치는 가장 최근에 청소한 청소 영역의 출입구가 될 수 있다.
앞서 설명한 바와 같이 청소 로봇(100)은 출입구를 발견하면, 출입구를 기초로 청소 영역을 설정하고, 설정된 청소 영역에 대하여 청소를 수행한다. 따라서, 청소를 수행한 청소 영역의 출입구는 새로운 청소 영역을 설정하기 위한 출발점이 된다. 다시 말해, 가장 최근에 청소한 청소 영역의 출입구는 반복 주행하기 이전 주행의 출발점이 된다.
따라서, 청소 로봇(100)은 반복 주행하기 이전 주행의 출발점인 청소 영역의 출입구의 일단으로 이동할 수 있다.
예를 들어, 청소 로봇(100)이 제1 방(R1)을 청소한 이후 반복 주행을 수행한 경우, 도 44에 도시된 바와 같이 청소 로봇(100)은 제1 방(R1)의 출입구인 제1 출입구(E1)의 일단(P1)을 향하여 이동할 수 있다.
제1 출입구(E1)의 일단(P1)에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제할 수 있다. 구체적으로, 청소 로봇(100)은 제1 방(R1)의 청소를 완료한 이후 제1 출입구(E1)의 일단(P1)에 도달하기까지의 주행 기록을 모두 삭제할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 위치 정보와 주행 방향 정보를 기초로 청소 로봇(100)이 동일한 경로를 반복 주행하는지 판단하고, 동일한 경로를 반복 주행하는 것으로 판단되면 가장 최근에 청소된 청소 영역의 출입구로 이동할 수 있다. 이로써, 청소 로봇(100)은 반복 주행으로부터 벗어날 수 있다.
도 45는 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 다른 일 예를 도시하고, 도 46 및 도 47은 도 45에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 45, 도 46 및 도 47를 참조하여, 청소 로봇(100)이 반복 주행으로부터 벗어나는 방법(3200)의 다른 일 예를 설명한다.
청소 로봇(100)은 현재 청소 로봇(100)의 위치가 이전에 청소 로봇(100)이 주행한 위치와 동일한지 판단한다(3210).
구체적으로, 청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보를 기초로 주행 기록을 검색한다. 주행 기록에서 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 현재의 위치와 이전의 위치가 동일한 것으로 판단할 수 있다.
현재 위치 정보와 주행 기록의 위치 정보가 동일하지 않으면(3210의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.
반면, 현재 위치 정보와 주행 기록의 위치 정보가 동일하면(3210의 예), 청소 로봇(100)은 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상인지를 판단한다(3220). 이때, 미리 정해진 각도는 360도, 720도, 1080도 등으로 정할 수 있다.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 누적 주행 각도를 입력 받는다. 앞서 설명한 바와 같이 청소 로봇(100)은 움직임 검출부(130)를 통하여 주행 중에 순간 주행 각도와 누적 주행 각도를 저장할 수 있다. 이때, 제어부(110)는 움직임 검출부(130)로부터 현재의 누적 주행 각도를 획득할 수 있다.
또한, 청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록으로부터 이전 주행의 누적 주행 각도를 획득할 수 있다. 다시 말해, 제어부(110)는 청소 로봇(100)이 현재의 위치와 동일한 위치를 주행할 때 청소 로봇(100)의 누적 주행 각도를 획득할 수 있다.
이후, 제어부(110)는 현재 주행의 누적 주행 각도와 이전 주행의 누적 주행 각도 사이의 차이를 산출한다. 만일, 청소 로봇(100)이 동일한 경로를 반복 주행하는 경우, 현재의 누적 주행 각도와 이전의 누적 주행 각도 사이의 차이는 ㅁ360도, ㅁ720도, ㅁ 1080도 등이 될 수 있다.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 360도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 720도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 1080도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전한 것으로 판단할 수 있다.
다시 말해, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도(360도, 720도, 1080도 등) 이상이면 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단할 수 있다.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도보다 작으면(3220의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.
반면, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면(3220의 예), 청소 로봇(100)은 청소를 수행한 청소 영역이 있는지를 판단한다(3230).
구체적으로, 청소 로봇(100)은 청소 로봇(100)의 주행 기록 및 청소 기록 등을 기초로 청소가 완료된 청소 영역이 있는지 판단할 수 있다. 앞서 설명한 바와 같이 청소 로봇(100)은 청소 영역이 설정되면 설정된 청소 영역에 식별 코드를 부여하고, 청소 영역의 청소가 완료되면 청소 영역의 식별 코드를 청소 기록으로 저장할 수 있다. 따라서, 청소 로봇(100)은 청소 기록을 기초로 청소가 완료된 청소 영역의 존부, 청소가 완료된 청소 영역의 위치, 청소가 완료된 청소 영역의 출입구의 위치 등을 획득할 수 있다.
청소를 수행한 청소 영역이 존재하면(3230의 예), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구를 향하여 이동한다(3240).
청소 로봇(100)이 동일한 경로를 반복 주행하는 것으로 판단되면, 청소 로봇(100)은 미리 정해진 기준 위치로 이동한다. 이때 기준 위치는 가장 최근에 청소한 청소 영역의 출입구가 될 수 있다. 따라서, 청소 로봇(100)은 가장 최근에 청소된 청소 영역의 출입구의 일단으로 이동할 수 있다.
또한, 가장 최근에 청소된 청소 영역의 출입구의 일단에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제하고, 주행을 재시작할 수 있다.
청소를 수행한 청소 영역이 존재하지 않으면(3230의 아니오), 청소 로봇(100)은 미리 정해진 방향으로 이동한다(3250).
청소를 수행한 청소 영역이 존재하지 않는 경우, 청소 영역의 출입구를 설정하기 못하였으므로 청소 로봇(100)이 이동할 기준 위치는 주행을 개시한 출발점이 될 수 있다. 그러나, 주행을 개시한 출발점에서 다시 주행을 개시할 경우, 청소 로봇(100)은 다시 동일한 경로를 반복 주행할 수 있다.
예를 들어, 도 46에 도시된 바와 같이 청소 로봇(100)이 주행을 개시한 이후 최초로 감지한 장애물(O)이 고립된 장애물(O1)인 경우, 청소 로봇(100)이 청소를 수행한 청소 영역이 존재하지 않는다. 이때, 청소 로봇(100)이 출발점으로부터 다시 주행을 개시하면, 청소 로봇(100)은 다시 고립된 장애물(O1)의 외곽선을 따라 동일한 경로를 반복 주행한다.
이를 방지하기 위하여, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 미리 정해진 방향으로 이동할 수 있다.
예를 들어, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 도 47에 도시된 바와 같이 즉시 장애물(O1)의 반대 방향으로 45도 회전한 이후 직전 주행할 수 있다. 또한, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 이전의 주행 기록을 모두 삭제할 수 있다.
이상에서 설명한 바와 같이, 청소 로봇(100)이 동일한 경로를 반복 주행하고, 이전에 청소한 청소 영역이 없는 경우, 청소 로봇(100)은 즉시 미리 정해진 방향으로 이동할 수 있다. 이로써, 청소 로봇(100)은 반복 주행으로부터 벗어날 수 있다.
도 48은 일 실시예에 의한 청소 로봇이 반복 주행으로부터 벗어나는 방법의 또 다른 일 예를 도시하고, 도 49 내지 도 52는 도 48에 도시된 방법에 따라 청소 로봇이 주행하는 일 예를 도시한다.
도 48 내지 도 52를 참조하여, 청소 로봇(100)이 반복 주행으로부터 벗어나는 방법(3300)의 또 다른 일 예를 설명한다.
청소 로봇(100)은 현재 청소 로봇(100)의 위치가 이전에 청소 로봇(100)이 주행한 위치와 동일한지 판단한다(3310).
구체적으로, 청소 로봇(100)은 움직임 검출부(130)를 통하여 청소 로봇(100)의 현재 위치 정보를 획득하고, 현재 획득된 위치 정보를 기초로 주행 기록을 검색한다. 주행 기록에서 현재 획득된 위치 정보와 동일한 위치 정보가 발견되면 청소 로봇(100)은 현재의 위치와 이전의 위치가 동일한 것으로 판단할 수 있다.
현재 위치 정보와 주행 기록의 위치 정보가 동일하지 않으면(3310의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.
반면, 현재 위치 정보와 주행 기록의 위치 정보가 동일하면(3210의 예), 청소 로봇(100)은 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상인지를 판단한다(3320). 이때, 미리 정해진 각도는 360도, 720도, 1080도 등으로 정할 수 있다.
구체적으로, 청소 로봇(100)의 제어부(110)는 움직임 검출부(130)로부터 누적 주행 각도를 입력 받는다. 앞서 설명한 바와 같이 청소 로봇(100)은 움직임 검출부(130)를 통하여 주행 중에 순간 주행 각도와 누적 주행 각도를 저장할 수 있다. 이때, 제어부(110)는 움직임 검출부(130)로부터 현재의 누적 주행 각도를 획득할 수 있다.
또한, 청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록으로부터 이전 주행의 누적 주행 각도를 획득할 수 있다. 다시 말해, 제어부(110)는 청소 로봇(100)이 현재의 위치와 동일한 위치를 주행할 때 청소 로봇(100)의 누적 주행 각도를 획득할 수 있다.
이후, 제어부(110)는 현재 주행의 누적 주행 각도와 이전 주행의 누적 주행 각도 사이의 차이를 산출한다. 만일, 청소 로봇(100)이 동일한 경로를 반복 주행하는 경우, 현재의 누적 주행 각도와 이전의 누적 주행 각도 사이의 차이는 ㅁ360도, ㅁ720도, ㅁ 1080도 등이 될 수 있다.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 360도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 1회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 720도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 2회 이상 회전한 것으로 판단할 수 있다. 또한, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 1080도 이상이면, 청소 로봇(100)은 청소 로봇(100)이 고립된 장애물(O1)의 외곽선을 따라 3회 이상 회전한 것으로 판단할 수 있다.
다시 말해, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도(360도, 720도, 1080도 등) 이상이면 청소 로봇(100)은 청소 로봇(100)이 동일한 경로를 반복 주행한 것으로 판단할 수 있다.
현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도보다 작으면(3320의 아니오), 청소 로봇(100)은 현재의 주행을 계속한다.
반면, 현재의 주행 각도(방향)과 이전의 주행 각도(방향) 사이의 차이의 절대값이 미리 정해진 각도 이상이면(3320의 예), 청소 로봇(100)은 청소를 수행한 청소 영역이 있는지를 판단한다(3330).
구체적으로, 청소 로봇(100)은 청소 로봇(100)의 주행 기록 및 청소 기록 등을 기초로 청소가 완료된 청소 영역이 있는지 판단할 수 있다. 앞서 설명한 바와 같이 청소 로봇(100)은 청소 영역이 설정되면 설정된 청소 영역에 식별 코드를 부여하고, 청소 영역의 청소가 완료되면 청소 영역의 식별 코드를 청소 기록으로 저장할 수 있다. 따라서, 청소 로봇(100)은 청소 기록을 기초로 청소가 완료된 청소 영역의 존부, 청소가 완료된 청소 영역의 위치, 청소가 완료된 청소 영역의 출입구의 위치 등을 획득할 수 있다.
청소를 수행한 청소 영역이 존재하지 않으면(3330의 아니오), 청소 로봇(100)은 미리 정해진 방향으로 이동한다(3340).
청소를 수행한 청소 영역이 존재하지 않는 경우, 청소 영역의 출입구를 설정하기 못하였으므로 청소 로봇(100)이 이동할 기준 위치는 주행을 개시한 출발점이 될 수 있다. 그러나, 주행을 개시한 출발점에서 다시 주행을 개시할 경우, 청소 로봇(100)은 다시 동일한 경로를 반복 주행할 수 있다.
이를 방지하기 위하여, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 미리 정해진 방향으로 이동할 수 있다. 또한, 동일한 경로를 반복 주행하는 것으로 판단되면 청소 로봇(100)은 이전의 주행 기록을 모두 삭제할 수 있다.
청소를 수행한 청소 영역이 존재하면(3330의 예), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되는지를 판단한다(3350).
청소를 수행한 청소 영역이 존재하면, 청소 로봇(100)은 청소 영역의 출입구의 일단을 기준 위치로 정하고, 기준 위치를 향하여 이동할 수 있다. 그러나, 기준 위치가 반복 주행 경로에 포함된 경우, 청소 로봇(100)이 기준 위치로 이동하더라도 청소 로봇(100)은 반복 주행을 계속하게 된다.
예를 들어, 도 49에 도시된 바와 같이 제1 방(R1)을 청소한 청소 로봇(100)은 외벽(OW), 이동 가능한 제3 장애물(O3) 및 고정된 제1 장애물(O1)을 따라 이동할 수 있다.
이때, 제1 장애물(O1)의 외곽선을 따라 이동 중에 청소 로봇(100)이 제1 장애물(O1)의 볼록한 모서리에 해당하는 제2 위치(P2)에 도달하면, 청소 로봇(100)은 제2 위치(P2)와 내벽(IW) 사이를 제2 출입구(E2)로 판단할 수 있다. 구체적으로, 제2 위치(P2)는 볼록한 모서리에 해당하고, 제2 위치(P2)의 반대 편에는 내벽(IW)이 위치하므로, 청소 로봇(100)는 제2 위치(P2)와 내벽(IW) 사이를 제2 출입구(E2)로 판단할 수 있다.
도 50에 도시된 바와 같이 청소 로봇(100)은 제3 장애물(O3) 및 제1 장애물(O1)에 의하여 구획되는 제2 방(R2)의 일부(R2-2)를 청소 영역으로 설정하고, 제2 방(R2)의 일부(R2-2)를 청소할 수 있다. 이후, 청소 로봇(100)은 다시 제1 장애물(O1)의 외곽선을 따라 주행할 수 있다.
청소 로봇(100)이 제1 장애물(O1)의 외곽선을 따라 주행하는 중에 제3 장애물(O3)이 제거되면, 도 51에 도시된 바와 같이 청소 로봇(100)은 제1 장애물(O1)의 외곽선을 따라 반복 주행한다.
청소 로봇(100)은 앞서 설명한 3310 및 3320 단계를 통하여 동일한 경로에 대한 반복 주행을 판단하고, 기준 위치로 이동할 수 있다.
그러나, 기준 위치에 해당하는 제2 출입구(E2)의 일단(P2)은 제1 장애물(O1)의 외곽선에 포함된다. 다시 말해, 기준 위치가 반복 주행의 경로에 포함된다. 따라서, 청소 로봇(100)이 기준 위치인 제2 출입구(E2)의 일단(P2)으로 이동하더라도 청소 로봇(100)은 다시 제1 장애물(O1)의 외곽선을 따라 반복 주행하게 된다.
이러한 동작을 방지하기 위하여, 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되는지를 판단할 수 있다.
청소 로봇(100)의 제어부(110)는 메모리(115)에 저장된 주행 기록을 이용하여 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되었는지를 판단할 수 있다.
구체적으로, 청소 로봇(100)은 동일한 경로를 반복 주행하는 것으로 판단되면, 주행 기록으로부터 반복 주행 경로를 추출한다. 다시 말해, 청소 로봇(100)이 이전 주행 위치와 동일한 위치를 주행하면, 청소 로봇(100)은 이전 주행 시점과 현재 주행 시점 사이에 청소 로봇(100)이 주행한 주행 경로를 판단한다.
이후, 청소 로봇(100)은 반복 주행 경로와 청소 영역의 출입구의 일단의 위치를 비교함으로써 반복 주행 경로에 가장 최근에 청소한 청소 영역의 출입구의 일단이 포함되는지를 판단할 수 있다.
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되지 않으면(3350의 아니오), 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구를 향하여 이동한다(3360).
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되지 않으면, 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단으로 이동하면 반복 주행으로부터 벗어날 것으로 판단할 수 있다. 따라서, 반복 주행으로부터 벗어나기 위하여 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단으로 이동한다.
또한, 가장 최근에 청소된 청소 영역의 출입구의 일단에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제하고, 주행을 재시작할 수 있다.
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되면(3350의 예), 청소 로봇(100)은 2번째로 최근에 청소한 청소 영역의 출입구를 향하여 이동한다
가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함되면, 청소 로봇(100)은 가장 최근에 청소한 청소 영역의 출입구의 일단으로 이동하면 반복 주행이 계속될 것으로 판단할 수 있다. 따라서, 반복 주행으로부터 벗어나기 위하여 청소 로봇(100)은 2번째로 최근에 청소한 청소 영역의 출입구의 일단으로 이동한다.
예를 들어, 도 52에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)을 청소한 이후 제2 방의 일부(R2-2)를 청소하고, 제1 장애물(O1)의 외곽선을 따라 반복 주행할 수 있다. 이때, 제2 방의 일부(R2-2)의 제2 출입구(E2)의 일단(P2)는 반복 주행 경로에 포함되므로, 청소 로봇(100)는 제1 방(R1)의 제1 출입구(E1)의 일단(P1)으로 이동할 수 있다.
또한, 2번째로 최근에 청소된 청소 영역의 출입구의 일단에 도달하면, 청소 로봇(100)은 반복 주행으로 인한 주행의 주행 기록을 모두 삭제하고, 주행을 재시작할 수 있다.
이상에서 설명한 바와 같이, 청소 로봇(100)이 동일한 경로를 반복 주행하고, 가장 최근에 청소한 청소 영역의 출입구의 일단이 반복 주행 경로에 포함된 경우, 청소 로봇(100)은 2번째로 최근에 청소된 청소 영역의 출입구의 일단으로 이동할 수 있다. 이로써, 청소 로봇(100)은 반복 주행으로부터 벗어날 수 있다.
이하에서는 청소 로봇(100)이 주행 중에 출입구를 발견하고 청소 영역을 설정하는 다른 일 예에 대하여 설명한다.
도 53은 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 53을 참조하면, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170), 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110) 및 청소 로봇(100) 주변의 영상을 획득하는 영상 획득부(191)를 포함할 수 있다.
유저 인터페이스(120), 움직임 검출부(130), 장애물 감지부(140), 주행부(160), 청소부(170) 및 제어부(180)는 앞서 도 10과 함께 설명한 일 실시예에 의한 청소 로봇(100)의 구성과 동일하다.
다만, 다른 일 실시예에 의한 청소 로봇(100)은 도 53에 도시된 바와 같이 영상 획득부(191)를 더 포함한다.
영상 획득부(191)는 청소 로봇(100) 상방 즉 천장의 영상을 획득하는 상방 카메라 모듈(191a)와 청소 로봇(100) 전방의 영상을 획득하는 전방 카메라 모듈(191b)를 포함할 수 있다.
상방 카메라 모듈(191a)는 청소 로봇(100)의 상면에 마련되어 청소 로봇(100)의 상방(上方) 영상 즉 청소 공간의 천장의 3차원 영상을 획득하는 3차원 카메라와 3차원 카메라가 획득한 영상을 영상 처리하는 그래픽 프로세서를 포함할 수 있다. 이와 같은 그래픽 프로세서는 3차원 카메라가 획득한 영상의 크기 또는 해상도를 변경하는 등의 간단한 영상 처리를 수행할 수 있다.
3차원 영상은 촬영 대상의 2차원 영상과 촬영 대상까지의 거리 정보를 포함하며, 이와 같은 3차원 카메라는 스테레오 카메라 모듈 또는 깊이 센서 모듈 등을 채용할 수 있다.
스테레오 카메라 모듈은 한 쌍의 2차원 카메라를 포함하고, 한 쌍의 2차원 카메라가 획득한 영상의 차이를 이용하여 촬영된 대상의 거리 정보를 산출한다. 또한 스테레오 카메라 모듈은 한 쌍의 2차원 카메라가 획득한 영상 중 어느 하나와 촬영된 대상의 거리 정보를 출력한다.
깊이 센서 모듈은 촬영 대상의 영상을 획득하는 2차원 카메라와 촬영 대상을 향하여 적외선을 조사하고 촬영 대상에서 반사되는 적외선의 크기를 검출함으로써 촬영 대상까지의 거리를 측정하는 적외선 센서를 포함한다. 또한, 깊이 센서 모듈은 2차원 카메라가 획득한 영상과 적외선 센서가 획득한 거리 정보를 출력한다.
전방 카메라 모듈(191b)는 청소 로봇(100)의 전면에 마련되어 청소 로봇(100)의 전방(前方) 3차원 영상을 획득하는 3차원 카메라와 3차원 카메라가 획득한 3차원 영상을 영상 처리하는 그래픽 프로세서를 포함할 수 있다.
도 54은 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시하고, 도 55 내지 도 59는 도 54에 도시된 방법에 따라 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 일 예를 도시한다.
도 54 내지 도 59을 참조하여 청소 로봇(100)의 청소 방법(2000)을 설명한다.
청소 로봇(100)은 청소 공간(A)을 주행한다(2010).
구체적으로, 청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다.
다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.
주행 중에 청소 로봇(100)은 전방 카메라 모듈(191b)를 이용하여 출입구를 검출한다(2020).
청소 로봇(100)은 미리 정해진 주기마다 전방 카메라 모듈(191b)을 이용하여 청소 로봇(100) 전방의 영상을 획득하고, 전방 영상으로부터 영상 특징(image feature)을 추출하고, 추출된 영상 특징을 기초로 전방 영상을 출입구의 영상을 포함하는지를 판단할 수 있다.
구체적으로, 청소 로봇(100)은 전방 카메라 모듈(191b)를 이용하여 전방 영상을 획득한다. 이때, 청소 로봇(100)이 전방 카메라 모듈(191b)로서 3차원 카메라 모듈을 채용한 경우, 전방 영상은 영상 정보와 함께 거리 정보도 포함할 수 있다.
예를 들어, 도 55에 도시된 바와 같이 청소 로봇(100)이 출입구 앞에 위치하면 청소 로봇(100)은 출입구의 영상을 획득할 수 있다. 이때, 청소 로봇(100)이 획득한 출입구의 영상은 도 56에 도시된 제1 영상(image1)과 같다.
제1 영상(image1)을 획득한 청소 로봇(100)은 제1 영상(image1)으로부터 특징점(keypoint)들을 추출할 수 있다. 구체적으로, 청소 로봇(100)은 Harris Corner 알고리즘, Shi-Tomasi 알고리즘, SIFT-DoG 알고리즘, FAST 알고리즘, AGAST 알고리즘 등을 이용하여 제1 영상(image1)으로부터 특징점을 추출할 수 있다.
예를 들어, 청소 로봇(100)은 도 56에 도시된 바와 같은 제1 영상(image1)으로부터 제1 특징점(KP1), 제2 특징점(KP2), 제3 특징점(KP3), 제4 특징점(KP4)를 포함하는 복수의 특징점을 추출할 수 있다.
또한, 청소 로봇(100)은 각각의 특징점에 대응하는 거리 정보를 이용하여 특징점들의 3차원 좌표를 산출할 수 있으며, 산출된 3차원 좌표를 기초로 청소 로봇(100) 전방에 위치한 대상(objection)이 출입구인지를 판단할 수 있다.
예를 들어, 청소 로봇(100)은 특징점의 3차원 좌표를 기초로 각각의 특징점들을 연결한 형상이 출입구의 형상에 대응되는지 판단할 수 있다. 앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm에 해당하며, 높이는 대략 180cm 내지 220cm에 해당한다. 청소 로봇(100)은 기계 학습(machine learning) 알고리즘 등을 이용하여 특징점들에 의한 형상이 출입구의 형상에 대응되는지 판단할 수 있다.
출입구를 검출한 청소 로봇(100)은 출입구를 통과하여 주행할 수 있다.
예를 들어, 도 57에 도시된 바와 같이 거실(R3)에 위치하던 청소 로봇(100)은 출입구를 검출한 이후 검출된 출입구를 통과하여 제1 방(R1)으로 이동할 수 있다.
이후, 청소 로봇(100)은 상방 카메라 모듈을 이용하여 청소 영역을 설정한다(2030).
출입구를 통과한 청소 로봇(100)은 상방 카메라 모듈(191a)을 이용하여 청소 영역 천장의 영상을 획득하고, 천장 영상으로부터 영상 특징(image feature)을 추출하고, 추출된 영상 특징을 기초로 청소 영역을 설정할 수 있다.
구체적으로, 청소 로봇(100)은 상방 카메라 모듈(191a)를 이용하여 천장 영상을 획득한다. 이때, 청소 로봇(100)이 전방 카메라 모듈(191a)로서 3차원 카메라 모듈을 채용한 경우, 천장 영상은 영상 정보와 함께 거리 정보도 포함할 수 있다.
예를 들어, 도 57에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1) 내부로 진입하면 청소 로봇(100)은 제1 방(R1)의 천장 영상을 획득할 수 있다. 이때, 청소 로봇(100)이 획득한 천장 영상은 도 58에 도시된 제2 영상(image2)과 같다.
제2 영상(image2)을 획득한 청소 로봇(100)은 제2 영상(image2)으로부터 특징점(keypoint)들을 추출할 수 있다.
예를 들어, 청소 로봇(100)은 도 58에 도시된 바와 같은 제1 영상(image1)으로부터 제1 특징점(KP1), 제2 특징점(KP2), 제3 특징점(KP3), 제4 특징점(KP4)를 포함하는 복수의 특징점을 추출할 수 있다.
또한, 청소 로봇(100)은 각각의 특징점에 대응하는 거리 정보를 이용하여 특징점들의 3차원 좌표를 산출할 수 있으며, 산출된 3차원 좌표를 기초로 제1 방(R1)의 맵을 생성할 수 있다.
이후, 청소 로봇(100)은 제1 방(R1)을 기초로 제1 방(R1)에 대응되는 제1 청소 영역(A1)을 설정할 수 있다. 이때, 청소 로봇(100)은 도 28에서 설명한 청소 영역 설정 방법(1700, 도 28 참조)를 이용하여 제1 청소 영역(A1)을 설정할 수 있다.
다만, 청소 로봇(100)이 상방 카메라 모듈(191a)를 이용하여 청소 영역을 설정하는 것에 한정되는 것은 아니다.
예를 들어, 청소 로봇(100)은 장애물 감지부(140)를 이용하여 장애물(O)의 외곽선을 따라 주행할 수 있다. 또한, 장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 청소 로봇(100)의 주행 정보, 위치 정보 등을 포함하는 주행 기록을 저장할 수 있다. 장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 현재 위치가 출입구의 위치와 동일한지를 판단하고, 현재 위치가 출입구의 위치와 동일하면 청소 로봇(100)은 저장된 주행 기록을 기초로 청소 영역을 설정할 수도 있다.
청소 영역을 설정한 청소 로봇(100)은 설정된 청소 영역을 주행하면서 청소 영역을 청소한다(2040).
청소 로봇은 도 33에 도시된 청소 영역 청소 방법(1300)에 따라 청소 영역을 청소할 수 있다.
예를 들어, 청소 로봇(100)은 도 59에 도시된 바와 같이 지그재그 주행을 수행하여 청소 영영을 청소하고, 청소 영역의 출입구를 판단한 위치로 이동할 수 있다.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(2050). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.
예를 들어, 청소하지 않은 영역의 출입구가 검출되지 않으면 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소한 것으로 판단할 수 있다.
모든 청소 영역을 청소하지 않았으면(2050의 아니오), 청소 로봇(100)은 청소 공간(A)의 주행, 출입구 판단, 청소 영역 설정, 청소 영역 청소를 반복한다.
또한, 모든 청소 영역을 청소하였으면(2050의 예), 청소 로봇(100)은 주행을 종료하고, 충천 스테이션으로 복귀할 수 있다.
예를 들어, 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역에 대응되는 청소 영역을 설정하고, 설정된 청소 영역을 청소한 이후 충전 스테이션으로 복귀할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 주행 중 영상 획득부(191)를 이용하여 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소할 수 있다.
도 60은 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시한다.
도 60을 참조하면, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170), 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110) 및 청소 로봇(100)의 주변 환경을 감시하는 레이더 센서부(193)를 포함할 수 있다.
유저 인터페이스(120), 움직임 검출부(130), 장애물 감지부(140), 주행부(160), 청소부(170) 및 제어부(180)는 앞서 도 10과 함께 설명한 일 실시예에 의한 청소 로봇(100)의 구성과 동일하다.
다만, 다른 일 실시예에 의한 청소 로봇(100)은 도 60에 도시된 바와 같이 레이더 센서부(193)를 더 포함한다.
레이더 센서부(193)는 청소 로봇(100)의 전방을 향하여 전파를 발신하고, 장애물(O) 등의 대상으로부터 반사되는 반사파를 검출/분석하여 대상까지의 거리, 대상의 이동 속도 등을 검출할 수 있다.
구체적으로, 레이더 센서부(193)는 전파가 발신된 시각과 반사파가 수신된 시각 사이의 시간 차이를 이용하여 대상까지의 거리를 산출할 수 있으며, 대상의 이동에 의한 도플러 효과(Doppler effect)를 이용하여 대상의 이동 속도를 산출할 수 있다.
또한, 레이더 센서부(193)는 지향성 안테나를 이용하여 일정한 방향으로 전파를 발신할 수 있다. 특히, 레이더 센서부(193)는 지향성 안테나를 회전시킴으로써 시간 간격을 두고 여러 방향으로 전파를 발신할 수도 있다.
이와 같이 지향성 안테나를 회전시켜 여러 방향으로 전파를 발신하는 경우, 레이더 센서부(193)는 전파가 발신된 방향을 기초로 장애물(O) 등이 위치하는 방향을 산출할 수 있다.
도 61은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시한다.
도 61을 참조하여 청소 로봇(100)의 청소 방법(2100)을 설명한다.
청소 로봇(100)은 청소 공간(A)을 주행한다(2110).
구체적으로, 청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다.
다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.
주행 중에 청소 로봇(100)은 레이더 센서부(193)를 이용하여 출입구를 검출한다(2120).
출입구를 검출하기 위하여 청소 로봇(100)은 미리 정해진 주기마다 레이더 센서부(193)를 이용하여 청소 로봇(100)의 전방을 탐지하고, 장애물(O) 사이에 미리 정해진 거리 범위의 빈 공간이 검출되는지를 판단할 수 있다. 여기서 미리 정해진 거리 범위는 앞서 설명한 바와 같이 출입구의 폭에 해당하는 80cm 내지 110cm일 수 있다.
또한, 출입구를 검출한 청소 로봇(100)은 출입구의 위치 정보를 기록하고, 출입구를 향하여 주행한다.
이후, 청소 로봇(100)은 장애물 감지부을 이용하여 청소 영역을 설정한다(2130).
출입구를 검출한 청소 로봇(100)은 장애물 감지부(140)를 이용하여 장애물(O)의 외곽선을 따라 주행할 수 있다. 또한, 장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 청소 로봇(100)의 주행 정보, 위치 정보 등을 포함하는 주행 기록을 저장할 수 있다.
장애물(O)의 외곽선을 따라 주행하는 중에 청소 로봇(100)은 현재 위치가 출입구의 위치와 동일한지를 판단하고, 현재 위치가 출입구의 위치와 동일하면 청소 로봇(100)은 저장된 주행 기록을 기초로 청소 영역을 설정할 수도 있다.
청소 영역을 설정한 청소 로봇(100)은 설정된 청소 영역을 주행하면서 청소 영역을 청소한다(2140).
청소 로봇은 도 33에 도시된 청소 영역 청소 방법(1300)에 따라 청소 영역을 청소할 수 있다. 예를 들어, 청소 로봇(100)은 도 34에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역을 청소하거나, 도 35에 도시된 바와 같이 임의의 방향으로 주행하면서 청소 영역을 청소할 수 있다.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(2150). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.
청소하지 않은 영역의 출입구가 검출되지 않으면 청소 로봇(100)은 청소 공간(A)의 모든 영역을 청소한 것으로 판단할 수 있다.
모든 청소 영역을 청소하지 않았으면(2150의 아니오), 청소 로봇(100)은 청소 공간(A)의 주행, 출입구 판단, 청소 영역 설정, 청소 영역 청소를 반복한다.
모든 청소 영역을 청소하였으면(2150의 예), 청소 로봇(100)은 주행을 종료하고, 충천 스테이션으로 복귀할 수 있다.
예를 들어, 청소 로봇(100)은 청소 공간(A)을 모두 주행한 이후 청소되지 않는 영역에 대응되는 청소 영역을 설정하고, 설정된 청소 영역을 청소한 이후 충전 스테이션으로 복귀할 수 있다.
이상에서 설명한 바와 같이 청소 로봇(100)은 주행 중 레이더 센서부(193) 및 장애물 감지부(140)를 이용하여 청소 영역을 설정하고, 설정된 청소 영역을 우선 청소할 수 있다.
도 62는 또 다른 일 실시예에 의한 청소 로봇의 제어 구성을 도시하고, 도 63은 마그네틱 밴드가 설치된 청소 공간을 도시한다.
도 62 및 도 63을 참조하면, 청소 로봇(100)은 사용자와 상호 작용하는 유저 인터페이스(120), 청소 로봇(100)의 움직임과 관련된 정보를 검출하는 움직임 검출부(130), 청소 공간(A)의 장애물(O)을 감지하는 장애물 감지부(140), 청소 로봇(100)을 이동시키는 주행부(160), 청소 공간을 청소하는 청소부(170), 청소 로봇(100)의 동작을 총괄 제어하는 제어부(110) 및 청소 공간(A) 바닥의 자기장을 감지하는 자기장 감지부(195)를 포함할 수 있다.
유저 인터페이스(120), 움직임 검출부(130), 장애물 감지부(140), 주행부(160), 청소부(170) 및 제어부(180)는 앞서 도 10과 함께 설명한 일 실시예에 의한 청소 로봇(100)의 구성과 동일하다.
다만, 다른 일 실시예에 의한 청소 로봇(100)은 도 62에 도시된 바와 같이 자기장 감지부(195)를 더 포함한다.
자기장 감지부(195)는 청소 로봇(100)의 저면 또는 전면에 설치될 수 있으며, 사용자가 사전에 설치한 마그네틱 밴드(M1, M2)가 생성하는 자기장을 검출할 수 있다.
사용자는 도 63에 도시된 바와 같이 사전에 청소 공간(A)의 출입구에 해당하는 위치에 마그네틱 밴드(M1, M2)를 설치할 수 있다.
예를 들어, 사용자는 거실(R3)과 제1 방(R1)을 연결하는 제1 출입구에 제1 마그네틱 밴드(M1)를 설치하고, 거실(R3)과 제2 방(R2)를 연결하는 제2 출입구에 제2 마그네틱 밴드(M2)를 설치할 수 있다.
여기서, 제1 마그네틱 밴드(M1)과 제2 마그네틱 밴드(M2)를 동일한 형상을 갖을 수 있으며, 동일한 세기 및 극성의 자기장을 생성할 수 있다.
자기장 감지부(195)는 이와 같이 사용자가 사전에 설치한 마그네틱 밴드(M1, M2)가 생성하는 자기장을 감지하고, 자기장의 감지에 대응하는 전기적 신호를 제어부(110)에 전달할 수 있다.
도 64은 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 방법을 도시하고, 도 65 내지 도 67는 도 64에 도시된 청소 방법에 따라 또 다른 일 실시예에 의한 청소 로봇이 청소 공간을 청소하는 과정을 도시한다.
청소 로봇(100)은 청소 공간(A)을 주행하고, 주행 중에 주행 기록을 저장한다(2210).
청소 로봇(100)은 임의의 위치로부터 임의의 방향으로 주행할 수 있다.
임의의 위치는 청소 로봇(100)의 배터리를 충전시키는 충전 스테이션(미도시)이 위치하는 위치이거나, 사용자가 청소 로봇(100)을 청소 공간(A)의 바닥에 내려 놓은 위치일 수 있다. 이처럼, 청소 로봇(100)이 주행을 개시하는 위치하는 한정되지 않는다.
또한, 주행 개시 시에 청소 로봇(100)은 임의의 방향으로 주행할 수 있다. 예를 들어, 청소 로봇(100)은 주행 개시 시의 전방을 향하여 주행할 수 있다. 그러나, 이에 한정되는 것은 아니며 청소 로봇(100)은 주행을 개시하기 전에 주행 방향을 변경한 후 주행할 수도 있다. 다만, 주행 개시 후에는 청소 로봇(100)은 장애물(O)을 발견할 때까지 주행 방향을 변경하지 않는 것이 바람직하다.
또한, 주행 중에 청소 로봇(100)은 장애물(O)이 감지되는 판단할 수 있다. 구체적으로, 청소 로봇(100)의 장애물 감지부(140)는 청소 로봇(100)의 전방 및 측면을 향하여 광을 발신하고, 장애물(O)로부터 반사되어 수신되는 반사광을 검출한다. 청소 로봇(100)의 제어부(110)는 반사광의 검출 여부에 따라 장애물(O)의 존부를 판단할 수 있다.
장애물이 감지되면, 청소 로봇(100)은 장애물(O)의 외곽선을 따라 주행할 수 있다. 구체적으로, 청소 로봇(100)은 장애물(O)과의 거리가 미리 정해진 장애물 추종 거리를 유지하면서 장애물(O)의 외곽선과 평행하게 주행하는 외곽선 추종 주행을 수행할 수 있다.
또한, 외곽선 추종 주행 중에 청소 로봇(100)은 청소 로봇(100)의 주행 기록을 저장할 수 있다. 구체적으로, 청소 로봇(100)은 미리 정해진 시간 간격마다 청소 로봇(100)의 위치를 나타내는 위치 정보와 청소 로봇(100)의 주행 속도, 주행 방향 등을 나타내는 주행 정보를 저장할 수 있다.
주행 중에 청소 로봇(100)은 자기장이 감지되는지를 판단한다(2220). 청소 로봇(100)은 자기장 감지부(195)를 이용하여 마그네틱 밴드(M1, M2)가 생성한 자기장을 감지할 수 있다.
예를 들어, 외곽선 추종 주행 중에 청소 로봇(100)이 도 65에 도시된 바와 같이 출입구를 통과하면, 청소 로봇(100)은 사용자가 사전에 설치한 제1 마그네틱 밴드(M1)가 생성하는 자기장을 감지할 수 있다.
자기장이 감지되지 않으면(2220의 아니오), 청소 로봇(100)은 주행을 계속하고, 자기장이 감지되면(2220의 예), 청소 로봇(100)은 자기장을 감지한 위치를 저장한다(2230).
자기장이 감지되면, 청소 로봇(100)은 출입구를 통과하고 하고 있는 것으로 판단할 수 있다. 따라서, 청소 로봇(100)은 출입구의 위치를 판단하기 위하여 자기장이 감지된 위치를 저장한다.
이후, 청소 로봇(100)은 현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하는지를 판단한다(2240).
청소 로봇(100)은 사전에 저장된 자기장 감지 위치와 현재 자기장을 감지한 청소 로봇(100)의 위치 사이의 거리를 산출한다. 이후, 청소 로봇(100)은 산출된 거리가 미리 저장된 기준 거리 범위 이내인지를 판단한다.
앞서 설명한 바와 같이 출입구는 그 폭이 대략 80cm 내지 110cm일 수 있다. 따라서, 현재 자기장을 감지한 청소 로봇(100)의 위치로부터 기준 거리 이내에 이전에 자기장이 감지된 위치가 존재한다면 청소 로봇(100)은 현재 자기장이 감지된 위치와 이전에 자기장 감지된 위치 사이에 출입구가 존재하는 것으로 판단할 수 있다.
여기서, 기준 거리 범위는 대략 80cm 내지 110cm로부터 청소 로봇(100)의 폭을 뺀 거리 범위일 수 있다. 예를 들어, 청소 로봇(100)의 폭이 30cm이면 기준 거리 범위는 50cm 내지 80cm일 수 있다.
현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하지 않으면(2240의 아니오), 청소 로봇(100)은 외곽선 추종 주행을 계속한다.
예를 들어, 도 66에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)에 진입할 때에는 청소 로봇(100)은 제1 마그네틱 밴드(M1)에 의한 자기장을 검출할 수 있다.
그러나, 주변에 다른 자기장 감지 위치가 존재하지 않으므로 청소 로봇(100)은 출입구를 지나 제1 방(R1)로 진입하고, 외곽선 추종 주행을 계속한다.
현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하면(2240), 청소 로봇(100)은 사전에 저장된 자기장 감지 위치로 이동한다(2250).
현재 자기장 감지 위치로부터 기준 거리 범위 이내에 다른 자기장 감지 위치가 존재하면 청소 로봇(100)은 청소 로봇(100)이 해당 출입구를 2회 통과한 것으로 판단할 수 있다.
즉, 청소 로봇(100)은 출입구를 최초 통과하는 것은 출입구에 의하여 외부와 연결되는 영역에 진입한 것으로 판단하고, 출입구를 두번째 통과하는 것은 해당 영역으로부터 이탈하는 것으로 판단할 수 있다.
또한, 청소 로봇(100)은 해당 영역의 내부를 모두 주행하고, 주행 기록을 저장한 것으로 판단할 수 있다.
따라서, 청소 로봇(100)은 해당 영역에 대응하는 청소 영역을 설정하기 위하여 자기장이 감지된 위치로 이동한다.
예를 들어, 도 66에 도시된 바와 같이 청소 로봇(100)이 제1 방(R1)을 이탈할 때에는 청소 로봇(100)은 제1 마그네틱 밴드(M1)에 의한 자기장을 검출할 수 있다.
또한, 청소 로봇(100)이 자기장을 감지한 위치로부터 기준 거리 범위 이내에 청소 로봇(100)이 제1 방(R1)에 진입할 때 저장한 자기장 감지 위치가 존재한다.
따라서, 청소 로봇(100)은 거실(R3)과 제1 방(R1)을 연결하는 제1 출입구를 2회 통과한 것으로 판단할 수 있으며, 청소 로봇(100)은 청소 로봇(100)이 제1 마그네틱 밴드(M1)에 의한 자기장을 최초로 감지한 위치로 이동한다.
자기장 감지 위치로 이동한 이후 청소 로봇(100)은 주행 기록을 기초로 청소 영역을 설정한다(2260).
청소 로봇(100)이 자기장 감지 위치로 이동하면, 청소 로봇(100)의 주행 경로에 의하여 폐곡선이 생성된다. 예를 들어, 도 66에 도시된 바와 같이 청소 로봇(100)의 주행 경로에 의하여 폐곡선이 생성된다.
청소 로봇(100)은 이와 같은 폐곡선을 기초로 제1 청소 영역(A1)을 설정할 수 있다.
구체적으로, 청소 로봇(100)은 폐곡선을 직선 모델링하고, 직선 모델링된 폐곡선을 단순화시키고, 단순화된 폐곡선을 회전 변환함으로써 제1 청소 영역(A1)을 설정할 수 있다.
청소 영역을 설정한 이후, 청소 로봇(100)은 설정된 청소 영역을 청소하고, 청소 영역을 청소 완료 영역으로 저장한다(2270).
청소 로봇은 도 33에 도시된 청소 영역 청소 방법(1300)에 따라 청소 영역을 청소할 수 있다. 예를 들어, 청소 로봇(100)은 도 34에 도시된 바와 같이 지그재그 주행을 수행하면서 청소 영역을 청소하거나, 도 35에 도시된 바와 같이 임의의 방향으로 주행하면서 청소 영역을 청소할 수 있다.
이후, 청소가 완료되면 청소 로봇(100)은 청소 영역을 청소 완료 영역으로 저장할 수 있다.
이후, 청소 로봇(100)은 모든 청소 영역이 청소되었는지를 판단한다(2280). 다시 말해, 청소 로봇(100)이 청소 공간(A)에 포함된 모든 영역을 청소하였는지를 판단한다.
구체적으로, 청소 로봇(100)이 외곽선 추종 주행을 개시한 위치에 도달하면, 청소 로봇(100)은 청소 공간(A) 가운데 청소되지 않은 미청소 영역을 판단한다. 이후, 청소 로봇(100)은 미청소 영역에 대응하는 청소 영역을 설정하고, 설정된 청소 영역 내부를 청소한다.
미청소 영역을 모두 청소하면 청소 로봇(100)은 모든 청소 영역이 청소된 것으로 판단할 수 있다.
모든 청소 영역에 대한 청소가 완료되지 않은 것으로 판단되면(2280의 아니오), 청소 로봇(100)은 청소 영역에 대한 청소를 계속한다.
또한, 청소 영역에 대한 청소가 완료된 것으로 판단되면(2280의 예), 청소 로봇(100)은 충전 스테이션으로 복귀하고, 동작을 종료한다.
이상에서 설명한 바와 같이 청소 로봇(100)은 사용자가 사전에 출입구에 설치한 마그네틱 밴드와 마그네틱 밴드의 자기장을 감지하는 자기장 감지부를 이용하여 출입구를 검출하고, 검출된 출입구와 주행 기록을 기초로 청소 영역을 설정할 수 있다. 또한, 청소 로봇(100)은 설정된 청소 영역을 우선 청소할 수 있다.
이상에서는 개시된 발명의 일 실시예에 대하여 도시하고 설명하였지만, 개시된 발명은 상술한 특정의 실시예에 한정되지 아니하며 청구범위에서 청구하는 요지를 벗어남 없이 개시된 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의하여 다양한 변형실시가 가능함을 물론이고 이러한 변형실시들은 개시된 발명으로부터 개별적으로 이해될 수 없다.
100: 청소 로봇 110: 제어부
120: 유저 인터페이스 130: 영상 획득부
140: 장애물 감지부 160: 주행부
170: 청소부 191: 영상 획득부
193: 레이더 센서부 195: 자기장 감지부
120: 유저 인터페이스 130: 영상 획득부
140: 장애물 감지부 160: 주행부
170: 청소부 191: 영상 획득부
193: 레이더 센서부 195: 자기장 감지부
Claims (41)
- 본체;
상기 본체를 주행시키는 주행부;
상기 본체의 주행을 방해하는 장애물을 검출하는 장애물 감지부;
청소 공간을 청소하는 청소부;
상기 주행부, 상기 장애물 감지부 및 상기 청소부와 연결된 제어부를 포함하고,
상기 제어부는,
상기 본체가 상기 장애물의 외곽선을 따라 주행하도록 상기 주행부를 제어하고,
상기 본체를 주행시키는 동안, 상기 청소 공간의 복수의 영역들 중 어느 영역과 다른 영역을 연결하는 출입구를 식별하고,
상기 식별된 출입구의 위치와 상기 본체가 주행한 위치에 기초하여 상기 청소 공간의 복수의 영역들 중 청소 영역을 설정하고,
상기 청소 영역을 설정하는 것에 기초하여 상기 청소 공간의 복수의 영역들 중 다른 영역으로 주행하기 전에 상기 청소 영역을 청소하도록 상기 청소부를 제어하고,
상기 제어부는,
상기 본체의 현재 위치가 상기 장애물의 제1 볼록한 모서리이고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구로 판단하거나, 또는
상기 본체의 현재 위치가 상기 장애물의 제3 볼록한 모서리이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면, 상기 제3 볼록한 모서리와 상기 제1 벽면의 사이를 출입구로 판단하거나, 또는
상기 본체의 현재 위치가 상기 장애물의 제2 벽면이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제4 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제2 벽면과 상기 제4 볼록한 모서리의 사이를 출입구로 판단하는 청소 로봇. - 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 장애물의 외곽선을 따라 주행 중에 상기 제어부는 상기 본체의 현재 위치와 상기 본체가 주행한 주행 기록을 기초로 상기 출입구의 위치를 식별하는 청소 로봇. - 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 제어부는 상기 출입구의 위치와 상기 본체가 주행한 위치 정보를 연결하여 폐곡선을 생성하는 청소 로봇. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 본체의 전방을 향하여 전파를 발신하고, 검출 대상으로부터 반사되는 반사파를 수신하는 레이더 센서를 더 포함하고,
상기 제어부는 수신된 반사파를 기초로 상기 검출 대상의 위치 및 방향을 판단하는 청소 로봇. - 삭제
- 삭제
- 제1항에 있어서,
상기 출입구에 설치된 마그네틱 밴드가 생성하는 자기장을 감지하는 자기장 감지부를 더 포함하는 청소 로봇. - 삭제
- 삭제
- 청소 공간을 청소하는 청소 로봇의 제어 방법에 있어서,
상기 청소 로봇을 장애물의 외곽선을 따라 주행시키고;
상기 청소 로봇을 주행시키는 동안, 상기 청소 공간의 복수의 영역들 중 어느 영역과 다른 영역을 연결하는 출입구를 식별하고;
상기 식별된 출입구의 위치와 상기 청소 로봇이 주행한 위치에 기초하여 상기 청소 공간의 복수의 영역들 중 청소 영역을 설정하고;
상기 청소 영역을 설정하는 것에 기초하여 상기 청소 공간의 복수의 영역들 중 다른 영역으로 주행하기 전에 상기 청소 영역을 청소하는 것을 포함하고,
상기 출입구를 식별하는 것은,
상기 청소 로봇의 현재 위치가 상기 장애물의 제1 볼록한 모서리이고 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제2 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제1 볼록한 모서리와 상기 제2 볼록한 모서리의 사이를 출입구로 판단하거나, 또는
상기 청소 로봇의 현재 위치가 상기 장애물의 제3 볼록한 모서리이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제1 벽면을 따라 주행한 주행 기록이 존재하면, 상기 제3 볼록한 모서리와 상기 제1 벽면의 사이를 출입구로 판단하거나, 또는
상기 청소 로봇의 현재 위치가 상기 장애물의 제2 벽면이고, 상기 현재 위치로부터 미리 정해진 거리 이내에서 상기 장애물의 제4 볼록한 모서리를 따라 주행한 주행 기록이 존재하면, 상기 제2 벽면과 상기 제4 볼록한 모서리의 사이를 출입구로 판단하는 것을 포함하는 청소 로봇의 제어 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2015/008353 WO2016028021A1 (ko) | 2014-08-20 | 2015-08-10 | 청소 로봇 및 그 제어 방법 |
EP15833829.3A EP3184013B1 (en) | 2014-08-20 | 2015-08-10 | Cleaning robot and control method therefor |
CN201580057197.5A CN107072457B (zh) | 2014-08-20 | 2015-08-10 | 清洁机器人及其控制方法 |
AU2015304254A AU2015304254B2 (en) | 2014-08-20 | 2015-08-10 | Cleaning robot and controlling method thereof |
CN202010115088.7A CN111493751A (zh) | 2014-08-20 | 2015-08-10 | 清洁机器人及其控制方法 |
US15/505,574 US10394249B2 (en) | 2014-08-20 | 2015-08-10 | Cleaning robot and control method thereof |
AU2018250455A AU2018250455B2 (en) | 2014-08-20 | 2018-10-18 | Cleaning robot and controlling method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140108446 | 2014-08-20 | ||
KR20140108446 | 2014-08-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160022769A KR20160022769A (ko) | 2016-03-02 |
KR102527645B1 true KR102527645B1 (ko) | 2023-05-03 |
Family
ID=55582552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150111429A KR102527645B1 (ko) | 2014-08-20 | 2015-08-07 | 청소 로봇 및 그 제어 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10394249B2 (ko) |
EP (1) | EP3184013B1 (ko) |
KR (1) | KR102527645B1 (ko) |
CN (2) | CN111493751A (ko) |
AU (2) | AU2015304254B2 (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11835343B1 (en) * | 2004-08-06 | 2023-12-05 | AI Incorporated | Method for constructing a map while performing work |
KR102328252B1 (ko) * | 2015-02-13 | 2021-11-19 | 삼성전자주식회사 | 청소 로봇 및 그 제어방법 |
DE102015109775B3 (de) | 2015-06-18 | 2016-09-22 | RobArt GmbH | Optischer Triangulationssensor zur Entfernungsmessung |
DE102015114883A1 (de) | 2015-09-04 | 2017-03-09 | RobArt GmbH | Identifizierung und Lokalisierung einer Basisstation eines autonomen mobilen Roboters |
DE102015119501A1 (de) | 2015-11-11 | 2017-05-11 | RobArt GmbH | Unterteilung von Karten für die Roboternavigation |
DE102015119865B4 (de) | 2015-11-17 | 2023-12-21 | RobArt GmbH | Robotergestützte Bearbeitung einer Oberfläche mittels eines Roboters |
DE102015121666B3 (de) | 2015-12-11 | 2017-05-24 | RobArt GmbH | Fernsteuerung eines mobilen, autonomen Roboters |
CN205671994U (zh) * | 2015-12-16 | 2016-11-09 | 小米科技有限责任公司 | 自动清洁设备 |
FR3046191B1 (fr) * | 2015-12-23 | 2018-02-09 | Maxime Puech | Robot de nettoyage de piscine et methode de detection d'une immobilisation d'un tel robot |
KR101930870B1 (ko) * | 2016-08-03 | 2018-12-20 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
CA3043498A1 (en) * | 2016-11-22 | 2018-05-31 | Left Hand Robotics, Inc. | Autonomous path treatment systems and methods |
KR101968127B1 (ko) * | 2017-01-12 | 2019-04-11 | 국방과학연구소 | 군집 무인체계 자율탐색 및 지도생성 방법 |
US11709489B2 (en) | 2017-03-02 | 2023-07-25 | RobArt GmbH | Method for controlling an autonomous, mobile robot |
BE1024459B1 (nl) * | 2017-05-09 | 2018-02-26 | Cnh Industrial Belgium Nv | Landbouwsysteem |
KR102448287B1 (ko) * | 2017-08-08 | 2022-09-28 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
DE102017120218A1 (de) * | 2017-09-01 | 2019-03-07 | RobArt GmbH | Bewegungsplanung für autonome mobile roboter |
JP2020533720A (ja) * | 2017-09-12 | 2020-11-19 | ロブアート ゲーエムベーハーROBART GmbH | 自律移動ロボットによる未知の環境の探索 |
CN108508891B (zh) * | 2018-03-19 | 2019-08-09 | 珠海市一微半导体有限公司 | 一种机器人重定位的方法 |
JP7445381B2 (ja) * | 2018-03-23 | 2024-03-07 | 東芝ライフスタイル株式会社 | 自律走行式掃除機およびその制御方法 |
WO2019212240A1 (en) * | 2018-05-04 | 2019-11-07 | Lg Electronics Inc. | A plurality of robot cleaner and a controlling method for the same |
KR102100476B1 (ko) | 2018-05-04 | 2020-05-26 | 엘지전자 주식회사 | 복수의 이동 로봇 및 그 제어방법 |
KR102015498B1 (ko) * | 2018-06-27 | 2019-10-23 | 엘지전자 주식회사 | 복수의 자율주행 청소기 및 그 제어방법 |
CN108814452A (zh) * | 2018-08-22 | 2018-11-16 | 上海炬佑智能科技有限公司 | 扫地机器人及其障碍检测方法 |
CN109379707B (zh) * | 2018-08-31 | 2020-09-01 | 北京大学(天津滨海)新一代信息技术研究院 | 一种基于无线信号的室内目标活动区域识别方法及系统 |
CN114287827B (zh) * | 2018-09-11 | 2023-04-11 | 原相科技股份有限公司 | 清洁机器人系统及其清洁机器人和充电路径决定方法 |
CN111240308A (zh) * | 2018-11-09 | 2020-06-05 | 北京奇虎科技有限公司 | 重复绕障的检测方法、装置、电子设备及可读存储介质 |
CN109828582B (zh) * | 2019-02-28 | 2019-10-29 | 沈阳师范大学 | 基于多传感器信息融合的智能小车路径规划方法及系统 |
CN109984684B (zh) * | 2019-04-11 | 2021-04-27 | 云鲸智能科技(东莞)有限公司 | 清洁控制方法、装置、清洁机器人和存储介质 |
CN109984685B (zh) * | 2019-04-11 | 2021-08-06 | 云鲸智能科技(东莞)有限公司 | 清洁控制方法、装置、清洁机器人和存储介质 |
CN109984687A (zh) * | 2019-06-03 | 2019-07-09 | 常州工程职业技术学院 | 一种扫地机器人的自动清扫控制方法 |
GB2584839B (en) * | 2019-06-12 | 2022-12-21 | Dyson Technology Ltd | Mapping of an environment |
CN110731734B (zh) * | 2019-08-12 | 2021-04-30 | 珠海市一微半导体有限公司 | 智能机器人规划清扫的控制方法和芯片及清洁机器人 |
KR20190106874A (ko) * | 2019-08-27 | 2019-09-18 | 엘지전자 주식회사 | 인공 지능을 통해 구속 상황을 인식하는 로봇 청소기 및 그의 동작 방법 |
CN111026162B (zh) * | 2019-12-10 | 2023-04-11 | 长沙中联重科环境产业有限公司 | 自跟随清洁机器人 |
JP2022113054A (ja) * | 2021-01-22 | 2022-08-03 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、プログラムおよび移動装置 |
IT202100010655A1 (it) * | 2021-04-27 | 2022-10-27 | Pixies S R L | Sistema per raccogliere rifiuti in un’area urbana, procedimento di funzionamento e prodotto informatico corrispondenti |
CN113413091B (zh) * | 2021-06-30 | 2023-04-18 | 科沃斯商用机器人有限公司 | 清洁机器人及其避障方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005296509A (ja) * | 2004-04-15 | 2005-10-27 | Funai Electric Co Ltd | 自走式掃除機 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3346513B2 (ja) * | 1994-07-01 | 2002-11-18 | ミノルタ株式会社 | マップ記憶方法及びそのマップを使用する経路作成方法 |
US7727971B2 (en) * | 2000-02-04 | 2010-06-01 | Life Sciences Research Partners Vzw | Use of placental growth factor for treating ischemic muscle disease |
US20040244138A1 (en) * | 2003-03-14 | 2004-12-09 | Taylor Charles E. | Robot vacuum |
KR20050063543A (ko) * | 2003-12-22 | 2005-06-28 | 엘지전자 주식회사 | 이동로봇의 위치확인장치 및 방법 |
KR100690669B1 (ko) * | 2005-05-17 | 2007-03-09 | 엘지전자 주식회사 | 자율 주행 로봇의 위치인식 시스템 |
KR100772912B1 (ko) * | 2006-05-16 | 2007-11-05 | 삼성전자주식회사 | 절대 방위각을 이용한 로봇 및 이를 이용한 맵 작성 방법 |
US8271132B2 (en) * | 2008-03-13 | 2012-09-18 | Battelle Energy Alliance, Llc | System and method for seamless task-directed autonomy for robots |
EP2219506B1 (en) * | 2007-10-30 | 2017-06-21 | LG Electronics Inc. | Detecting apparatus of robot cleaner and controlling method of robot cleaner |
KR20090062210A (ko) * | 2007-12-12 | 2009-06-17 | 엘지전자 주식회사 | 로봇 청소기의 위상 지도 장치 및 위상 지도를 이용한 로봇청소기의 제어 방법 |
KR100985972B1 (ko) * | 2008-03-31 | 2010-10-06 | 엘지전자 주식회사 | 로봇 청소기의 제어방법 |
KR101181638B1 (ko) | 2009-07-24 | 2012-09-10 | 주식회사 모뉴엘 | 청소로봇 유닛의 청소 제어방법 |
DE102009041362A1 (de) * | 2009-09-11 | 2011-03-24 | Vorwerk & Co. Interholding Gmbh | Verfahren zum Betreiben eines Reinigungsroboters |
KR101626984B1 (ko) * | 2009-11-16 | 2016-06-02 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
KR101641237B1 (ko) * | 2009-11-20 | 2016-07-21 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
KR101649645B1 (ko) * | 2010-02-08 | 2016-08-22 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
KR20120021064A (ko) * | 2010-08-31 | 2012-03-08 | 엘지전자 주식회사 | 이동 로봇 및 이의 제어 방법 |
KR101566207B1 (ko) | 2011-06-28 | 2015-11-13 | 삼성전자 주식회사 | 로봇 청소기 및 그 제어방법 |
CN103251358A (zh) * | 2012-02-16 | 2013-08-21 | 恩斯迈电子(深圳)有限公司 | 扫地机器人的控制方法 |
US9190595B2 (en) * | 2012-07-20 | 2015-11-17 | Qualcomm Incorporated | Apparatus and method for harvesting energy in an electronic device |
US9375847B2 (en) * | 2013-01-18 | 2016-06-28 | Irobot Corporation | Environmental management systems including mobile robots and methods using same |
CN103271699B (zh) * | 2013-05-29 | 2016-05-18 | 东北师范大学 | 一种智能家居清洁机器人 |
-
2015
- 2015-08-07 KR KR1020150111429A patent/KR102527645B1/ko active IP Right Grant
- 2015-08-10 CN CN202010115088.7A patent/CN111493751A/zh active Pending
- 2015-08-10 CN CN201580057197.5A patent/CN107072457B/zh active Active
- 2015-08-10 EP EP15833829.3A patent/EP3184013B1/en active Active
- 2015-08-10 AU AU2015304254A patent/AU2015304254B2/en not_active Ceased
- 2015-08-10 US US15/505,574 patent/US10394249B2/en active Active
-
2018
- 2018-10-18 AU AU2018250455A patent/AU2018250455B2/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005296509A (ja) * | 2004-04-15 | 2005-10-27 | Funai Electric Co Ltd | 自走式掃除機 |
Also Published As
Publication number | Publication date |
---|---|
AU2015304254B2 (en) | 2018-07-19 |
EP3184013B1 (en) | 2024-07-03 |
EP3184013A4 (en) | 2018-04-25 |
CN107072457B (zh) | 2020-03-20 |
US20180217611A1 (en) | 2018-08-02 |
AU2018250455A1 (en) | 2018-11-15 |
AU2015304254A1 (en) | 2017-03-16 |
AU2018250455B2 (en) | 2019-04-04 |
US10394249B2 (en) | 2019-08-27 |
EP3184013C0 (en) | 2024-07-03 |
CN107072457A (zh) | 2017-08-18 |
CN111493751A (zh) | 2020-08-07 |
KR20160022769A (ko) | 2016-03-02 |
EP3184013A1 (en) | 2017-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102527645B1 (ko) | 청소 로봇 및 그 제어 방법 | |
KR102328252B1 (ko) | 청소 로봇 및 그 제어방법 | |
EP2677386B1 (en) | Robot cleaner and obstacle detection control method of the same | |
KR101887055B1 (ko) | 로봇 청소기 및 그 제어 방법 | |
US10238258B2 (en) | Robot cleaner and method for controlling the same | |
KR101677634B1 (ko) | 로봇 청소기 및 이의 제어 방법 | |
KR101813922B1 (ko) | 로봇 청소기 및 이의 제어 방법 | |
US20170131721A1 (en) | Robot cleaner and method for controlling the same | |
KR101952414B1 (ko) | 청소기 및 그 제어방법 | |
EP3308911A1 (en) | Mobile robot and method of controlling same | |
US20180210452A1 (en) | Mobile robot and control method thereof | |
KR101649645B1 (ko) | 로봇 청소기 및 이의 제어 방법 | |
KR20150050159A (ko) | 이동 로봇 및 그 동작방법 | |
US20180055325A1 (en) | Robot cleaner | |
EP2963515A2 (en) | Robot cleaner and method for controlling the same | |
JP6619967B2 (ja) | 自律移動装置、自律移動システム及び環境地図評価方法 | |
KR102506421B1 (ko) | 청소 로봇 및 그 제어 방법 | |
KR101303161B1 (ko) | 이동 로봇 및 이의 제어 방법 | |
KR20110085499A (ko) | 로봇 청소기 및 이의 제어 방법 | |
KR20110085500A (ko) | 로봇 청소기 및 이의 제어 방법 | |
WO2020059292A1 (ja) | 自律走行掃除機 | |
KR20160090278A (ko) | 이동 로봇 및 이의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |