KR102319489B1 - 이동 로봇 및 그 제어방법 - Google Patents
이동 로봇 및 그 제어방법 Download PDFInfo
- Publication number
- KR102319489B1 KR102319489B1 KR1020187034267A KR20187034267A KR102319489B1 KR 102319489 B1 KR102319489 B1 KR 102319489B1 KR 1020187034267 A KR1020187034267 A KR 1020187034267A KR 20187034267 A KR20187034267 A KR 20187034267A KR 102319489 B1 KR102319489 B1 KR 102319489B1
- Authority
- KR
- South Korea
- Prior art keywords
- mobile robot
- map
- area
- cleaning
- recognition
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000004140 cleaning Methods 0.000 claims abstract description 143
- 238000009826 distribution Methods 0.000 claims description 66
- 230000008859 change Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 19
- 230000033001 locomotion Effects 0.000 description 17
- 239000000428 dust Substances 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 230000009191 jumping Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000036544 posture Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- 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
-
- 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
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
-
- 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
-
- 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/16—Programme controls
-
- 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/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- 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/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
-
- 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/0227—Control of position or course in two dimensions specially adapted to land vehicles using mechanical sensing means, e.g. for sensing treated area
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- 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
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/02—Docking stations; Docking operations
- A47L2201/022—Recharging of batteries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Orthopedic Medicine & Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명은 이동 로봇 및 그 제어방법에 관한 것으로, 맵을 바탕으로 이동하며 청소를 수행하고, 이동 로봇의 전역위치인식 기능을 기반으로, 이동 로봇이 어디에 위치하더라도 맵상의 현재 위치를 판단할 수 있도록 함으로써, 이동 로봇이 맵 상에서의 현재 위치를 정확하게 파악할 수 있고, 이동 로봇의 위치가 임의로 변경되더라도 자신의 위치를 다시 인식하여 이동 로봇 스스로 지정된 영역으로 정확하게 이동 가능하며, 지정된 청소를 수행하여 빠르고 정확한 이동으로 인하여 효과적으로 청소를 수행하는 효과가 있다.
Description
본 발명은 이동 로봇 및 그 제어방법에 관한 것으로서, 특히 이동 로봇의 주변에 대한 맵을 이용하여 지정된 영역을 청소하는 이동 로봇 및 그 제어방법에 관한 것이다.
이동 로봇은 청소하고자 하는 영역을 스스로 주행하면서 바닥면으로부터 먼지 등의 이물질을 흡입하여 자동으로 청소하는 기기이다.
이동 로봇은 충전 가능한 배터리가 구비되어, 이동이 자유롭고 배터리의 동작전원을 이용한 스스로 이동이 가능하며, 이동 중 바닥면의 이물질을 흡입하여 청소를 실시하며, 필요 시 충전대로 복귀하여 배터리를 충전하도록 구성된다.
통상 이러한 이동 로봇은 주행구역 내에 설치된 가구나 사무용품, 벽 등의 장애물까지의 거리를 감지하고, 좌륜과 우륜의 구동을 제어하여 장애물 회피 동작을 수행한다.
종래의 이동 로봇은 영역을 구분하지 않고 현재 위치를 기준으로 이동하며 청소를 수행하고, 직선 주행중에 장애물이 존재하는 경우 방향을 전환하는 방식으로 주행함에 따라 특정 영역을 반복하여 청소하거나 이동 후 초기 위치로 복귀하지 못하는 문제점이 있었다.
그에 따라, 기 저장된 맵을 이용하여 이동 로봇이 특정 영역에 대한 청소를 수행하도록 하고 중복 청소를 방지하도록 하는 것이 최근의 추세이다.
그러나 이와같이 맵을 이용하여 청소를 수행하는 이동 로봇이라 하더라도, 사용자가 지정한 목적지나 특정 영역으로 정확하게 이동하기 위해서는, 이동 로봇이 맵 상에서 현 위치가 어디인지를 파악하고 있어야 하는 문제점이 있다.
즉, 충전대 등을 기준으로 주행하여 위치를 판단할 수 있었으나, 사용자가 임의의 위치에 이동시킨 후 이동 로봇을 작동시키거나 또는 주행 중인 이동 로봇의 위치가 강제로 변경된 경우, 이동 로봇은 맵 상에서 현재 위치를 판단하기 어려운 문제가 발생한다.
또한, 이동 로봇은 월팔로윙 등의 동작을 통해 주변을 탐색하여 위치를 판단할 수도 있으나, 시행착오를 반복해야하므로 불필요한 동작을 수행하게 될 뿐 아니라 위치를 인식하는데 긴 시간이 소요되는 문제점이 있다. 이 경우 장시간의 불필요한 주행으로, 주요 동작인 청소를 수행하기도 전에 배터리가 소모되어 동작할 수 없게 되는 문제점이 있다.
본 발명의 이동 로봇 및 그 제어방법은, 영역에 대한 맵을 바탕으로 청소를 수행하면서, 이동 로봇이 어디에 위치하더라도 맵상의 현재 위치를 판단할 수 있도록 하며, 현재 위치를 바탕으로 지정된 영역으로 이동하여 청소를 수행할 수 있는 이동 로봇 및 제어방법을 제공하는데 있다.
본 발명의 일 실시예에 따른 이동 로봇은, 이동 가능한 본체, 복수의 구동 바퀴를 포함하여 상기 본체를 이동시키는 주행부, 주변의 영상을 획득하는 영상획득부, 상기 영상획득부를 통해 입력되는 획득영상 및 주행구역에 대한 맵(MAP)이 저장되는 저장부 및 현재 위치를 인식하여 상기 주행부를 제어하고 청소가 수행되도록 하는 제어부를 포함하고, 상기 제어부는, 청소명령이 입력되면, 상기 본체의 위치 변경 여부에 따라 상기 맵 상의 위치와, 현재 위치가 일치하는지 여부를 판단하여, 현재 위치를 복구한 후 상기 청소명령에 따라 지정영역으로 이동하여 청소를 수행하는 것을 특징으로 한다.
상기 제어부는, 상기 맵 상의 위치와 현재 위치가 일치하지 않는 경우, 상기 영상획득부로부터 입력되는 상기 획득영상으로부터 특징점을 추출하고 상기 특징점으로부터 상기 맵에 포함된 복수의 영역 중 어느 하나의 영역을 결정하여 현재 위치를 결정하는 것을 특징으로 한다.
상기 제어부는, 현재 위치로부터 상기 지정영역까지의 경로를 설정하고, 상기 주행부를 제어하여 상기 지정영역으로 이동하여 상기 지정영역에 대한 청소를 수행하는 것을 특징으로 한다.
상기 제어부는 상기 지정영역이 복수로 설정된 경우, 우선영역 설정 여부를 판단한 후, 상기 우선영역을 청소한 후, 나머지 지정영역을 청소하는 것을 특징으로 한다.
상기 제어부는 상기 지정영역이 복수로 설정된 경우, 설정된 청소순서에 대응하여 순차적으로 상기 지정영역을 청소하는 것을 특징으로 한다.
상기 제어부는 상기 지정영역이 복수로 설정된 경우, 현재위치로부터 가까운 하나의 지정영역으로 이동하여 청소를 수행한 후, 상기 지정영역 간의 거리에 따라 이동거리가 짧은 지정영역 순으로 청소를 수행하는 것을 특징으로 한다.
상기 제어부는 상기 저장부에 상기 맵이 존재하지 않는 경우, 상기 주행구역을 주행하며 촬영되는 상기 획득영상을 분석하여 상기 주행구역을 복수의 영역으로 구분하고 상기 맵을 생성하는 것을 특징으로 한다.
상기 제어부는 상기 청소명령을 입력하는 외부 단말기로 상기 맵을 전송하고, 상기 외부 단말기는 상기 맵을 화면에 표시하고, 상기 맵에 포함된 복수의 영역 중 적어도 하나의 영역에 대하여 상기 청소명령을 입력하는 것을 특징으로 한다.
상기 외부 단말기는 상기 맵에 포함되는 복수의 영역 중 적어도 하나의 영역을 상기 지정영역으로 설정하여 상기 청소명령을 전송하는 것을 특징으로 한다.
상기 외부 단말기는 상기 맵에 포함된 복수의 영역에 관계없이 구비되는 입력수단을 통해 새로운 영역을 상기 지정영역으로 설정하여 상기 청소명령을 전송하는 것을 특징으로 한다.
상기 제어부는 상기 이동 로봇의 위치 또는 청소상태에 대한 데이터를 상기 외부 단말기로 전송하고, 상기 외부 단말기는 상기 이동 로봇으로부터 수신되는 데이터에 대응하여, 상기 이동 로봇의 위치 및 청소상태를 상기 맵 상에 표시하는 것을 특징으로 한다.
상기 주행부는, 상기 구동 바퀴에 설치되어, 상기 구동 바퀴에 작용하는 상기 본체에 하중에 의해작동하는 스위치를 더 포함하고, 상기 제어부는 상기 스위치로부터 입력되는 신호에 대응하여 상기 본체가 바닥면으로부터 떨어져 위치가 변경되었는지 여부를 판단하는 것을 특징으로 한다.
상기 제어부는, 소정 기준에 따라 상기 주행구역을 복수의 소구역 또는 대구역으로 구분하는 구역구분부 및 미지의 현재 위치에서 획득된 영상으로부터 적어도 하나의 인식 특징점을 추출하고, 상기 인식 특징점에 각각 대응하는 인식 디스크립터를 산출하고, 소정 추정규칙에 따라 각각의 소구역 또는 대구역에 대한 특징분포와 상기 인식 디스크립터를 연산하여 상기 본체가 속한 어느 한 구역을 현재 위치로 결정하는 인식부를 포함한다.
상기 구역구분부는, 소정 기준에 따라 상기 주행구역을 상기 복수의 소구역이 그룹화된 복수의 대구역으로 구분하고, 상기 인식부는, 소정 상위 추정규칙에 따라 각각의 대구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 대구역을 결정하고, 결정된 상기 대구역에 속하는 복수의 소구역 중에서 상기 소정 추정규칙에 따라 각각의 소구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 소구역을 결정하는 것을 특징으로 한다. 상기 인식부는, 결정된 상기 소구역에 속하는 복수의 위치 중에서 연관성을 산출하여 상기 현재 위치를 결정하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 이동 로봇의 제어방법은 주행구역을 복수의 영역으로 구분한 맵을 바탕으로, 상기 복수의 영역 중 적어도 하나의 영역이 지정영역으로 설정되어 청소명령이 입력되는 단계, 상기 맵 상의 복수의 영역 중, 현재 위치를 판단하는 단계, 현재 위치의 변경 여부를 판단한 후, 현재 위치가 상기 맵 상의 위치와 일치하지 않는 경우 현재 위치를 복구하는 단계, 현재 위치로부터 상기 지정영역까지의 주행경로를 설정하여 상기 지정영역으로 이동하는 단계 및 상기 지정영역에 대한 청소를 수행하는 단계를 포함한다.
또한, 본 발명의 이동 로봇 제어시스템은, 주변의 영상을 획득하는 영상획득부를 포함하여, 주행구역을 복수의 영역으로 구분한 맵을 바탕으로, 상기 주행구역을 이동하며 청소를 수행하는 이동 로봇 및 상기 맵을 저장하고, 상기 복수의 영역 중 적어도 하나의 영역을 지정영역으로 설정하여 상기 이동 로봇으로 청소명령을 입력하는 외부 단말기를 포함하며, 상기 이동 로봇은 상기 청소명령이 입력되면, 본체의 위치 변경 여부를 판단한 후, 상기 맵 상의 위치와, 현재 위치가 일치하는지 여부를 판단하여, 현재 위치를 복구한 후 상기 청소명령에 따라 상기 지정영역으로 이동하여 청소를 수행하는 것을 특징으로 한다.
본 발명의 이동 로봇 및 그 제어방법은 이동 로봇의 전역위치인식 기능을 기반으로 이동 로봇이 맵 상에서의 현재 위치를 정확하게 파악할 수 있고, 이동 로봇의 위치가 임의로 변경되더라도 자신의 위치를 다시 인식하도록 함으로써 자신의 현재 위치를 파악하지 못하고 시행 착오를 거듭하는 현상을 방지할 수 있다. 그에 따라 이동 로봇 스스로 지정된 영역으로 정확하게 이동하여 청소를 수행할 수 있고, 정확한 이동으로 인하여 청소에 소요되는 시간이 크게 단축되는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.
도 2는 도 1에 도시된 이동 로봇의 상면부를 도시한 도이다.
도 3은 도 1에 도시된 이동 로봇의 정면부를 도시한 도이다.
도 4는 도 1에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 6 은 본 발명의 이동 로봇의 영역 구분 및 그에 따른 맵 생성의 예가 도시된 도이다.
도 7a 및 도 7b 는 본 발명의 이동 로봇의 맵을 이용한 청소 영역을 지정하는 예가 도시된 도이다.
도 8 은 본 발명의 이동 로봇의 맵 상에 영역지정 방법의 일 예를 설명하는데 참조되는 도이다.
도 9 는 본 발명의 이동 로봇의 지정영역 청소에 따른 제어방법이 도시된 순서도이다.
도 10 은 본 발명의 이동 로봇 및 외부 단말기 간의 신호흐름이 도시된 흐름도이다.
도 11 은 본 발명의 제 1실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 12 는 본 발명의 제 2실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 13 은 본 발명의 이동 로봇의 소구역 및 대구역에 대한 인식 방법을 설명하는데 참조되는 도이다.
도 14 은 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 대구역을 도시한 예시도이다.
도 15 는 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 영역에 대한 상하위 관계를 나타낸 개념도이다.
도 16 은 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 영역에 대한 영상이 도시된 예시도이다.
도 17 은 도 16의 어느 하나의 위치에서 획득한 영상으로부터 특징점을 도시한 도이다.
도 18 은 본 발명의 일실시예에 따른 특정 영역의 특징점에 대한 n차원 벡터인 디스크립터를 산출하는 도식을 나타낸 개념도이다.
도 19 는 본 발명의 일실시예에 따른 분류규칙에 따른 대표 디스크립터 산출에 대한 도식을 나타낸 개념도이다.
도 20a 및 도 20b 는 본 발명의 일실시예에 따른 특징분포가 도시된 도이다.
도 21 은 본 발명의 이동 로봇이, 미지의 현재 위치에서 획득한 영상에서 인식 특징점을 도시한 그림이다.
도 22 는 도 19 에서 획득한 영상의 인식 특징점에 대한 n차원 벡터인 인식 디스크립터를 산출하는 도식을 나타낸 개념도이다.
도 23a 및 도 23b는 인식 디스크립터로부터 특징분포를 산출하는 과정을 설명하는데 참조되는 도이다.
도 24는 위치 점핑 상황이 발생 시 위치를 인식하는 시나리오가 도시된 흐름도이다.
도 2는 도 1에 도시된 이동 로봇의 상면부를 도시한 도이다.
도 3은 도 1에 도시된 이동 로봇의 정면부를 도시한 도이다.
도 4는 도 1에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 6 은 본 발명의 이동 로봇의 영역 구분 및 그에 따른 맵 생성의 예가 도시된 도이다.
도 7a 및 도 7b 는 본 발명의 이동 로봇의 맵을 이용한 청소 영역을 지정하는 예가 도시된 도이다.
도 8 은 본 발명의 이동 로봇의 맵 상에 영역지정 방법의 일 예를 설명하는데 참조되는 도이다.
도 9 는 본 발명의 이동 로봇의 지정영역 청소에 따른 제어방법이 도시된 순서도이다.
도 10 은 본 발명의 이동 로봇 및 외부 단말기 간의 신호흐름이 도시된 흐름도이다.
도 11 은 본 발명의 제 1실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 12 는 본 발명의 제 2실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 13 은 본 발명의 이동 로봇의 소구역 및 대구역에 대한 인식 방법을 설명하는데 참조되는 도이다.
도 14 은 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 대구역을 도시한 예시도이다.
도 15 는 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 영역에 대한 상하위 관계를 나타낸 개념도이다.
도 16 은 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 영역에 대한 영상이 도시된 예시도이다.
도 17 은 도 16의 어느 하나의 위치에서 획득한 영상으로부터 특징점을 도시한 도이다.
도 18 은 본 발명의 일실시예에 따른 특정 영역의 특징점에 대한 n차원 벡터인 디스크립터를 산출하는 도식을 나타낸 개념도이다.
도 19 는 본 발명의 일실시예에 따른 분류규칙에 따른 대표 디스크립터 산출에 대한 도식을 나타낸 개념도이다.
도 20a 및 도 20b 는 본 발명의 일실시예에 따른 특징분포가 도시된 도이다.
도 21 은 본 발명의 이동 로봇이, 미지의 현재 위치에서 획득한 영상에서 인식 특징점을 도시한 그림이다.
도 22 는 도 19 에서 획득한 영상의 인식 특징점에 대한 n차원 벡터인 인식 디스크립터를 산출하는 도식을 나타낸 개념도이다.
도 23a 및 도 23b는 인식 디스크립터로부터 특징분포를 산출하는 과정을 설명하는데 참조되는 도이다.
도 24는 위치 점핑 상황이 발생 시 위치를 인식하는 시나리오가 도시된 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 이하, 이동 로봇은 하나 또는 그 이상의 프로세서로 구현될 수 있고, 하드웨어 장치로 구현될 수 있다.
이하에서는 도면을 참조하여 본 발명의 실시 예에 대해서 구체적으로 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이고, 도 2는 도 1에 도시된 이동 로봇의 상면부를 도시한 도이며, 도 3은 도 1에 도시된 이동 로봇의 정면부를 도시한 도이고, 도 4는 도 1에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 1 내지 도 4에 도시된 바와 같이, 이동 로봇(100)은 본체(110)와, 본체(110) 주변의 영상을 획득하는 영상획득부(120)를 포함한다. 이하, 본체(110)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 2 참조)로 정의하고, 주행구역 내의 바닥을 향하는 부분을 저면부(도 4 참조)로 정의하며, 상면부와 저면부 사이에서 본체(110)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 3 참조)라고 정의한다.
이동 로봇(100)은 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 구동 바퀴(136)를 포함한다. 주행부(160)는 구동 바퀴(136)에 연결되어 구동 바퀴를 회전시키는 구동 모터(미도시)를 포함한다. 구동 바퀴(136)는 본체(110)의 좌, 우측에 각각 구비될 수 있으며, 이하, 각각 좌륜(136(L))과 우륜(136(R))이라고 한다.
좌륜(136(L))과 우륜(136(R))은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜(136(L))을 구동시키는 좌륜 구동 모터와 우륜(136(R))을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜(136(L))과 우륜(136(R))의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체(110)의 주행방향을 전환할 수 있다.
또한, 주행부(160)는 구동 바퀴에 설치된 스위치를 포함한다. 스위치는 구동바퀴의 어느 일측에 설치되어, 본체(110)가 바닥면에 위치한 경우, 본체에 의해 구동바퀴에 작용하는 하중으로 스위치가 작동하여 감지신호를 제어부로 입력한다. 한편, 본체가 들려 바닥면으로부터 떨어지면 구동 바퀴에 작용하는 하중이 감소하게 되어, 스위치가 오프되어 제어부로 신호를 입력한다. 단, 스위치의 온/오프 상태를 변경될 수 있다.
본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(110h)가 형성될 수 있으며, 본체(110) 내에는 흡입구(110h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(110h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.
본체(110)는 이동 로봇(100)을 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(111)를 포함할 수 있다. 케이스(111)에는 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.
흡입구(110h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(134)와, 본체(110)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(135)가 구비될 수 있다. 이들 브러시(134, 135)들의 회전에 의해 주행구역 내 바닥으로부터 먼지들이 분리되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(110h)를 통해 흡입되어 먼지통에 모인다.
배터리(138)는 구동 모터뿐만 아니라, 이동 로봇(100)의 작동 전반에 필요한 전원을 공급한다. 배터리(138)가 방전될 시, 이동 로봇(100)은 충전을 위해 충전대(200)로 복귀하는 주행을 할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(100)은 스스로 충전대(200)의 위치를 탐지할 수 있다.
충전대(200)는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다. 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되어야하는 것은 아니다.
이동 로봇(100)은 복귀 신호를 수신하는 신호 감지부(미도시)를 포함할 수 있다. 충전대(200)는 신호 송출부를 통해 적외선 신호를 송출하고, 신호 감지부는 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(100)은 충전대(200)로부터 송출된 적외선 신호에 따라 충전대(200)의 위치로 이동하여 충전대(200)와 도킹(docking)한다. 이러한 도킹에 의해 이동 로봇(100)의 충전 단자(133)와 충전대(200)의 충전 단자(210) 간에 충전에 이루어진다.
영상획득부(120)는 주행구역을 촬영하는 것으로, 디지털 카메라를 포함할 수 있다. 디지털 카메라는 적어도 하나의 광학렌즈와, 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를들어, pixel)를 포함하여 구성된 이미지센서(예를들어, CMOS image sensor)와, 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.
바람직하게, 영상획득부(120)는 본체(110)의 상면부에 구비되어, 주행구역 내의 천장에 대한 영상을 획득하나, 영상획득부(120)의 위치와 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다. 예를들어, 영상획득부(120)는 본체(110) 전방의 영상을 획득하도록 구비될 수도 있다.
또한, 이동 로봇(100)은 전방의 장애물을 감지하는 장애물 감지센서(131)를 더 포함할 수 있다. 이동 로봇(100)은 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(132)와, 바닥의 영상을 획득하는 하부 카메라 센서(139)를 더 포함할 수 있다.
또한, 이동 로봇(100)은 On/Off 또는 각종 명령을 입력할 수 있는 조작부(137)를 포함한다. 조작부(137)를 통해 이동 로봇(100)의 작동 전반에 필요한 각종 제어명령을 입력받을 수 있다. 또한, 이동 로봇(100)은 출력부(미도시)를 포함하여, 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 표시할 수 있다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 5를 참조하면, 이동 로봇(100)은 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(140), 및 각종 데이터를 저장하는 저장부(150)를 포함한다. 또한, 이동 로봇(100)은 외부 단말기와 데이터를 송수신하는 통신부(190)를 더 포함할 수 있다. 제어부를 포함하여, 이동로봇을 구성하는 각 부는 하나 또는 그 이상의 프로세서로 구현될 수 있고, 하드웨어 장치로 구현될 수 있다.
외부 단말기는 이동 로봇(100)을 제어하기 위한 어플리케이션을 구비하고, 어플리케이션의 실행을 통해 이동 로봇(100)이 청소할 주행구역에 대한 맵을 표시하고, 맵 상에 특정 영역을 청소하도록 영역을 지정할 수 있다. 외부 단말기는 맵 설정을 위한 어플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다.
외부 단말기는 이동 로봇(100)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다.
제어부(140)는 이동 로봇(100)을 구성하는 영상획득부(120), 조작부(137), 주행부(160)를 제어하여, 이동 로봇(100)의 동작 전반을 제어한다.
저장부(150)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.
또한, 저장부(150)에는 주행구역에 대한 맵(Map)이 저장될 수 있다. 맵은 이동 로봇(100)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기에 의해 입력된 것일 수도 있고, 이동 로봇(100)이 스스로 학습을 하여 생성한 것일 수도 있다.
맵에는 주행구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(100)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(150)에 저장된 맵과 동일한 맵을 저장한다.
제어부(140)는 주행제어부(141), 구역구분부(142), 학습부(143) 및 인식부(144)를 포함한다.
주행제어부(141)는 이동 로봇(100)의 주행을 제어하는 것으로, 주행 설정에 따라 주행부(160)의 구동을 제어한다. 또한, 주행제어부(141)는 주행부(160)의 동작을 바탕으로 이동 로봇(100)의 이동 경로를 파악할 수 있다. 예를 들어, 주행제어부(141)는 구동 바퀴(136)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(136(L), 136(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 이동 로봇(100)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수 있다.
또한, 주행제어부(141)는 구동 바퀴에 구비되는 스위치로부터 입력되는 신호에 대응하여 본체(110)가 바닥면에 위치하는지, 또는 본체가 들려 바닥면으로부터 떨어져 있는지 여부를 판단한다. 주행제어부(141)는 본체가 들렸다가 바닥면으로 복귀하는 경우 인식부로 현재 위치를 확인하도록 한다.
구역구분부(142)는 소정 기준에 따라 주행구역을 복수의 구역으로 구분할 수 있다. 주행구역은 이동 로봇(100)이 주행 경험이 있는 모든 평면상의 구역 및 현재 주행하고 있는 평면상의 구역을 모두 합한 범위로 정의될 수 있다.
구역구분부(142)는 주행구역을 복수의 소구역으로 구분하며, 소구역은 주행구역 내의 각 실(방)을 근거로 구분될 수 있다. 또한, 구역구분부(142)는 주행구역을 주행능력상 서로 분리된 복수의 대구역으로 구분할 수 있다. 예를 들면, 같은 평면이라 하더라도 서로 동선 상 완전히 분리된 두개의 실내공간은 각각 두개의 대구역으로 구분될 수 있다. 다른 예로, 같은 실내 공간이라 하더라도, 상기 대구역은 주행구역 내의 각 층을 근거로 구분될 수 있다.
학습부(143)는 주행구역의 맵을 생성할 수 있다. 또한, 학습부(143)는 각 위치에서 영상획득부(120)를 통해 획득한 영상을 처리하여 맵과 연계시켜 전역위치를 인식한다. 본체의 각 위치는 맵 상에서 각각 노드(node)로 저장될 수 있다.
학습부(143)는 각 지점에서 획득한 영상을 상기 맵 상의 각 노드와 매칭시킨다. 획득 영상 들은 노드 들에 각각 대응할 수 있다.
학습부(143)는 노드(N)와 노드간의 주행 변위를 근거로 하여 맵을 생성할 수 있다.
학습부(143)는, 주행 변위 정보를 바탕으로 맵 상의 노드의 정보를 생성시킨다. 예를 들어, 원점을 기준으로 측정한 주행 변위를 근거로 하여, 노드 좌표 정보를 생성할 수 있다. 노드 정보는 노드 좌표 정보를 포함할 수 있다. 노드 정보는 노드에 대응하는 획득 영상의 정보를 포함할 수 있다.
또한, 학습부(143)는 기 생성된 맵을 갱신할 수 있다. 학습부(143)는 재차의 주행을 통해 기 저장된 노드 좌표 정보를 갱신할 수 있다. 학습부(143)는 재차의 주행을 통해 기 저장된 노드에 대응하는 획득 영상의 정보를 갱신할 수 있다.
주행 정보를 바탕으로 현재 위치를 인식하는 방법은 이동 로봇(100)의 연속적인 주행이 전제되어야 가능한 것이고, 위치 점핑(Jumping) 상황이 발생된 경우에는 주행 정보를 바탕으로 현재 위치를 파악할 수 없다.
위치 점핑(Jumping) 상황 맵 상의 이동 경로의 추적이 불가한 상태에서 이동 로봇이 이동된 상황을 의미한다. 구체적으로, 위치 점핑 상황은, 주행 변위를 측정할 수 없는 상태에서 이동 로봇이 이동된 경우에 발생할 수 있다.
위치 점핑 상황의 일 예로, 주행 중인 이동 로봇을 사용자가 강제로 들어서 옮긴 납치(Kidnapping) 상황이나, 이동 로봇의 전원이 오프(off)된 상태에서 이동 로봇의 위치를 강제로 옮긴 상황이 있다. 또한, 먼지통의 청소를 위해 본체로부터 먼지통을 분리하는 경우 본체의 위치 변동이 발생하게 된다.
인식부(144)는 현재 위치를 추정하여 인식한다. 인식부(144)는 영상획득부(120)의 영상 정보를 이용하여 학습부(143)과 연계하여 위치를 파악함으로써, 이동 로봇(100)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
이동 로봇(100)은 구역구분부(142)를 통해 연속적인 주행 중에 위치 인식이 가능하고 또한, 구역구분부(142)가 구비되지 학습부(143) 및 인식부(144)를 통해, 맵을 학습하고 현재 위치를 추정할 수 있다. 인식부(144)는 앞서 설명한 위치 점핑 상황에서, 영상 정보를 이용하여 현재 위치를 인식한다.
이동 로봇(100)이 주행하는 중에, 영상획득부(120)는 이동 로봇(100) 주변의 영상들을 획득한다. 이하, 영상획득부(120)에 의해 획득된 영상을 '획득영상'이라고 정의한다. 획득영상에는 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 포함된다.
학습부(143)는 획득영상들 각각으로부터 특징을 검출한다. 컴퓨터 비전(Computer Vision) 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법(Feature Detection)이 잘 알려져 있다. 이들 특징의 검출에 적합한 여러 특징검출기(feature detector)들이 알려져 있다. 예를들어, Canny, Sobel, Harris&Stephens/Plessey, SUSAN, Shi&Tomasi, Level curve curvature, FAST, Laplacian of Gaussian, Difference of Gaussians, Determinant of Hessian, MSER, PCBR, Grey-level blobs 검출기 등이 있다.
학습부(143)는 각 특징점을 근거로 디스크립터를 산출한다. 학습부(143)는 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점을 디스크립터(descriptor)로 변환할 수 있다. 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.
SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 이동 로봇(100)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다. 물론, 이에 한정되지 않고 다른 다양한 기법(예를들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.
학습부(143)는 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다.
다른 예로, 실(room)과 같이 소정 구역 내의 획득영상 들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
학습부(143)는 이 같은 과정을 거쳐, 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 또 다른 예로, 학습부(143)는 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 이동 로봇(100)의 현재 위치가 미지의 상태가 된 경우에, 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
이동 로봇(100)은, 미지의 현재 위치에서 영상획득부(120)를 통해 획득영상을 획득한다. 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.
인식부(144)는 획득영상으로부터 특징들을 검출한다. 컴퓨터 비전 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법 및 이들 특징의 검출에 적합한 여러 특징검출기들에 대한 설명은 상기한 바와 같다.
인식부(144)는 각 인식 특징점을 근거로 인식 디스크립터 산출단계(S31)를 거쳐 인식 디스크립터를 산출한다. 이때 인식 특징점 및 인식 디스크립터는 인식부(144)에서 수행하는 과정을 설명하기 위한 것으로 학습부(143)에서 수행하는 과정을 설명하는 용어와 구분하기 위한 것이다. 다만, 이동 로봇(100)의 외부 세계의 특징이 각각 다른 용어로 정의되는 것에 불과하다.
인식부(144)는 본 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 인식 특징점을 인식 디스크립터로 변환할 수 있다. 인식 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.
SIFT는 앞서 설명한 바와 같이, 획득영상에서 코너점 등 식별이 용이한 특징점을 선택한 후, 각 특징점 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다.
인식부(144)는 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.
소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
이와 같이, 제어부(140)는 주행구역을 구분하고 복수의 영역으로 구성된 맵을 생성하거나, 기 저장된 맵을 바탕으로 본체(110)의 현재 위치를 인식할 수 있다.
제어부(140)는 맵이 생성되면, 생성된 맵을 통신부(190)를 통해 외부 단말기로 전송한다. 또한, 제어부(140)는 앞서 설명한 바와 같이, 외부 단말기로부터 맵이 수신되면, 저장부에 저장할 수 있다.
또한 제어부(140)는 주행 중 맵이 갱신되는 경우 갱신된 정보를 외부 단말기로 전송하여 외부 단말기와 이동 로봇(100)에 저장되는 맵이 동일하도록 한다. 외부 단말기와 이동 로봇(100)에 저장된 맵이 동일하게 유지됨에 따라 이동 단말기로부터의 청소명령에 대하여, 이동 로봇(100)이 지정된 영역을 청소할 수 있으며, 또한, 외부 단말기에 이동 로봇의 현재 위치가 표시될 수 있도록 하기 위함이다.
이때, 맵은 청소 영역을 복수의 영역으로 구분되고, 복수의 영역을 연결하는 연결통로가 포함하며, 영역 내의 장애물에 대한 정보를 포함한다. 청소 영역에 대한 구분은, 앞서 설명한 바와 같이 구역구분부(142)에 의해 소영역 및 대영역으로 구분된다.
제어부(140)는 청소명령이 입력되면, 맵 상의 위치와 이동 로봇의 현재위치가 일치하는지 여부를 판단한다. 청소명령은 리모컨, 조작부 또는 외부 단말기로부터 입력될 수 있다.
예를 들어 본체가 사용자에 의해 들려 위치가 변경된 경우, 본체의 전원이 꺼진(OFF) 후, 다시 켜진(ON) 경우, 먼지통이 분리된 후 다시 장착된 경우, 현재 위치를 확인한다. 또한, 주행 중 미끄러짐 현상 등으로 인하여 위치에 오차가 발생할 수 있으므로 현재 위치를 확인한다.
또한, 제어부(140)는 구동바퀴에 설치된 스위치의 신호에 따라 본체의 위치가 변경된 것으로 판단할 수 있다. 구동 바퀴에 설치된 스위치는 본체가 바닥면에 위치하는 경우, 휠에 작용하는 본체의 무게에 의해 눌려 온 상태가 되고, 본체가 바닥면으로부터 떨어지는 경우 오프 상태가 된다. 제어부(140)는 스위치 신호가 온상태에서 오프상태로 변경된 후, 다시 온 상태가 되면, 현재 위치를 확인하도록 한다.
제어부(140)는 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 한 후, 현재 위치를 바탕으로 지정영역으로 이동하도록 주행부를 제어한다.
현재 위치가 맵 상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인할 수 없는 경우, 인식부(144)는 영상획득부(120)로부터 입력되는 획득영상을 분석하여 맵을 바탕으로 현재 위치를 추정할 수 있다. 또한, 구역구분부(142) 또는 학습부(143) 또한, 앞서 설명한 바와 같이 현재 위치를 인식할 수 있다.
인식부는 획득영상을 분석하여 추출되는 특징점 데이터를, 학습부에 의해 기 생성된, 맵에 대한 데이터와 비교하여 상호 연계하여 연관성을 분석함으로써 위치를 추정한다.
위치 점핑 상황에서, 동일한 대구역 영역 내에서 위치가 변경되는 경우, 동선이 연결되지 않는 다른 대구역으로 이동되는 경우, 또는 맵을 포함하지 않는 새로운 영역으로 이동되는 경우가 발생할 수 있다.
인식부는 하나의 영역 내에서의 이동 또는 다른 대구역간의 이동이라 하더라도, 기 저장된 맵이 존재하는 경우, 획득영상과 맵을 바탕으로 현재 위치를 추정한다. 한편, 새로운 영역으로 이동되어 현재 위치에 대응하는 맵이 존재하지 않는 경우, 제어부는 구역구분부 및 학습부를 통해 현재 위치를 바탕으로 새로운 맵을 생성하여 현재 위치를 인식할 수 있다.
위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 후, 주행제어부(141)는 현재 위치로부터 지정영역으로 이동 경로를 산출하고 주행부(160)를 제어하여 지정영역으로 이동한다.
외부 단말기로부터 복수의 영역 중, 적어도 하나의 영역이 선택되는 경우, 주행제어부(141)는 선택된 영역을 지정영역으로 설정하고, 이동 경로를 산출한다. 주행제어부(141)는 지정영역 이동 후, 청소를 수행한다.
한편, 복수의 영역이 지정영역으로 선택된 경우, 주행제어부(141)는 복수의 영역 중 우선영역이 설정되었는지 여부 또는 선택된 복수의 지정영역에 대한 청소순서가 설정되었는지 여부를 판단한 후, 지정영역으로 이동하여 청소를 수행한다.
주행제어부(141)는 복수의 지정영역 중 어느 하나가 우선영역으로 설정된 경우, 복수의 지정영역 중 우선영역으로 이동하여, 우선영역을 제일 먼저 청소한 후 나머지 지정영역으로 이동하여 청소하도록 한다. 또한, 지정영역에 대한 청소순서가 설정된 경우 주행제어부(141)는 지정된 청소순서에 따라 지정영역을 순차적으로 이동하면서 청소를 수행한다.
또한, 주행제어부(141)는 맵 상의 복수의 영역에 대한 구분에 관계없이 새롭게 임의의 영역이 설정되는 경우, 설정된 지정영억으로 이동하여 청소를 수행하도록 한다.
제어부(140)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 저장부(150)에 저장한다.
또한, 제어부(140)는 통신부(190)를 통해 이동 로봇(100)의 동작상태 또는 청소상태를 소정 주기로 외부 단말기(50)로 전송한다. 그에 따라 외부 단말기(50)는 수신되는 데이터를 바탕으로, 실행중인 어플리케이션의 화면상에 맵과 함께 이동 로봇의 위치를 표시하고, 또한 청소상태에 대한 정보를 출력한다.
도 6 은 본 발명의 이동 로봇의 영역 구분 및 그에 따른 맵 생성의 예가 도시된 도이다.
도 6의 (a)에 도시된 바와 같이, 이동 로봇(100)은 저장된 맵이 존재하지 않는 경우, 월팔로윙을 통해 주행구역(X1)을 주행하면서 맵을 생성할 수 있다.
구역구분부(142)는 도 6의(b)에 도시된 바와 같이, 주행구역(X1)을 복수의 영역(A1' 내지 A9')으로 구분하여 도 6의 (c)와 같이 맵을 생성한다. 생성된 맵은 저장부(150)에 저장되고, 통신부(190)를 통해 외부 단말기(50)로 전송된다. 구역구분부(142)는 전술한 바와 같이 주행구역(X1)에 대하여 소영역과 대영역을 구분하고 그에 따른 맵을 생성한다.
외부 단말기(50)는 어플리케이션을 실행하고, 수신된 맵을 화면에 표시한다. 이때 구분된 복수의 영역(A1 내지 A9)을 각각 상이하게 표시한다. 맵은 복수의 영역(A1 내지 A9)이 각각 상이한 색상으로 표시되거나 또는 상이한 이름이 표시된다.
이동 로봇(100)은 청소명령이 입력되면, 저장된 맵을 바탕으로, 현재 위치를 판단하고, 현재 위치와 맵 상의 위치가 일치하는 경우에는 지정된 청소를 수행하고, 현재 위치가 일치하지 않는 경우, 현재 위치를 인식하여 복구한 후 청소를 수행한다. 따라서 이동 로봇(100)은 복수의 영역(A1 내지 A9) 중 어느 위치에 있더라도 현재 위치를 판단 한 후 지정영역으로 이동하여 청소를 수행할 수 있다.
도 7a 및 도 7b 는 본 발명의 이동 로봇의 맵을 이용한 청소 영역을 지정하는 예가 도시된 도이다.
도 7a에 도시된 바와 같이, 외부 단말기(50)는 도시된 바와 같이, 복수의 영역(A1 내지 A9) 중 적어도 하나의 영역을 선택하여 이동 로봇(100)으로 청소명령을 입력할 수 있다.
예를 들어 외부 단말기(50)는 제 2 영역(A2)과 제 4 영역(A4)을 선택하여 이동 로봇(100)으로 청소명령을 입력한다. 이때, 외부 단말기(50)는 제 2 영역과 제 4 영역 중 어느 하나의 영역을 우선영역으로 설정할 수 있고, 또한 청소순서를 설정할 수 있다. 예를 들어 외부 단말기(50)는 터치 순서에 따라 청소순서를 설정할 수 있다.
제 2 영역(A2)과 제 4 영역(A4)이 선택된 경우, 이동 로봇(100)은 제 2 영역(A2)과 제 4 영역(A4)으로 이동하여 각각 청소를 수행한다.
이동 로봇(100)은 제 2 영역(A2)과 제 4 영역(A4) 중 제 2 영역(A2)이 우선영역으로 설정된 경우 제 2 영역(A2)으로 이동하여 제 2 영역을 청소한 후, 제 4 영역으로 이동하여 제 4 영역을 청소한다. 우선 영역 이외의 지정영역에 대하여, 청소순서가 설정되지 않은 경우에는 복수의 지정영역에 대하여 현재 위치를 바탕으로 가까운 영역 순서로 청소를 수행할 수 있다.
이동 로봇(100)은 복수의 지정영역에 대하여 청소순서가 설정된 경우 지정된 순서에 따라 이동하며 청소를 수행한다.
제 2 영역(A2)과 제 4 영역(A4)에 대한 청소명령이 입력된 후, 우선영역 또는 청소순서가 설정되지 않은 경우, 이동 로봇(100)은 현재 위치로부터 가까운 영역으로 이동하여 청소를 수행한다.
외부 단말기(50)는 수신되는 데이터를 바탕으로 각 주행구역에 대한 청소상태를 화면에 출력한다. 외부 단말기(50)는 청소가 완료된 영역과 청소중인 영역을 각각 상이하게 표시할 수 있다.
도 7b에 도시된 바와 같이, 외부 단말기(50)는 맵에 표시된 복수의 영역(A1 내지 A9)에 관계없이, 새로운 제 10 영역(A10)을 설정하여 청소명령을 입력할 수 있다.
외부 단말기(50)는 구비되는 터치패드, 터치스크린 등의 입력수단을 통해, 맵에 표시되는 주행구역에 대하여 터치 및 드래그를 통해 새로운 영역을 설정할 수 있다. 새로운 영역은 사각형으로 표시되었으나 원형, 삼각형으로 설정될 수 있고, 터치 및 드래그되는 형태에 따라 자유롭게 설정할 수 있다.
외부 단말기(50)는 복수의 영역 중 어느 하나의 영역의 일부분을 새로운 영역으로 설정할 수 있고, 또한, 둘 이상의 영역 중 일부를 새로운 영역으로 설정할 수 있다. 예를 들어 제 10 영역은 제 3 영역과 제 4 영역의 일부를 포함한다.
이동 로봇(100)은 외부 단말기(50)로부터 새로운 영역이 지정영역으로 설정되어 청소명령이 입력되는 경우, 지정영역인 제 10 영역(A10)으로 이동한 후 제 10 영역(10)을 청소한다.
외부 단말기(50)는 이동 로봇(100)으로부터 수신되는 데이터를 바탕으로 제 10 영역에 대한 청소 상태를 표시한다.
도 8 은 본 발명의 이동 로봇의 맵 상에 영역지정 방법의 일 예를 설명하는데 참조되는 도이다.
도 8에 도시된 바와 같이, 외부 단말기(50)는 구비되는 센서를 이용하여 외부 단말기(50)의 움직임에 따라 새로운 영역 제 11 영역(A11)을 지정영역으로 설정할 수 있다. 이때 외부 단말기는 리모컨(51)이 사용될 수 있다.
외부 단말기(50)는 맵 상의 외부 단말기의 현재 위치를 기준으로, 외부 단말기의 기울기 및 움직임에 따라 새로운 영역을 설정할 수 있다. 외부 단말기(50)는 화면에 새로운 영역 제 11 영역(A11)을 맵 상에 표시하고, 지정영역으로 설정하여 이동 로봇(100)으로 제 11 영역에 대한 청소명령을 전송할 수 있다.
또한, 이동 로봇(100)은 외부 단말기(50)의 움직임에 따라 소정의 신호가 송출되는 경우, 송출되는 신호에 따라 새로운 지정영역, 제 11 영역(A11)을 인식하여 청소를 수행할 수 있다.
도 9 는 본 발명의 이동 로봇의 지정영역 청소에 따른 제어방법이 도시된 순서도이다.
도 9에 도시된 바와 같이, 이동 로봇(100)은 맵이 저장되어 있지 않은 경우, 주행구역을 주행하면서 주행거리 및 영상 획득부를 통해 입력되는 획득영상을 바탕으로 영역을 구분하고 맵을 생성한다(S310).
생성된 맵은 저장부(150)에 저장되고, 통신부(190)를 통해 외부 단말기(50)로 전송된다(S320). 외부 단말기(50)는 수신된 맵을 화면에 표시한다.
외부 단말기(50) 또는 조작부(137)를 통해 청소명령이 입력되면(S330), 이동 로봇(100)은 현재 위치와 맵 상의 위치가 일치하는지 여부를 판단한다. 이동 로봇(100)은 저장된 맵 상의 위치와, 실제 이동 로봇의 현재 위치를 비교하여 동일한지 여부를 판단한다.
이동 로봇(100)은 구역구분부(142), 학습부(143), 인식부(144) 중 적어도 하나를 통해 위치가 일치하는지 여부를 판단한다.
이때 현재 위치와 맵 상의 위치가 일치하지 않는 경우, 구역구분부(142), 학습부(143), 인식부(144) 중 적어도 하나를 통해 현재 위치를 판단하고(S350), 이동로봇의 위치를 복구한다(S360).
현재 위치와 맵 상의 위치가 일치하면, 주행제어부(141)는 현재 위치로부터 청소명령에 따른 지정영역까지의 이동경로를 설정한다(S370). 주행제어부(141)는 주행부(160)를 제어하여 설정된 이동경로에 이동 로봇(100)이 이동하도록 한다.
주행제어부(141)는 청소명령에 따른 지정영역이 복수인 경우, 지정영역 중 우선영역이 설정되었는지 여부를 판단한다(S390). 주행제어부(141)는 복수의 지정영역 중 우선영역으로 이동하여 청소를 수행한다(S400).
한편, 우선영역이 설정되지 않은 경우 주행제어부(141)는 복수의 지정영역 중, 현재 위치로부터 가까운 영역으로 이동한다.
이동 중 장애물이 감지되는 경우 주행제어부(141)는 장애물을 회피하도록 이동경로를 수정하여 이동한다.
또한, 복수의 지정영역에 대하여 청소순서가 설정된 경우 주행제어부(141)는 청소순서에 따라 지정영역을 순차적으로 이동하며 청소를 수행한다.
이동 로봇(100)은 지정영역에 대한 청소를 수행하고(S410), 청소 중 청소상태, 이동 로봇의 위치에 대한 상태 데이터를 외부 단말기(50)로 전송한다(S420). 그에 따라 외부 단말기(50)는 이동 로봇(100)의 현재 위치 및 청소상태를 화면에 표시한다. 외부 단말기(50)는 청소가 완료된 영역과 청소 중인 영역을 구분하여 표시한다.
청소가 완료되면 이동 로봇(100)은 청소기록을 저장부(150)에 저장하고(S430), 외부 단말기(50)로 청소완료에 대한 데이터를 전송한다.
도 10 는 본 발명의 이동 로봇 및 외부 단말기 간의 신호흐름이 도시된 흐름도이다.
도 10에 도시된 바와 같이, 이동 로봇(100)이 맵을 생성하면(S510), 이동 로봇(100)은 생성됨 맵을 외부 단말기(50)로 전송한다(S520). 이동 로봇(100)은 청소명령이 입력되기까지 대기한다(S530).
외부 단말기(50)는 이동 로봇의 청소를 제어하기 위한 어플리케이션을 실행하고, 수신된 맵을 표시한다(S540). 외부 단말기(50)는 구비되는 입력수단을 통해 맵 상의 어느 하나의 영역이 선택되거나 또는 새로운 영역을 지정할 수 있다(S550). 외부 단말기(50)는 지정영역에 대한 청소명령을 이동 로봇(100)으로 전송한다(S560).
이동 로봇(100)은 청소명령이 입력되면, 현재 위치를 확인하고(S570), 현재 위치가 맵 상의 위치와 일치하는지 여부를 판단한 후, 현재 위치를 복구한 후(S580), 지정영역으로의 이동경로를 설정한다.
이동 로봇(100)은 현재 위치를 복구하는 경우, 이동 로봇(100)의 현재 위치에 대한 위치정보를 외부 단말기(50)로 전송한다(S590). 외부 단말기(50)는 수신되는 데이터에 따라 맵 상에 이동 로봇(100)의 위치를 표시한다(S600).
이동 로봇(100)은 현재 위치를 복구 한 후, 설정된 이동 경로에 따라 지정영역으로 이동한다(S610).
이동 로봇(100)은 하나 또는 둘 이상의 지정영역에 대하여 주행하면서 청소를 수행한다(S620). 복수의 지정영역이 선택된 경우, 우선영역 또는 청소순서에 따라 영역을 이동하며 청소를 수행하고, 우선영역 또는 청소순서가 설정되지 않은 경우 가까운 영역으로 이동하며 청소를 수행할 수 있다.
이동 로봇(100)은 청소를 수행하는 중, 현재 위치와 청소상태에 대한 데이터를 외부 단말기(50)로 주기적으로 전송한다(S630).
외부 단말기(50)는 이동하는 이동 로봇(100)에 대한 위치와 청소상태를 표시한다(S640). 외부 단말기(50)는 선택된 지정영역을 다른 영역과 구분하여 표시하고, 또한 청소가 완료된 영역과 청소중인 영역을 구분하여 표시한다.
이동 로봇(100)은 청소가 완료되면(S650), 청소기록을 저장하고, 청소완료에 따른 데이터를 외부 단말기(50)로 전송한다(S660). 외부 단말기(50)는 수신되는 데이터에 따라 청소가 완료되었음을 화면에 표시한다(S670).
주행구역(X)을 복수의 소구역으로 구분하여 맵을 학습하고 또는 현재위치를 인식하는 제 1실시예를 설명하면 다음과 같다.
도 11 은 본 발명의 제 1실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
구역구분부(142)는 소정 기준에 따라 주행구역(X)을 복수의 소구역으로 구분한다.
제 1실시예에 따른 제어방법은, 소정 기준에 따라 주행구역(X)을 복수의 소구역으로 구분하는 소구역 구분단계(S11), 주행구역을 학습하여 맵을 생성하는 학습단계, 및 맵 상에서 현재 위치를 결정하는 인식단계를 포함한다. 소구역 구분단계(S11)와 학습단계는 일부가 동시에 진행될 수 있다.
학습단계는, 각각의 소구역 내의 복수의 위치에서 각각 영상을 획득하고, 각각의 영상에서 특징점을 추출하고, 각각의 특징점에 대응하는 디스크립터를 산출하는 디스크립터 산출단계(S15)를 포함한다. 디스크립터 산출단계(S15)는 소구역 구분단계(S11)와 동시에 진행될 수 있다.
소구역 구분단계(S11) 및 디스크립터 산출단계(S15) 이후, 학습단계는, 복수의 디스크립터를 근거로 하여 소정 학습규칙에 따라 각각의 소구역 별로 산출된 소구역 특징분포를 저장하는 소구역 특징분포 산출단계(S25)를 포함한다.
인식단계는, 현재 위치의 영상을 획득하고, 획득된 영상에서 적어도 하나의 인식 특징점을 추출하고, 인식 특징점에 각각 대응하는 인식 디스크립터를 산출하는 인식 디스크립터 산출단계(S31)를 포함한다.
인식 디스크립터 산출단계(S31) 이후, 인식단계는, 소정 추정규칙에 따라 각각의 소구역 특징분포와 인식 디스크립터를 연산하여, 현재 위치가 속한 어느 한 소구역을 결정하는 소구역 결정단계(S33)를 포함한다.
소구역 결정단계(S33) 이후, 상기 인식단계는, 결정된 어느 한 소구역 내의 복수의 위치 중 상기 현재위치를 결정하는 위치 결정단계(S35)를 포함한다. 위치 결정단계에서 맵 상의 복수의 노드 중 어느 한 노드를 선택할 수 있다.
이러한 학습단계는, 주행 및 영상 획득 과정, 디스크립터를 생성하는 과정 및 노드를 생성하는 과정을 포함한다.
주행 및 영상획득 과정에서, 제어부는, 영상획득부를 통해, 이동 로봇(100)이 주행하면서 이격된 각 지점(현실의 위치) 별로 영상을 획득하고, 각 지점에 각 획득 영상을 대응하여 저장한다.
학습부는, 획득된 영상에서 추출된 복수의 특징점에 대응하는 각각의 디스크립터를 생성하고, 복수의 특징점에 복수의 디스크립터가 일대일대응 되도록 한다. 학습부는, 맵 상의 노드에 대하여, 각각의 노드가 상기 각 지점의 좌표 정보에 대응하도록 노드정보를 생성하며, 각각의 노드에 각각의 영상 정보가 대응하도록 한다.
학습 과정에서, 복수의 디스크립터를 근거로 소구역 라벨 디스크립터를 생성하고, 각 소구역별로, 소구역 내 복수의 디스크립터를 복수의 그룹으로 분류한다. 같은 그룹으로 분류된 디스크립터 들을 대표하는 소구역 라벨 디스크립터를 생성한다. 소정 라벨규칙에 따라 같은 그룹으로 분류된 디스크립터 들을 근거로 소구역 라벨 디스크립터를 생성한다. 복수의 소구역 라벨 디스크립터를 근거로 소구역 특징분포를 생성한다.
이와 같이 생성된 정보는 맵과 함께 저장된다.
인식단계는, 미지의 현재 위치에서 획득된 영상, 즉 인식 영상으로부터 복수의 특징점을 추출하고, 추출된 복수의 인식 특징점에 대응하는 각각의 인식 디스크립터를 생성한다. 복수의 인식 특징점은 복수의 인식 디스크립터에 일대일대응 한다. 이러한 과정은 미지의 현재 위치에서 적어도 하나의 인식 영상을 획득한 후 진행될 수 있다.
특징점과 디스크립터의 생성은 앞서 설명한 학습단계와 동일하나, 맵의 데이터와 현재 위치를 인식하기 위한 데이털를 구분하기 위해 인식 특징점과 인식 디스크립터로 구분하여 기재함을 명시한다.
인식단계는, 특징점과 디스크립터의 생성 후, 비교 대상 소구역 별로, 소구역 내 복수의 소구역 라벨 디스크립터들와 상기 복수의 인식 디스크립터들을 비교한다. 비교과정에서 비교 대상 소구역 별, 소구역 특징분포와 인식 특징분포를 비교할 수 있다.
인식단계는, 복수의 소구역 중 미지의 현재 위치가 속한 것으로 추정되는 어느 한 소구역을 선택하고, 가장 유사도가 높은 소구역을 선택한다.
인식단계는, 비교 대상 노드 별로 노드에 대응하는 영상의 디스크립터 정보를 인식 영상에 대응하는 인식 디스크립터 정보와 비교한다. 비교 과정에서 비교 대상 노드는, 선택된 구역 내 복수의 노드이다. 일 예로, 비교 과정에서, 각 노드에 대응하는 복수의 라벨 디스크립터와 상기 인식 영상을 근거로 생성되고 변환된 복수의 라벨 디스크립터를 서로 비교하여, 비교 대상 노드 별 유사도를 산출할 수 있다.
하나 이상의 비교대상 노드 중에 현재 위치로 추정되는 노드를 선택하고, 각 비교 대상 노드 별로 산출한 유사도 중 가장 큰 값이 산출된 노드를 선택할 수 있다.
주행구역(X)을 복수의 소구역으로 구분하여 맵을 학습하고 또는 현재위치를 인식하는 제 2실시예를 설명하면 다음과 같다.
도 12 는 본 발명의 제 2실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
제 2실시예에 따른 제어방법은, 소정 기준에 따라 주행구역(X)을 복수의 소구역으로 구분하는 소구역 구분단계(S11), 및 소정 기준에 따라 주행구역(X)을 복수의 소구역이 그룹화된 복수의 대구역으로 구분하는 대구역 구분단계(S13)를 포함한다. 여기서, 소구역 구분단계(S11) 및 대구역 구분단계(S13) 중 적어도 어느 하나를 포함하는 단계를 ‘구역 구분단계’로 지칭할 수 있다. 소구역 구분단계(S11) 및 대구역 구분단계(S13)는 동시에 진행되거나 어느 하나가 먼저 진행될 수 있다.
제 2실시예에서, 구역 구분단계는 소정 기준에 따라 주행구역(X)을 주행능력상 서로 분리된 복수의 대구역으로 구분할 수 있다.
제 2실시예에 따른 제어방법은, 주행구역을 학습하여 맵을 생성하는 학습단계, 및 맵 상에서 현재 위치를 결정하는 인식단계를 포함한다. 구역 구분단계(S11,S13)와 학습단계는 일부가 동시에 진행될 수 있다.
학습단계는, 각각의 상기 대구역 내의 복수의 위치에서 각각 영상을 획득하고, 각각의 영상에서 특징점을 추출하고, 각각의 특징점에 대응하는 디스크립터를 산출하는 디스크립터 산출단계(S15)를 포함한다. 디스크립터 산출단계(S15)는 구역 구분단계(S11,S13)와 동시에 진행될 수 있다.
구역 구분단계(S11,S13) 및 디스크립터 산출단계(S15) 이후, 학습단계는, 복수의 디스크립터를 근거로 하여 소정 학습규칙에 따라 각각의 소구역 별로 산출된 소구역 특징분포를 저장하는 소구역 특징분포 산출단계(S25)를 포함한다.
소구역 특징분포 산출단계(S25) 이후, 학습단계는, 복수의 소구역 특징분포를 근거로 하여 소정 상위 학습규칙에 따라 각각의 대구역 별로 산출된 대구역 특징분포를 저장하는 대구역 특징분포 산출단계(S27)를 더 포함한다.
인식단계는, 현재 위치의 영상을 획득하고, 획득된 영상에서 적어도 하나의 인식 특징점을 추출하고, 인식 특징점에 각각 대응하는 인식 디스크립터를 산출하는 인식 디스크립터 산출단계(S31)를 포함한다.
인식단계는, 인식 디스크립터 산출단계(S31) 이후, 소구역 결정단계(S33) 이전에, 소정 상위 추정규칙에 따라 각각의 대구역 특징분포와 인식 디스크립터를 연산하여, 현재 위치가 속한 어느 한 대구역을 결정하는 대구역 결정단계(S32)를 포함한다.
인식 디스크립터 산출단계(S31) 이후, 인식단계는, 소정 추정규칙에 따라 각각의 소구역 특징분포와 인식 디스크립터를 연산하여, 대구역 결정단계에서 결정된 대구역에 속하는 복수의 소구역 중 어느 한 소구역을 결정하는 소구역 결정단계(S33)를 포함한다.
소구역 결정단계(S33) 이후, 인식단계는, 결정된 어느 한 소구역 내의 복수의 위치 중 현재위치를 결정하는 위치 결정단계(S35)를 포함한다.
도 13 은 본 발명의 이동 로봇의 소구역 및 대구역에 대한 인식 방법을 설명하는데 참조되는 도이다.
도 13에 도시된 바와 같이, 소구역은 주행구역(X2) 내의 각 실(B1,B2,B3,B4,B5)을 근거로 구분할 수 있다. 도 13에서, 각 실(B1,B2,B3,B4,B5) 들이 벽(20)과 개폐가능한 문(21) 들에 의해서 구분된다. 구역구분부(142)가 실을 기준으로 각 실 및 나머지 구역을 각각 소구역(B1,B2,B3,B4,B5)으로 구분할 수 있다.
도 14 은 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 대구역을 도시한 예시도이다.
도 14에 도시된 바와 같이, 복수의 대구역(예를들어, X1,X2,X3)은 주행구역(X) 내의 각 층을 근거로 구분될 수 있다.
도 15 는 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 영역에 대한 상하위 관계를 나타낸 개념도이다.
도 15에 도시된 바와 같이, 주행구역(X)은 복수의 대구역(X1,X2,X3)으로 이루어지고, 각 대구역(X1,X2,X3)은 해당 대구역을 이루는 복수의 소구역으로 이루어지고, 각 소구역(A1 내지 A5, B1 내지 B5, C1 내지 C6)은 해당 소구역을 이루는 복수의 위치로 이루어진다.
예를 들어, 어느 하나의 대구역 X1은 복수의 소구역 A1 내지 A5로 이루어지고, 어느 하나의 소구역 A1은 복수의 위치 A1p1, A1p2, A1p3, …, A1pn (n은 자연수)로 이루어질 수 있다.
각 소구역(A1 내지 A5, B1 내지 B5, C1 내지 C6)은 해당 소구역을 이루는 복수의 위치로 이루어진다. 예를 들어, 어느 하나의 소구역 A1은 복수의 위치 A1p1, A1p2, A1p3, …, A1pn (n은 자연수)로 이루어질 수 있다.
또한, 각 위치에서 획득한 획득영상으로부터 얻은 데이터와 연계시킬 수 있다.
도 16 은 본 발명의 이동 로봇의 영역인식에 사용되는 복수의 영역에 대한 영상이 도시된 예시도이고, 도 17 은 도 16의 어느 하나의 위치에서 획득한 영상으로부터 특징점을 도시한 도이다.
도 16에 도시된 바와 같이, 각각의 위치(예를 들어, A1p1, A1p2, A1p3, …, A1pn)는 각각의 위치에서 획득된 획득영상과 대응한다. 각각의 위치와 이에 대응하는 획득영상으로부터 얻은 데이터는 저장부(150)에 저장될 수 있다.
영상획득부(120)는 이동 로봇(100)의 각 위치들에서 획득영상을 획득한다. 예를 들어, 도 17는 도시된 바와 같이 주행구역(X) 중 소구역 A1 내의 어느 한 위치 A1p1에서 촬영된 획득영상을 저장할 수 있다.
학습부(143)는 복수의 위치에서 획득된 각각의 영상으로부터 특징점(예를들어, f1,f2,f3,f4,f5,f6,f7)을 추출한다. 각각의 획득영상으로부터 특징을 검출하는 다양한 방법 및 여러 특징검출기들은 상기한 바와 같다.
도 18 은 본 발명의 일실시예에 따른 특정 영역의 특징점에 대한 n차원 벡터인 디스크립터를 산출하는 도식을 나타낸 개념도이다.
도 18에 도시된 바와 같이, 학습부(143)는 각각의 특징점(f1,f2,f3,..,fm)에 대응하는 디스크립터를 산출한다. 각 특징점(f1,f2,f3,..,fm)을 근거로 디스크립터 산출단계(S15)를 거쳐 디스크립터를 산출하는 것을 보여주는 도식도이다.
특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점(f1,f2,f3,..,fm)을 디스크립터(descriptor)로 변환할 수 있다. 상기 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.(n은 자연수)
은 n차원 벡터를 의미한다.의 중괄호 안의 f1(1), f1(2), f1(3),..,f1(n)은 을 이루는 각 차원의 수치를 의미한다. 나머지 에 대한 표기도 이와 같은 방식이므로 설명을 생략한다.
예를 들면, SIFT는 전술한 도 17의 획득영상에서 코너점 등 식별이 용이한 특징점(f1,f2,f3,f4,f5,f6,f7)을 선택한 후, 각 특징점(f1,f2,f3,f4,f5,f6,f7) 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다.
SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 이동 로봇(100)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다. 물론, 이에 한정되지 않고 다른 다양한 기법(예를들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.
도 19 는 본 발명의 일실시예에 따른 분류규칙에 따른 대표 디스크립터 산출에 대한 도식을 나타낸 개념도이고, 도 20a 및 도 20b 는 본 발명의 일실시예에 따른 특징분포가 도시된 도이다.
도 19에 도시된 바와 같이, 어느 하나의 소구역(A1) 내에서 산출된 복수의 디스크립터를 소정 분류규칙에 따라 복수의 군(A1G1, A1G2, A1G3,..,A1Gl)으로 분류한다. 같은 군에 포함된 복수의 디스크립터를 소정 대표규칙에 따라 각각 대표 디스크립터로 변환한다.
학습부(143)는 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다. 같은 군에 포함된 디스크립터가 오직 하나인 경우에는 디스크립터와 하위 대표 디스크립터가 결과적으로 같을 수 있다.
다른 예로, 실(room)과 같이 소정 구역내의 획득영상 들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
소정 대표규칙은 같은 군으로 분류된 적어도 하나의 디스크립터(n차원 벡터)의 평균값을 근거로 할 수 있다.
이 같은 과정을 거쳐, 도 20a 및 도 20b에 도시된 바와 같이 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 각각의 대표 디스크립터의 개수(w)가 많을수록 작아지는 스코어(s)를 도수로 하는 어느 하나의 소구역(A1) 히스토그램을 나타내고, 어느 하나의 소구역(A1) 특징분포를 시각적으로 나타내기 위한 그림이다.
어느 하나의 소구역 내에서 획득한 모든 획득영상을 통해 상기 어느 하나의 소구역 내의 모든 대표 디스크립터의 종류 및 각 종류별 개수(w)를 산출할 수 있다. 어느 하나의 소구역 특징분포는 히스토그램으로 표현될 수 있는데, 각 대표 디스크립터의 종류를 대표값(가로 축의 값)으로 보고, 각 종류별 개수(웨이트,w)가 적을수록 커지는 스코어(s)를 도수(세로 축의 값)로 보는 히스토그램으로 표현될 수 있다.
예를 들면, 어느 한 대표 디스크립터의 스코어(s1)는, 상기 어느 한 대표 디스크립터의 웨이트(w1) 분의 해당 소구역(특징분포를 구하고자 하는 소구역을 의미함)으로부터 산출된 모든 대표 디스크립터의 개수(해당 소구역의 총 웨이트(w))로 정의될 수 있다.
희소성이 있는 특징점에 의해 산출된 대표 디스크립터에 더 큰 스코어(s)를 부여하여, 후술할 미지의 현재 위치의 획득영상에 상기 희소성이 있는 특징점이 있는 경우, 더 정확하게 실제 위치가 속한 소구역을 추정할 수 있도록 한 것이다.
어느 하나의 소구역 히스토그램은, 각 대표값(대표 디스크립터)를 각 차원으로 보고, 각 대표값의 도수(스코어,s)를 각 차원의 수치로 보는 소구역 특징분포 벡터로 표현될 수 있다.
맵 상의 각 소구역의 특징분포 벡터는, 학습부(143)에 의해서 학습될 수도 있으나, 이동 로봇(100)에 외부 데이터가 입력되는 방법으로 저장될 수도 있다.
도 21 은 본 발명의 이동 로봇이, 미지의 현재 위치에서 획득한 영상에서 인식 특징점을 도시한 그림이다.
위치 도약 등의 이유로 이동 로봇(100)의 현재 위치가 미지의 상태가 된 경우에, 기 저장된 각 소구역 특징분포 벡터 등의 데이터를 근거로 현재 위치가 속한 소구역을 추정하는 과정을 설명하면, 다음과 같다.
이동 로봇(100)이 미지의 현재 위치에서 영상획득부(120)를 통해 획득영상을 획득한다. 인식부(144)는 미지의 현재 위치에서 획득된 영상으로부터 적어도 하나의 상기 인식 특징점을 추출한다. 도 21에 도시된 바와 같이 미지의 현재 위치에서 촬영된 영상의 예를 도시한 것으로, 영상을 통해 천장에 위치하는 복수의 인식 특징점(h1,h2,h3,h4,h5,h6,h7)이 확인된다.
인식부(144)는 획득영상으로부터 특징들을 검출한다. 컴퓨터 비전 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법 및 이들 특징의 검출에 적합한 여러 특징검출기술들에 대한 설명은 상기한 바와 같다.
미지의 현재 위치에서 촬영된 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.
도 22 는 도 21에서 획득한 영상의 인식 특징점에 대한 n차원 벡터인 인식 디스크립터를 산출하는 도식을 나타낸 개념도이고, 도 23a 및 도 23b는 인식 디스크립터로부터 특징분포를 산출하는 과정을 설명하는데 참조되는 도이다.
도 22는, 도 21의 각 인식 특징점(h1,h2,h3,..)을 근거로 인식 디스크립터 산출단계(S31)를 거쳐 인식 디스크립터를 산출하는 것을 보여주는 도식도이다. 인식특징점은 인식부(144)에서 수행하는 과정을 설명하는 용어로서, 학습부(143)에서 수행하는 과정을 설명하는 용어인 특징점과 구별하여 정의하나, 이동 로봇(100)의 외부 세계의 특징이 각각 다른 용어로 정의되는 것에 불과하다.
본 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 인식 특징점(h1,h2,h3,..,hn)을 인식 디스크립터로 변환할 수 있다. 인식 디스크립터는 n차원 벡터(vector)로 표기될 수 있다. 은 n차원 벡터를 의미한다. 의 중괄호 { } 안의 h1(1), h1(2), h1(3),..,h1(n)은 을 이루는 각 차원의 수치를 의미한다. 나머지 또한 이와 같은 방식이므로 설명을 생략한다.
상술한 바, SIFT는 도 21의 획득영상에서 코너점 등 식별이 용이한 특징점(h1,h2,h3,h4,h5,h6,h7)을 선택한 후, 각 특징점(h1,h2,h3,h4,h5,h6,h7) 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다.
인식부(144)는 도 23a 및 도 23b에 도시된 바와 같이, 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 변환규칙에 따라 비교대상이 되는 소구역 정보(예를 들면, 각 소구역 특징분포)와 비교 가능한 정보(인식 특징분포)로 변환한다. 예를 들면, 소정 변환규칙에 따라 상기 적어도 하나의 인식 디스크립터를 근거로, 각 소구역 특징분포 벡터와 비교 가능한 인식 특징분포 벡터를 산출할 수 있다. 인식 디스크립터 들은 비교대상 소구역 별로 상기 소정 변환규칙을 거쳐 근접한 대표 디스크립터로 각각 변환된다.
소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
인식부(144)는, 소정 추정규칙에 따라 각각의 상기 소구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 소구역을 결정한다.
일 실시예로, 비교대상이 되는 어느 한 소구역의 상기 소구역 특징분포 벡터의 각 차원(각 대표 디스크립터)을 기준으로, 소정 변환규칙에 따라 적어도 하나의 인식 디스크립터를 각각 벡터 간 거리가 가장 가까운 대표 디스크립터로 변환시킬 수 있다. 예를 들어, 인식 디스크립터는 어느 한 소구역 특징분포를 이루는 대표 디스크립터들 중 가장 거리가 가까운 어느 하나로 각각 변환될 수 있다.
나아가, 상기 소정 변환규칙에서 인식 디스크립터 및 인식 디스크립터에 가장 가까운 대표 디스크립터 사이의 거리가 소정 값을 초과하는 경우에는, 해당 인식 디스크립터는 제외시키고 나머지 인식 디스크립터 들에 대한 정보만을 가지고 변환을 진행할 수도 있다.
어느 하나의 비교대상 소구역과 비교하는 경우에 있어서, 변환된 대표 디스크립터의 종류 및 각 종류별 개수(인식웨이트, wh)를 근거로, 상기 비교대상 소구역에 대한 인식 특징분포를 정의할 수 있다. 상기 비교대상 소구역에 대한 인식 특징분포는 인식 히스토그램으로 표현될 수 있는데, 각 변환된 대표 디스크립터의 종류를 대표값으로 보고, 각 종류별 개수(인식웨이트,wh)가 클수록 커지는 인식스코어(sh)를 도수로 보는 인식 히스토그램으로 표현될 수 있다. 예를 들면, 어느 한 변환된 대표 디스크립터의 스코어(sh1)는, 인식 디스크립터 들이 변환된 모든 대표 디스크립터의 개수(총 인식웨이트(wh)) 분의 상기 어느 한 변환된 대표 디스크립터의 웨이트(wh1)로 정의될 수 있다.
미지의 현재 위치의 인식특징점에 의해 산출된 변환된 대표 디스크립터의 개수가 많을수록 더 큰 인식스코어(sh)를 부여하여, 미지의 현재 위치의 획득영상에 유사한 인식특징점들이 많이 존재한다면 이를 현재 위치의 추정에 있어서 주요 단서로 보아, 더 정확하게 실제 위치를 추정할 수 있도록 한 것이다.
미지의 현재위치의 비교대상 위치에 대한 인식 히스토그램은, 각 대표값(변환된 대표 디스크립터)을 각 차원으로 보고, 각 대표값의 도수(인식스코어,sh)를 각 차원의 수치로 보는 인식 특징분포 벡터로 표현될 수 있다. 이를 통해, 각 비교대상 소구역 별로 각각 비교 가능한 인식 특징분포 벡터를 산출할 수 있다.
다음으로, 각각의 소구역 특징분포와 각각의 비교대상 소구역에 대한 인식 특징분포를 서로 비교하여 각각의 유사도를 산출하여, 미지의 현재위치가 속한 소구역을 결정한다.
소정 추정규칙은, 각각의 상기 소구역 특징분포를 상기 인식 특징분포와 비교하여 각각의 유사도를 산출하는 소정 비교규칙을 포함한다. 소정 비교규칙에 따라 각각의 소구역 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 예를 들어, 어느 하나의 소구역 특징분포 벡터와 이에 대한 각각의 인식 특징분포 벡터(비교대상 소구역에 따라 소정 변환규칙에 따라 비교가능하게 변환된 인식 특징분포 벡터를 의미함)의 유사도를 산출한다.
각각의 비교대상 소구역 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 소구역을 현재위치가 속한 소구역으로 결정할 수 있다.
인식부(144)는, 결정된 상기 소구역에 속하는 복수의 위치 중에서 상기 현재 위치를 결정할 수 있다.
도 24는 위치 점핑 상황이 발생 시 위치를 인식하는 시나리오가 도시된 흐름도이다. 앞서 설명한 바와 같이 이동로봇은, 맵을 생성하고, 맵을 바탕으로 현재 위치를 인식하여, 현재 위치를 복구할 수 있다.
도 24에 도시된 바와 같이, 맵이 생성된 상태에서, 이동 로봇이 주행을 하면(S701), 현재 위치를 인식하여 맵상의 위치와 본체의 현재 위치를 매칭하여 주행을 계속한다(S702).
주행 중, 본체의 위치가 변경되는 경우, 또는 전원이 오프된 이후에 다시 온 된 경우, 제어부는 위치 점핑 상황으로 판단한다(S711).
제어부는 현재 위치를 확인할 수 없는 상태이므로(S712), 인식부를 통해 현재 위치를 판단한다.
인식부는 영역의 구분 정도에 따라, 구역별 정보의 비교(S720)와, 주행구역내 노드의 정보 비교(S725)를 수행할 수 있다.
구역을 구분하는 경우 비교를 통해 어느 하나의 소구역을 선택하고(S730), 선택된 소구역 내에서 각 노드정보를 비교하여(S740), 현재위치로 추정되는 노드를 선택함으로써(S750), 현재위치를 인식한다.
한편, 구역에 대한 구분이 없는 경우, 인식부는 주행 구역 내의 노드 정보를 비교하고(S725), 노드정보의 비교결과를 바탕으로 유사도가 높은 노드를 선택하여(S760), 현재 위치를 인식한다.
제어부는 이와 같이 현재 위치를 인식하면, 기 설정된 청소를 이어서 수행할 수 있다. 또한, 제어부는 특정 영역이 청소영역으로 지정된 경우, 복구된 현재위치를 바탕으로 지정된 위치로 이동하여 청소를 수행한다.
한편, 주행구역(X)을 주행구역을 주행능력상 서로 분리된 복수의 대구역으로 구분하여 맵을 학습 또는 현재위치를 인식하는 경우, 제어부(140)는 대구역이 결정되면 대구역에 속한 복수의 소구역 중 어느 한 소구역 결정없이 바로 대구역에 속한 복수의 위치 중 어느 한 위치를 결정할 수도 있다.
예를 들어, 서로 동선상 완전히 분리된 두개의 실내공간은 각각 두개의 대구역으로 구분될 수 있다. 다른 예로, 같은 실내 공간이라 하더라도, 상기 대구역은 주행구역(X) 내의 각 층을 근거로 구분될 수 있다.
인식부(144)는 결정된 대구역에 속하는 복수의 소구역 중에서 어느 하나를 결정하고, 결정된 상기 어느 하나의 소구역에 속하는 복수의 위치 중에서 상기 현재 위치를 결정할 수 있다. 이 경우, 결정된 상기 대구역에 속하는 복수의 소구역 중에 어느 하나의 소구역을 결정하는 과정은, 소정 추정규칙을 이용하는 제 1실시예에 대한 설명과 같다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
Claims (31)
- 이동 가능한 본체;
복수의 구동 바퀴를 포함하여 상기 본체를 이동시키는 주행부;
주변의 영상을 획득하는 영상획득부;
상기 영상획득부를 통해 입력되는 획득영상 및 주행구역에 대한 맵(MAP)이 저장되는 저장부; 및
현재 위치를 인식하여 상기 주행부를 제어하고 청소가 수행되도록 하는 제어부를 포함하고,
상기 제어부는,
소정 기준에 따라 상기 주행구역을 복수의 소구역 및 상기 복수의 소구역이 그룹화된 복수의 대구역으로 구분하는 구역구분부; 및
미지의 현재 위치에서 획득된 영상으로부터 적어도 하나의 인식 특징점을 추출하고, 상기 인식 특징점에 각각 대응하는 인식 디스크립터를 산출하고, 각각의 대구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 대구역을 결정하고, 결정된 상기 대구역에 속하는 복수의 소구역 중에서 소정 추정규칙에 따라 각각의 소구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 소구역을 결정하는 인식부를 포함하며,
상기 제어부는, 상기 본체가 연속적으로 주행하는 동안 상기 본체의 위치가 점프될 때, 상기 인식부에서 상기 맵 상의 위치와, 현재 위치가 일치하는지 여부를 상기 대구역을 결정하고, 결정된 상기 대구역에서 상기 소구역을 결정하면서 판단하여, 상기 본체의 변경된 현재 위치로 상기 맵 상의 위치를 복구한 후 청소명령에 따라 지정영역으로 이동하여 청소를 수행하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는, 상기 맵 상의 위치와 현재 위치가 일치하지 않는 경우, 상기 영상획득부로부터 입력되는 상기 획득영상으로부터 특징점을 추출하고 상기 특징점으로부터 상기 맵에 포함된 복수의 영역 중 어느 하나의 영역을 결정하여 현재 위치를 결정하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는, 현재 위치로부터 상기 지정영역까지의 경로를 설정하고, 상기 주행부를 제어하여 상기 지정영역으로 이동하여 상기 지정영역에 대한 청소를 수행하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는 상기 지정영역이 복수로 설정된 경우, 우선영역 설정 여부를 판단한 후, 상기 우선영역을 청소한 후, 나머지 지정영역을 청소하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는 상기 지정영역이 복수로 설정된 경우, 설정된 청소순서에 대응하여 순차적으로 상기 지정영역을 청소하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는 상기 지정영역이 복수로 설정된 경우, 현재위치로부터 가까운 하나의 지정영역으로 이동하여 청소를 수행한 후, 상기 지정영역 간의 거리에 따라 이동거리가 짧은 지정영역 순으로 청소를 수행하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는 상기 저장부에 상기 맵이 존재하지 않는 경우, 상기 주행구역을 주행하며 촬영되는 상기 획득영상을 분석하여 상기 주행구역을 복수의 영역으로 구분하고 상기 맵을 생성하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는 상기 청소명령을 입력하는 외부 단말기로 상기 맵을 전송하고,
상기 외부 단말기는 상기 맵을 화면에 표시하고, 상기 맵에 포함된 복수의 영역 중 적어도 하나의 영역에 대하여 상기 청소명령을 입력하는 것을 특징으로 하는 이동 로봇. - 제 8 항에 있어서,
상기 외부 단말기는 상기 맵에 포함되는 복수의 영역 중 적어도 하나의 영역을 상기 지정영역으로 설정하여 상기 청소명령을 전송하는 것을 특징으로 하는 이동 로봇. - 제 8 항에 있어서,
상기 외부 단말기는 상기 맵에 포함된 복수의 영역에 관계없이 구비되는 입력수단을 통해 새로운 영역을 상기 지정영역으로 설정하여 상기 청소명령을 전송하는 것을 특징으로 하는 이동 로봇. - 제 8 항에 있어서,
상기 제어부는 상기 이동 로봇의 위치 또는 청소상태에 대한 데이터를 상기 외부 단말기로 전송하고,
상기 외부 단말기는 상기 이동 로봇으로부터 수신되는 데이터에 대응하여, 상기 이동 로봇의 위치 및 청소상태를 상기 맵 상에 표시하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 주행부는, 상기 구동 바퀴에 설치되어, 상기 구동 바퀴에 작용하는 상기 본체에 하중에 의해작동하는 스위치를 더 포함하고,
상기 제어부는 상기 스위치로부터 입력되는 신호에 대응하여 상기 본체가 바닥면으로부터 떨어져 위치가 변경되었는지 여부를 판단하는 것을 특징으로 하는 이동 로봇. - 삭제
- 삭제
- 제 1 항에 있어서,
상기 인식부는, 결정된 상기 소구역에 속하는 복수의 위치 중에서 연관성을 산출하여 상기 현재 위치를 결정하는 것을 특징으로 하는 이동 로봇. - 제 1 항에 있어서,
상기 제어부는,
복수의 위치에서 획득된 각각의 영상으로부터 특징점을 추출하고, 각각의 상기 특징점에 대응하는 디스크립터를 산출하고, 소정 학습규칙에 따라 각각의 상기 소구역 또는 상기 대구역에 대한 특징분포를 산출하는 학습부를 포함하는 이동 로봇. - 소정 기준에 따라 주행구역을 복수의 소구역 및 상기 복수의 소구역이 그룹화된 복수의 대구역으로 구분하는 단계;
상기 주행구역을 복수의 영역으로 구분한 맵을 바탕으로, 상기 복수의 영역 중 적어도 하나의 영역이 지정영역으로 설정되어 청소명령이 입력되는 단계;
미지의 현재 위치에서 획득된 영상으로부터 적어도 하나의 인식 특징점을 추출하고, 상기 인식 특징점에 각각 대응하는 인식 디스크립터를 산출하는 단계
상기 맵 상의 복수의 영역 중, 각각의 대구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 대구역을 결정하고, 결정된 상기 대구역에 속하는 복수의 소구역 중에서 소정 추정규칙에 따라 각각의 소구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 소구역을 결정하여 현재 위치를 판단하는 단계;
이동 로봇이 연속적으로 주행하는 동안 상기 이동 로봇의 위치가 점프되면, 상기 맵 상의 위치와, 현재 위치가 일치하는지 여부를 상기 대구역을 결정하고, 결정된 상기 대구역에서 상기 소구역을 결정하면서 판단하여, 상기 이동 로봇의 변경된 현재 위치로 상기 맵 상의 위치를 복구하는 단계;
복구된 상기 현재 위치로부터 상기 지정영역까지의 주행경로를 설정하여 상기 지정영역으로 이동하는 단계; 및
상기 지정영역에 대한 청소를 수행하는 단계를 포함하는 이동 로봇의 제어방법. - 제 17 항에 있어서,
상기 지정영역이 복수로 설정된 경우,
복수의 지정영역 중 우선영역을 청소한 후, 나머지 상기 지정영역을 청소하고,
상기 복수의 지정영역에 대한 청소순서가 설정된 경우, 상기 청소순서에 대응하여 순차적으로 상기 지정영역을 청소하는 것을 특징으로 하는 이동로봇의 제어방법. - 제 17 항에 있어서,
상기 지정영역이 복수로 설정된 경우, 현재위치로부터 가까운 하나의 지정영역으로 이동하여 청소를 수행한 후, 상기 지정영역 간의 거리에 따라 이동거리가 짧은 순서대로 청소를 수행하는 것을 특징으로 하는 이동 로봇의 제어방법. - 제 17 항에 있어서,
상기 현재 위치의 변경 여부를 판단하는 경우,
본체의 구동 바퀴에 설치되어 상기 본체의 하중에 의해 작동하는 스위치로부터 입력되는 신호에 대응하여, 상기 본체가 바닥면으로부터 떨어져 위치가 변경되었는지 여부를 판단하는 것을 특징으로 하는 이동 로봇의 제어방법. - 제 17 항에 있어서,
외부 단말기를 통해 상기 맵이 표시되는 단계;
상기 맵 상의 상기 복수의 영역 중 적어도 하나의 영역이 선택되는 단계; 및
상기 선택된 영역을 상기 지정영역으로 하여 상기 청소명령이 입력되는 단계를 더 포함하는 이동 로봇의 제어방법. - 제 17 항에 있어서,
외부 단말기를 통해 상기 맵이 표시되는 단계;
상기 맵에 포함되는 상기 복수의 영역에 대한 영역 구분에 관계없이, 상기 외부 단말기에 구비되는 입력수단을 통해 새로운 영역이 설정되는 단계; 및
상기 새로운 영역을 상기 지정영역으로 하여 상기 청소명령이 입력되는 단계를 더 포함하는 이동 로봇의 제어방법. - 제 21항 또는 제 22항에 있어서,
상기 이동 로봇으로 상기 외부 단말기로 데이터가 전송되는 단계; 및
상기 데이터에 대응하여 상기 외부 단말기에 표시되는 상기 맵 상에 상기 이동 로봇의 위치 및 청소상태가 표시되는 단계를 더 포함하는 이동 로봇의 제어방법. - 제 17 항에 있어서,
현재 위치가 상기 맵 상의 위치와 일치하지 않는 경우, 영상획득부를 통해 촬영되는 현재 위치의 획득영상을 분석하여 특징점을 추출하고, 상기 특징점으로부터 상기 맵에 포함된 복수의 영역 중 어느 하나의 영역을 결정하는 단계를 더 포함하는 이동 로봇의 제어방법. - 제 24 항에 있어서,
상기 복수의 영역 중 결정된 영역에 속하는 복수의 위치 중에서 현재 위치를 결정하는 단계를 더 포함하는 이동 로봇의 제어방법. - 삭제
- 삭제
- 주변의 영상을 획득하는 영상획득부를 포함하여, 주행구역을 복수의 영역으로 구분한 맵을 바탕으로, 상기 주행구역을 이동하며 청소를 수행하는 이동 로봇; 및
상기 맵을 저장하고, 상기 복수의 영역 중 적어도 하나의 영역을 지정영역으로 설정하여 상기 이동 로봇으로 청소명령을 입력하는 외부 단말기를 포함하며,
상기 이동 로봇은,
소정 기준에 따라 상기 주행구역을 복수의 소구역 및 상기 복수의 소구역이 그룹화된 복수의 대구역으로 구분하는 구역구분부; 및
미지의 현재 위치에서 획득된 영상으로부터 적어도 하나의 인식 특징점을 추출하고, 상기 인식 특징점에 각각 대응하는 인식 디스크립터를 산출하고, 각각의 대구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 대구역을 결정하고, 결정된 상기 대구역에 속하는 복수의 소구역 중에서 소정 추정규칙에 따라 각각의 소구역 특징분포와 상기 인식 디스크립터를 연산하여 상기 현재 위치가 속한 어느 한 소구역을 결정하는 인식부를 포함하며,
상기 이동 로봇은 상기 이동 로봇이 연속적으로 주행하는 동안 상기 이동 로봇의 위치가 점프되면 상기 인식부에서 상기 맵 상의 위치와, 현재 위치가 일치하는지 여부를 상기 대구역을 결정하고, 결정된 상기 대구역에서 상기 소구역을 결정하면서 판단하여, 상기 이동 로봇의 변경된 현재 위치로 상기 맵 상의 위치를 복구한 후 상기 청소명령에 따라 상기 지정영역으로 이동하여 청소를 수행하는 것을 특징으로 하는 이동 로봇 제어시스템. - 제 28 항에 있어서,
상기 외부 단말기는 상기 맵을 화면에 표시하고, 상기 맵에 포함된 복수의 영역 중 적어도 하나의 영역을 상기 지정영역으로 설정하여 상기 청소명령을 상기 이동 로봇으로 입력하는 것을 특징으로 하는 이동 로봇 제어시스템. - 제 28 항에 있어서,
상기 외부 단말기는 구비되는 터치입력수단을 통해, 상기 복수의 영역 중 적어도 하나의 영역에 대하여 터치 및 드래그를 하여 상기 맵 상에 새로운 영역을 상기 지정영역으로 설정하여, 상기 청소명령을 상기 이동 로봇으로 입력하는 것을 특징으로 하는 이동 로봇 제어시스템. - 제 28 항에 있어서,
상기 외부 단말기는 상기 이동 로봇으로부터 수신되는 데이터에 대응하여, 상기 이동 로봇의 위치 및 청소상태를 상기 맵 상에 표시하는 것을 특징으로 하는 이동 로봇 제어시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160053317 | 2016-04-29 | ||
KR20160053317 | 2016-04-29 | ||
PCT/KR2017/004620 WO2017188800A1 (ko) | 2016-04-29 | 2017-04-29 | 이동 로봇 및 그 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180132934A KR20180132934A (ko) | 2018-12-12 |
KR102319489B1 true KR102319489B1 (ko) | 2021-10-29 |
Family
ID=60160990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187034267A KR102319489B1 (ko) | 2016-04-29 | 2017-04-29 | 이동 로봇 및 그 제어방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11547261B2 (ko) |
EP (1) | EP3450117B1 (ko) |
KR (1) | KR102319489B1 (ko) |
AU (1) | AU2017258264B2 (ko) |
WO (1) | WO2017188800A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10949940B2 (en) * | 2017-04-19 | 2021-03-16 | Global Tel*Link Corporation | Mobile correctional facility robots |
US10690466B2 (en) | 2017-04-19 | 2020-06-23 | Global Tel*Link Corporation | Mobile correctional facility robots |
WO2019090417A1 (en) * | 2017-11-10 | 2019-05-16 | Clearpath Robotics Inc. | Systems and methods for updating an electronic map |
CN110605713B (zh) * | 2018-06-15 | 2023-06-27 | 科沃斯机器人股份有限公司 | 机器人定位方法、机器人及存储介质 |
US10835096B2 (en) * | 2018-08-30 | 2020-11-17 | Irobot Corporation | Map based training and interface for mobile robots |
CN109085841A (zh) * | 2018-09-28 | 2018-12-25 | 北京奇虎科技有限公司 | 一种控制机器人进行清扫的方法及装置 |
CN110960150B (zh) * | 2018-09-29 | 2022-11-15 | 天佑电器(苏州)有限公司 | 清洁机器人及其控制方法和控制装置 |
KR102147211B1 (ko) * | 2018-10-22 | 2020-08-24 | 엘지전자 주식회사 | 인공지능 이동 로봇의 제어 방법 |
CN109460031A (zh) * | 2018-11-28 | 2019-03-12 | 科大智能机器人技术有限公司 | 一种基于人体识别的自动牵引车的跟随系统 |
USD938115S1 (en) | 2018-11-30 | 2021-12-07 | Irobot Corporation | Autonomous floor cleaning robot |
US11347226B2 (en) | 2019-04-25 | 2022-05-31 | Lg Electronics Inc. | Method of redefining position of robot using artificial intelligence and robot of implementing thereof |
US20230132280A1 (en) * | 2021-10-22 | 2023-04-27 | Nec Laboratories America, Inc. | Robotic navigation and transport of objects |
CN114468856A (zh) * | 2022-01-10 | 2022-05-13 | 珠海格力电器股份有限公司 | 一种扫地机器人控制方法、装置、电子设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005211367A (ja) | 2004-01-30 | 2005-08-11 | Funai Electric Co Ltd | 自律走行ロボットクリーナー |
US7474945B2 (en) | 2004-12-14 | 2009-01-06 | Honda Motor Company, Ltd. | Route generating system for an autonomous mobile robot |
KR100844206B1 (ko) | 2007-02-13 | 2008-07-04 | 주식회사 맥스포 | 청소로봇용 위치산출시스템 |
KR101538775B1 (ko) * | 2008-09-12 | 2015-07-30 | 삼성전자 주식회사 | 전방 영상을 이용한 위치 인식 장치 및 방법 |
KR20110119118A (ko) | 2010-04-26 | 2011-11-02 | 엘지전자 주식회사 | 로봇 청소기, 및 이를 이용한 원격 감시 시스템 |
KR20120044768A (ko) | 2010-10-28 | 2012-05-08 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어 방법 |
KR101263233B1 (ko) * | 2011-03-09 | 2013-05-13 | 포항공과대학교 산학협력단 | 특징점 추출을 통한 청소 로봇의 청소 방법 |
KR101566207B1 (ko) | 2011-06-28 | 2015-11-13 | 삼성전자 주식회사 | 로봇 청소기 및 그 제어방법 |
DE102014110265A1 (de) * | 2014-07-22 | 2016-01-28 | Vorwerk & Co. Interholding Gmbh | Verfahren zur Reinigung oder Bearbeitung eines Raumes mittels eines selbsttätig verfahrbaren Gerätes |
KR102306709B1 (ko) | 2014-08-19 | 2021-09-29 | 삼성전자주식회사 | 청소 로봇, 청소 로봇의 제어 장치, 제어 시스템, 및 제어 방법 |
GB2529848B (en) * | 2014-09-03 | 2018-12-19 | Dyson Technology Ltd | A mobile robot |
GB2529847B (en) * | 2014-09-03 | 2018-12-19 | Dyson Technology Ltd | A mobile Robot with Independently Adjustable Light Sources |
US10660496B2 (en) * | 2014-09-24 | 2020-05-26 | Samsung Electronics Co., Ltd. | Cleaning robot and method of controlling the cleaning robot |
DE102014226084A1 (de) * | 2014-12-16 | 2016-06-16 | Robert Bosch Gmbh | Verfahren zur Kartierung einer Bearbeitungsfläche für autonome Roboterfahrzeuge |
-
2017
- 2017-04-29 US US16/096,872 patent/US11547261B2/en active Active
- 2017-04-29 EP EP17789984.6A patent/EP3450117B1/en active Active
- 2017-04-29 WO PCT/KR2017/004620 patent/WO2017188800A1/ko unknown
- 2017-04-29 AU AU2017258264A patent/AU2017258264B2/en active Active
- 2017-04-29 KR KR1020187034267A patent/KR102319489B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20190133397A1 (en) | 2019-05-09 |
EP3450117A1 (en) | 2019-03-06 |
KR20180132934A (ko) | 2018-12-12 |
AU2017258264A1 (en) | 2018-12-13 |
US11547261B2 (en) | 2023-01-10 |
EP3450117A4 (en) | 2019-12-25 |
EP3450117B1 (en) | 2023-08-23 |
WO2017188800A1 (ko) | 2017-11-02 |
AU2017258264B2 (en) | 2020-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102319489B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR102314539B1 (ko) | 인공지능 이동 로봇의 제어 방법 | |
US10852729B2 (en) | Moving robot and control method thereof | |
KR102192791B1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
US10466711B2 (en) | Moving robot and controlling method thereof | |
KR102235271B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR101629649B1 (ko) | 로봇 청소기 및 로봇 청소기의 제어방법 | |
KR102000067B1 (ko) | 이동 로봇 | |
US11348276B2 (en) | Mobile robot control method | |
KR20190007285A (ko) | 이동 로봇 시스템 및 그 제어방법 | |
KR20160048750A (ko) | 로봇 청소기 및 로봇 청소기의 제어방법 | |
KR101922953B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR102669126B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR20180037516A (ko) | 이동 로봇 및 그 제어방법 | |
KR102478283B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR102147211B1 (ko) | 인공지능 이동 로봇의 제어 방법 | |
KR20180048088A (ko) | 로봇 청소기 및 그 제어방법 | |
KR20200091110A (ko) | 이동 로봇 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |