KR102535719B1 - 이동 로봇 및 이동 로봇의 제어방법 - Google Patents
이동 로봇 및 이동 로봇의 제어방법 Download PDFInfo
- Publication number
- KR102535719B1 KR102535719B1 KR1020210002035A KR20210002035A KR102535719B1 KR 102535719 B1 KR102535719 B1 KR 102535719B1 KR 1020210002035 A KR1020210002035 A KR 1020210002035A KR 20210002035 A KR20210002035 A KR 20210002035A KR 102535719 B1 KR102535719 B1 KR 102535719B1
- Authority
- KR
- South Korea
- Prior art keywords
- obstacle
- mobile robot
- depth
- height
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000001514 detection method Methods 0.000 claims description 36
- 230000009194 climbing Effects 0.000 claims description 26
- 230000001678 irradiating effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 description 43
- 239000000428 dust Substances 0.000 description 33
- 238000005516 engineering process Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000000926 separation method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/243—Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- 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
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
- G05D1/639—Resolving or avoiding being stuck or obstructed
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/10—Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2107/00—Specific environments of the controlled vehicles
- G05D2107/40—Indoor domestic environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2111/00—Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
- G05D2111/10—Optical signals
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
본 발명은 본체 주변의 영상을 분석하여서 장애물 건너의 바닥면의 깊이와 장애물의 높이를 감지하여서 장애물의 등반여부를 결정하는 것을 특징으로 한다.
Description
본 발명은 이동 로봇에 관한 것으로 상세하게는 장애물 너머의 바닥의 단차를 확인하고 미리 회피할 수 있는 이동 로봇에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다. 가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기이다.
로봇 청소기에 구비된 여러 센서를 통하여 로봇 청소기 주변의 환경 및 사용자를 감지하는 여러 기술들이 알려져 있다. 또한, 로봇 청소기가 스스로 주행 구역을 학습하여 맵핑하고, 맵 상에서 현재 위치를 파악하는 기술들이 알려져 있다. 주행 구역을 기 설정된 방식으로 주행하며 청소하는 로봇 청소기가 알려져 있다.
종래의 로봇 청소기는 청소기의 주변 환경에서 장애물과 벽과의 거리 및 매핑을 위해, 거리판단, 지형 파악 및 장애물의 영상 파악이 용이한 광센서를 통해서 이를 식별해 왔다.
또한, 종래 기술(한국특허공개번호 1020120078382)에는, 센서가 본체의 하부에 있어서, 센서가 본체의 하부를 감지하여서, 낭떠러지를 감지하고, 낭떠러지로 로봇 청소기가 주행하는 것을 방지하였다.
그러나, 종래 기술의 낭떠러지 센서를 사용하는 경우, 로봇 청소기가 낭떠러지에 근접해야 낭떠러지의 존재를 인지할 수 있고, 로봇 청소기 본체의 일부가 낭떠러지 상에 위치되어서 낭떠러지의 존재를 인지하여서, 로봇 청소기가 낭떠러지로 낙하되는 경우가 자주 발생하는 문제점이 존재한다.
또한, 실내와 베란다와 같이 서로 다른 높이의 바닥을 가지는 곳은 새시 등의 레일이 도어의 이동을 위해 설치되는 것이 일반적이다. 이러한 새시 등은 낮은 장애물로 인지되어서, 로봇 청소기가 새시를 등반하게 되는데, 로봇 청소기가 새시를 등반하는 경우 방향전환 등 로봇 청소기의 주행 중에 로봇 청소기가 베란다의 바닥으로 낙하하는 경우가 발생할 수 있다. 그러나, 베란다의 바닥이 실내의 바닥 보다 낮은 높이를 가면, 로봇 청소기가 베란다 바닥에서 새시를 등반할 수 없게 되고, 로봇 청소기가 베란다에 갇히게 되는 문제점이 존재한다.
본 발명이 해결하고자 하는 과제는, 장애물 건너의 낭떠러지를 감지하여서 장애물의 등반여부를 결정하는 이동로봇을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 장애물의 경계 라인에 대해 수직으로 진입할 수 있는 이동 로봇을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 장애물 너머의 낭떠러지를 미리 인지하여서, 낭떠러지로 낙하되는 것을 방지하는 이동 로봇을 제공하는 것이다.
상기 과제들을 해결하기 위하여, 본 발명은 본체 주변의 영상을 분석하여서 장애물 건너의 바닥면의 높이를 감지하여서 장애물의 등반여부를 결정하는 것을 특징으로 한다.
구체적으로, 본 발명은 이동 로봇의 전방의 영상을 획득하는 영상획득 단계; 상기 획득된 영상에서, 장애물과 상기 장애물 전방의 전방 바닥면을 검출하는 검출 단계; 상기 장애물의 높이와, 상기 전방 바닥면의 깊이를 연산하는 연산 단계; 및 상기 장애물의 높이와 상기 전방 바닥면의 깊이를 바탕으로 상기 이동로봇이 상기 장애물을 등반 또는 회피하는 등반회피 단계를 포함한다.
상기 등반회피 단계에서, 상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 작은 경우, 상기 이동 로봇은 상기 장애물을 등반할 수 있다.
상기 등반회피 단계에서, 상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 깊은 경우, 상기 이동 로봇은 상기 장애물을 회피할 수 있다.
상기 등반회피 단계에서, 상기 장애물의 높이가 기준 높이 보다 높은 경우, 상기 이동 로봇은 상기 장애물을 회피할 수 있다.
상기 전방 바닥면의 깊이는 상기 장애물의 높이 값과 상기 이동로봇이 현재 위치한 기준 바닥면과 상기 전방 바닥면 사이의 단차 값을 합산한 값일 수 있다.
상기 전방 바닥면의 깊이는 상기 이동 로봇으로부터 전방으로 30cm 내지 90cm 이격된 바닥면의 깊이일 수 있다.
상기 전방 바닥면의 깊이는 상기 이동 로봇의 등반 가능한 높이와 동일한 값으로 설정될 수 있다.
상기 전방 바닥면의 깊이는 상기 이동 로봇에서 전방의 바닥을 항하는 방향으로 소정 패턴의 광을 조사하고, 획득된 영상에서 상기 패턴을 검출하고, 상기 패턴을 바탕으로 상기 패턴까지의 거리를 산정하고, 산정된 상기 패턴까지의 거리와 기준 거리를 비교하여 산정할 수 있다.
또한, 본 발명은 상기 이동 로봇이 상기 장애물을 등반하는 경우, 상기 장애물을 등반 가능 장애물로 장애물 지도에 등록하는 등록 단계를 더 포함할 수 있다.
또한, 본 발명은 휠을 구동하는 구동모터; 이동 로봇의 주변의 영상 및 장애물의 영상을 획득하는 영상획득부; 상기 영상획득부에서 획득한 영상을 분석하여 상기 제1 구동모터 및 상기 제2 구동모터를 제어하는 제어부를 포함하고, 상기 제어부는, 상기 영상획득부에서 획득한 영상을 분석하여 상기 장애물의 높이와, 상기 전방 바닥면의 깊이를 연산하고, 상기 장애물의 높이와 상기 전방 바닥면의 깊이를 바탕으로 상기 구동모터를 제어할 수 있다.
상기 제어부는, 상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 작은 경우, 상기 이동 로봇이 상기 장애물을 등반하도록 상기 구동모터를 제어할 수 있다.
상기 제어부는, 상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 깊은 경우, 상기 이동 로봇이 상기 장애물을 회피하도록 상기 구동모터를 제어할 수 있다.
또한, 본 발명은 휠을 구동하는 구동모터; 이동 로봇의 주변에 소정 패턴의 광을 조사하는 패턴조사부; 상기 이동 로봇의 주변의 영상 및 장애물의 영상을 획득하는 영상획득부; 상기 영상획득부에서 획득한 영상에서 상기 패턴을 분석하여 상기 제1 구동모터 및 상기 제2 구동모터를 제어하는 제어부를 포함하고, 상기 제어부는, 상기 영상획득부에서 획득한 영상에서 상기 패턴을 분석하여 상기 장애물의 높이와, 상기 전방 바닥면의 깊이를 연산하고, 상기 장애물의 높이와 상기 전방 바닥면의 깊이를 바탕으로 상기 구동모터를 제어할 수 있다.
상기 패턴조사부는 상기 이동 로봇의 전방과 하방 사이로 상기 패턴의 광을 조사할 수 있다.
상기 제어부는, 상기 전방 바닥면의 깊이를 획득된 영상에서 상기 패턴을 검출하고, 상기 패턴을 바탕으로 상기 패턴까지의 거리를 산정하고, 산정된 상기 패턴까지의 거리와 기준 거리를 비교하여 산정할 수 있다.
본 발명의 이동 로봇에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 본 발명은 이동 로봇이 장애물을 등반할 때, 단순히 장애물의 높이만을 고려하는 것이 아니고, 장애물을 넘어 바닥면의 높이까지 고려하므로, 이동 로봇이 장애물 너머에서 다시 현재 위치로 돌아오지 못하는 것을 방지하는 이점이 존재하고, 또한, 이동 로봇이 장애물 너머의 공간에 갇히는 것을 방지할 수 있다.
둘째, 장애물에 수직하게 진입하므로, 장애물을 비스듬히 등반하여 생기는 본체의 구속을 방지할 수 있고, 새시 등반 시에 휠이 레일에 구속되는 것을 방지하는 이점이 존재한다.
셋째, 본 발명은 이동 로봇이 장애물 너머의 공간의 바닥 높이까지 미리 인지하여서, 필요 없이 레일 또는 새시를 등반하는 것을 방지하고, 이동 로봇의 쓸데 없는 등반을 방지하고 청소가 필요한 영역을 신속하게 청소할 수 있는 이점이 존재한다.
넷째, 본 발명은 이동 로봇이 장애물에 수직하게 진입하므로, 장애물을 비스듬히 등반하여 생기는 본체의 구속을 방지할 수 있고, 새시 등반 시에 휠이 레일에 구속되는 것을 방지하는 이점이 존재한다.
다섯째, 본 발명은 로봇 청소기에 원래 장착되는 카메라를 통해 장애물과 장애물 너머의 바닥의 상황을 파악하므로, 센서의 추가 없이 장애물의 등반여부를 결정할 수 있는 이점이 존재한다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 로봇 청소기의 일 예를 보인 사시도이다.
도 2는 도 1에 도시된 로봇 청소기의 평면도이다.
도 3은 도 1에 도시된 로봇 청소기의 측면도이다.
도 4는 본 발명의 일 실시예에 따른 로봇 청소기의 예시 구성요소를 나타내는 블록도이다.
도 5는 본 발명에 일 실시예에 따른 로봇 청소기가 장애물 너머의 바닥면의 깊이를 측정하고, 장애물을 회피하는 것을 도시한 도면이다.
도 6은 본 발명에 일 실시예에 따른 로봇 청소기가 장애물 너머의 바닥면의 깊이를 측정하고, 장애물을 등반하고 다시 제자리로 돌아오는 것을 도시한 도면이다.
도 7는 본 발명에 따른 제1 실시예에 따른 로봇 청소기가 진입각도를 연산하고 진입각도를 정상 진입각도로 변경하는 것을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 로봇 청소기의 제어방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 다른 실시예에 따른 로봇 청소기의 제어방법을 설명하기 위한 순서도이다.
도 2는 도 1에 도시된 로봇 청소기의 평면도이다.
도 3은 도 1에 도시된 로봇 청소기의 측면도이다.
도 4는 본 발명의 일 실시예에 따른 로봇 청소기의 예시 구성요소를 나타내는 블록도이다.
도 5는 본 발명에 일 실시예에 따른 로봇 청소기가 장애물 너머의 바닥면의 깊이를 측정하고, 장애물을 회피하는 것을 도시한 도면이다.
도 6은 본 발명에 일 실시예에 따른 로봇 청소기가 장애물 너머의 바닥면의 깊이를 측정하고, 장애물을 등반하고 다시 제자리로 돌아오는 것을 도시한 도면이다.
도 7는 본 발명에 따른 제1 실시예에 따른 로봇 청소기가 진입각도를 연산하고 진입각도를 정상 진입각도로 변경하는 것을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 로봇 청소기의 제어방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 다른 실시예에 따른 로봇 청소기의 제어방법을 설명하기 위한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성 요소들과 다른 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및/또는 동작은 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명인 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다.
이하, 본 발명에 관련된 로봇 청소기에 대하여 도면을 참조하여 보다 상세하게 설명한다.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다.
본 발명에 따른 이동로봇(100)의 일 예를 보인 사시도이고, 도 2는 도 1에 도시된 이동로봇(100)의 평면도이며, 도 3은 도 1에 도시된 로봇 청소기(100)의 측면도이다.
본 명세서에서 이동 로봇, 이동로봇 및 자율 주행을 수행하는 청소기가 동일한 의미로 사용될 수 있다. 또한, 본 명세서에서 복수의 청소기는 이하 도 1 내지 도 3에 도시된 구성 중 적어도 일부를 포함하여 이루어질 수 있다.
도 1 내지 도 3을 참조하면, 로봇 청소기(100)는 일정 영역을 스스로 주행하면서 바닥을 청소하는 기능을 수행한다. 여기서 말하는 바닥의 청소에는, 바닥의 먼지(이물질을 포함한다)를 흡입하거나 바닥을 걸레질하는 것이 포함된다.
로봇 청소기(100)는 청소기 본체(110), 청소 유닛(120), 센싱유닛(130) 및 먼지통(140)을 포함할 수 있다. 청소기 본체(110)에는 로봇 청소기(100)의 제어를 위한 제어부(1800)를 포함하여 각종 부품들이 내장 또는 장착된다. 또한, 청소기 본체(110)에는 로봇 청소기(100)의 주행을 위한 휠 유닛(111)이 구비된다. 휠 유닛(111)에 의해 로봇 청소기(100)는 전후좌우로 이동되거나 회전될 수 있다.
다른 일 실시예의 로봇 청소기(100)는 제1 구동모터(1310), 제2 구동모터(1320), 영상획득부, 제1 구동모터(1310) 및 제2 구동모터(1320)를 제어하는 제어부(1800)를 포함할 수 있다. 제1 구동모터(1310) 및 제2 구동모터(1320)를 구동모터로 통칭할 수 있다.
또 다른 일 실시예의 로봇 청소기(100)는 구동모터, 패턴조사부, 영상획득부, 제1 구동모터(1310) 및 제2 구동모터(1320)를 제어하는 제어부(1800)를 포함할 수 있다. 또한, 패턴조사부와 영상획득부는 센서부 또는 센싱 유닛으로 통칭할 수 있다.
도 3을 참조하면, 휠 유닛(111)은 메인 휠(111a, 111b) 및 서브 휠(111c)을 포함한다. 물론, 휠 유닛(111)은 서브 휠(111c)이 생략되고 메인 휠(111a, 111b)만 구비될 수 있다.
메인 휠(111a, 111b)은 청소기 본체(110)의 양측에 각각 구비되는 좌측 휠(111a)과 우측 휠(111b)을 포함할 수 있다. 메인 휠(111a, 111b)은 제어부(1800)의 제어 신호에 따라 일 방향 또는 타 방향으로 회전 가능하게 구성된다.
각각의 좌측 휠(111a)과 우측 휠(111b)은 서로 독립적으로 구동 가능하게 구성될 수 있다. 예를 들어, 좌측 휠(111a)과 우측 휠(111b)은 서로 다른 모터에 의해서 구동될 수 있다. 또는, 하나의 모터에 구비된 복수의 서로 다른 축에 의해서 구동될 수 있다. 예를 들면, 좌측 휠(111a)은 제1 구동모터(1310)에 의해 구동되고, 우측 휠(111b)은 제2 구동모터(1320)에 의해 구동될 수 있다.
좌측 휠(111a)과 우측 휠(111b)의 회전축(A1)을 중심으로 회전하는 데, 좌측 휠(111a)의 회전축과 우측 휠(111b)의 회전축은 서로 일치될 수 있다.
서브 휠(111c)은 메인 휠(111a, 111b)과 함께 청소기 본체(110)를 지지하며, 메인 휠(111a, 111b)에 의한 로봇 청소기(100)의 주행을 보조하도록 이루어진다. 이러한 서브 휠(111c)은 후술하는 청소 유닛(120)에도 구비될 수 있다.
제어부(1800)는 휠 유닛(111)의 구동을 제어함으로써, 로봇 청소기(100)는 바닥을 자율 주행하도록 이루어진다.
한편, 청소기 본체(110)에는 로봇 청소기(100)에 전원을 공급하는 배터리(미도시)가 장착된다. 배터리는 충전 가능하게 구성되며, 청소기 본체(110)의 저면부에 착탈 가능하게 구성될 수 있다.
도 1에서, 청소 유닛(120)은 청소기 본체(110)의 일측으로부터 돌출된 형태로 배치되어, 먼지가 포함된 공기를 흡입하거나 또는 걸레질을 할 수 있다. 일측은 청소기 본체(110)가 정방향(F)으로 주행하는 측, 즉 청소기 본체(110)의 앞쪽이 될 수 있다.
본 도면에서는, 청소 유닛(120)이 청소기 본체(110)의 일측에서 전방 및 좌우 양측방으로 모두 돌출된 형태를 가지는 것을 보이고 있다. 구체적으로, 청소 유닛(120)의 전단부는 청소기 본체(110)의 일측으로부터 전방으로 이격된 위치에 배치되고, 청소 유닛(120)의 좌우 양단부는 청소기 본체(110)의 일측으로부터 좌우 양측으로 각각 이격된 위치에 배치된다.
청소기 본체(110)가 원형으로 형성되고, 청소 유닛(120)의 후단부 양측이 청소기 본체(110)로부터 좌우 양측으로 각각 돌출 형성됨에 따라, 청소기 본체(110)와 청소 유닛(120) 사이에는 빈 공간, 즉 틈이 형성될 수 있다. 빈 공간은 청소기 본체(110)의 좌우 양단부와 청소 유닛(120)의 좌우 양단부 사이의 공간으로서, 로봇 청소기(100)의 내측으로 리세스된 형태를 가진다.
상술한 빈 공간에 장애물(CA)이 끼이는 경우, 로봇 청소기(100)가 장애물(CA)에 걸려 움직이지 못하는 문제가 초래될 수 있다. 이를 방지하기 위하여, 커버 부재(129)가 빈 공간의 적어도 일부를 덮도록 배치될 수 있다.
커버부재(129)는 청소기 본체(110) 또는 청소 유닛(120)에 구비될수 있다. 본 실시예에서는, 청소 유닛(120)의 후단부 양측에 각각 커버부재(129)가 돌출 형성되어, 청소기 본체(110)의 외주면을 덮도록 배치된 것을 보이고 있다.
커버부재(129)는 빈 공간, 즉 청소기 본체(110)와 청소 유닛(120) 간의 빈 공간의 적어도 일부를 메우도록 배치된다. 따라서, 빈 공간에 장애물(CA)이 끼이는 것이 방지되거나, 빈 공간에 장애물(CA)이 끼이더라도 장애물(CA)로부터 용이하게 이탈 가능한 구조가 구현될 수 있다.
청소 유닛(120)에서 돌출 형성된 커버부재(129)는 청소기 본체(110)의 외주면에 지지될 수 있다. 만일, 커버부재(129)가 청소기 본체(110)에서 돌출 형성되는 경우라면, 커버부재(129)는 청소 유닛(120)의 후면부에 지지될 수 있다. 구조에 따 르면, 청소 유닛(120)이 장애물(CA)과 부딪혀 충격을 받았을 때, 그 충격의 일부가 청소기 본체(110)로 전달되어 충격이 분산될 수 있다.
청소 유닛(120)은 청소기 본체(110)에 착탈 가능하게 결합될 수 있다. 청소 유닛(120)이 청소기 본체(110)로 분리되면, 분리된 청소 유닛(120)을 대체하여 걸레 모듈(미도시)이 청소기 본체(110)에 착탈 가능하게 결합될 수 있다.
따라서, 사용자는 바닥의 먼지를 제거하고자 하는 경우에는 청소기 본체(110)에 청소 유닛(120)을 장착하고, 바닥을 닦고자 하는 경우에는 청소기 본체(110)에 걸레 모듈을 장착할 수 있다.
청소 유닛(120)이 청소기 본체(110)에 장착시, 상술한 커버부재(129)에 의해 장착이 가이드될 수 있다. 즉, 커버부재(129)가 청소기 본체(110)의 외주면을 덮도록 배치됨으로써, 청소기 본체(110)에 대한 청소 유닛(120)의 상대적 위치가 결정될 수 있다.
청소 유닛(120)에는 캐스터(castor, 123)가 구비될 수 있다. 캐스터(123)는 로봇 청소기(100)의 주행을 보조하고, 또한 로봇 청소기(100)를 지지하도록 이루어진다. 청소기 본체(110)에는 센싱 유닛(130)이 배치된다. 도시된 바와 같이, 센싱 유닛(130)은 청소 유닛(120)이 위치하는 청소기 본체(110)의 일측, 즉 청소기 본체(110)의 앞쪽에 배치될 수 있다.
센싱 유닛(130)은 청소기 본체(110)의 상하 방향으로 청소 유닛(120)과 오버랩되도록 배치될 수 있다. 센싱 유닛(130)은 청소 유닛(120)의 상부에 배치되어, 로봇 청소기(100)의 가장 앞쪽에 위치하는 청소 유닛(120)이 장애물(CA)과 부딪히지 않도록 전방의 장애물(CA)이나 지형지물 등을 감지하도록 이루어진다.
센싱 유닛(130)은 이러한 감지 기능 외의 다른 센싱 기능을 추가로 수행하도록 구성될 수 있다. 예로써, 센싱 유닛(130)은 주변의 영상을 획득하기 위한 카메라(미도시)를 포함할 수 있다. 카메라(131)는 렌즈와 영상 센서(image sensor)를 포함할 수 있다. 또한, 카메라는 청소기 본체(110) 주변의 영상을 제어부(1800)가 처리할수 있는 전기적 신호로 변환하며, 예를 들어 상방 영상에 대응되는 전기적 신호를 제어부(1800)에 전달할 수 있다. 상방 영상에 대응되는 전기적 신호는 제어부(1800)가 청소기 본체(110)의 위치를 검출하는데 사용될 수 있다.
물론, 센싱 유닛(130)은 영상획득부를 포함할 수 있다. 영상 획득부는 주변의 영상 및 본체와 장애물(CA)과의 원근거리를 획득하는 3차원 뎁스 카메라를 포함할 수 있다. 3차원 뎁스 카메라에 대해서는 후술한다.
또한, 센싱 유닛(130)은 로봇 청소기(100)의 주행 면상 또는 주행 경로 상의 벽체, 가구, 및 낭떠러지 등의 장애물(CA)을 감지할 수 있다. 또한, 센싱 유닛(130)은 배터리 충전을 수행하는 도킹 기기의 존재를 감지할 수 있다. 또한, 센싱 유닛(130)은 천장 정보를 감지하여서, 로봇 청소기(100)의 주행 구역 또는 청소 구역을 맵핑(Mapping)할 수 있다.
청소기 본체(110)에는 흡입된 공기 중의 먼지를 분리하여 집진하는 먼지통(140)이 착탈 가능하게 결합된다. 또한, 먼지통(140)에는 먼지통(140)을 덮는 먼지통 덮개(150)가 구비된다. 일 실시예로, 먼지통 덮개(150)는 청소기 본체(110)에 힌지 결합되어 회동 가능하게 구성될 수 있다. 먼지통 덮개(150)는 먼지통(140) 또는 청소기 본체(110)에 고정되어 먼지통(140)의 상면을 덮은 상태를 유지할 수 있다. 먼지통 덮개(150)가 먼지통(140)의 상면을 덮도록 배치된 상태에서는, 먼지통 덮개(150)에 의해 먼지통(140)이 청소기 본체(110)로부터 분리되는 것이 방지될 수 있다.
먼지통(140)의 일부는 먼지통 수용부(113)에 수용되되, 먼지통(140)의 다른 일부는 청소기 본체(110)의 후방(즉, 정방향(F)에 반대되는 역방향(R))을 향하여 돌출되게 형성될 수 있다.
먼지통(140)에는 먼지가 포함된 공기가 유입되는 입구와 먼지가 분리된 공기가 배출되는 출구가 형성되며, 청소기 본체(110)에 먼지통(140)의 장착시 입구와 출구는 본체(110)의 내측벽에 형성된 개구(155)를 통해 연통되도록 구성된다. 이에 의하여, 청소기 본체(110) 내부의 흡기유로와 배기유로가 형성될 수 있다.
이러한 연결관계에 따라, 청소 유닛(120)을 통하여 유입된 먼지가 포함된 공기는 청소기 본체(110) 내부의 흡기유로를 거쳐, 먼지통(140)으로 유입되고, 먼지통(140)의 필터 내지는 사이클론을 거치면서 공기와 먼지가 상호 분리된다. 먼지는 먼지통(140)에 집진되며, 공기는 먼지통(140)에서 배출된 후 청소기 본체(110) 내부의 배기유로를 거쳐 최종적으로 배기구(112)를 통하여 외부로 배출된다.
이하의 도 4에서는 로봇 청소기(100)의 구성요소와 관련된 일 실시예가 설명된다.
본 발명의 일 실시 예에 따른 로봇 청소기(100)는, 통신부(1100), 입력부(1200), 주행부(1300), 센싱부(1400), 출력부(1500), 전원부(1600), 메모리(1700), 제어부(1800), 청소부(1900) 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
구?b적으로, 본 발명의 제1 실시예의 로봇 청소기(100)는 주행부(1300), 영상획득부, 제어부(1800)를 포함할 수 있다.
이때, 도 4에 도시한 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동로봇이 구현될 수 있음은 물론이다. 또한, 전술한 바와 같이, 본 발명에서 설명되는 복수의 로봇 청소기는 이하에서 설명된 구성요소들 중 일부만 동일한 구성요소를 포함할 수 있다. 즉, 복수의 이동로봇이 각각 서로 다른 구성요소로 이루어질 수 있다.
이하, 각 구성요소들에 대해 살펴보기로 한다. 우선, 전원부(1600)는 외부 상용 전원에 의해 충전 가능한 배터리를 구비하여 이동 로봇 내로 전원을 공급한다. 전원부(1600)는 이동 로봇에 포함된 각 구성들에 구동 전원을 공급하여, 이동 로봇이 주행하거나 특정 기능을 수행하는데 요구되는 동작 전원을 공급할 수 있다.
이때, 제어부(1800)는 배터리의 전원 잔량을 감지하고, 전원 잔량이 부족하면 외부 상용 전원과 연결된 충전대로 이동하도록 제어하여, 충전대로부터 충전 전류를 공급받아 배터리를 충전할 수 있다. 배터리는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(1800)에 전달될 수 있다. 출력부(1500)은 제어부(1800)에 의해 배터리 잔량을 출력부(1500)에 표시할 수 있다.
배터리는 이동로봇 중앙의 하부에 위치할 수도 있고, 좌, 우측 중 어느 한쪽에 위치할 수도 있다. 후자의 경우, 이동 로봇은 배터리의 무게 편중을 해소하기 위해 균형추를 더 구비할 수 있다.
한편, 주행부(1300)는 모터를 구비하여, 모터를 구동함으로써, 좌, 우측 주바퀴를 양 방향으로 회전시켜 본체를 회전 또는 이동시킬 수 있다. 이때, 좌, 우측 주바퀴는 독립적으로 움직일 수 있다. 주행부(1300)는 이동 로봇의 본체를 전후좌우로 진행시키거나, 곡선주행시키거나, 제자리 회전시킬 수 있다.
한편, 입력부(1200)는 사용자로부터 이동로봇에 대한 각종 제어 명령을 입력받는다. 입력부(1200)는 하나 이상의 버튼을 포함할 수 있고, 예를 들어, 입력부(1200)는 확인버튼, 설정버튼 등을 포함할 수 있다. 확인버튼은 감지 정보, 장애물(CA) 정보, 위치 정보, 맵 정보를 확인하는 명령을 사용자로부터 입력 받기 위한 버튼이고, 설정버튼은 정보들을 설정하는 명령을 사용자로부터 입력받기 위한 버튼이다.
또한, 입력부(1200)는 이전 사용자 입력을 취소하고 다시 사용자 입력을 받기 위한 입력재설정버튼, 기 설정된 사용자 입력을 삭제하기 위한 삭제버튼, 작동 모드를 설정하거나 변경하는 버튼, 충전대로 복귀하도록 하는 명령을 입력받는 버튼 등을 포함할 수 있다.
또한, 입력부(1200)는 하드 키나 소프트 키, 터치패드 등으로 이동로봇의 상부에 설치될 수 있다. 또, 입력부(1200)는 출력부(1500)와 함께 터치 스크린의 형태를 가질 수 있다.
한편, 출력부(1500)는, 이동 로봇의 상부에 설치될 수 있다. 물론 설치 위치나 설치 형태는 달라질 수 있다. 예를 들어, 출력부(1500)는 배터리 상태 또는 주행 방식 등을 화면에 표시할 수 있다.
또한, 출력부(1500)는, 센싱부(1400)가 검출한 이동 로봇 내부의 상태 정보, 예를 들어 이동 로봇에 포함된 각 구성들의 현재 상태를 출력할 수 있다. 또, 출력부(1500)는 센싱부(1400)가 검출한 외부의 상태 정보, 장애물(CA) 정보, 위치 정보, 지도 정보 등을 화면에 디스플레이할 수 있다.
출력부(1500)는 발광 다이오드(Light Emitting Diode; LED), 액정 표시 장치(Liquid Crystal Display; LCD), 플라즈마 표시 패널(Plasma Display Panel), 유기 발광 다이오드(Organic Light Emitting Diode; OLED) 중 어느 하나의 소자로 형성될 수 있다.
출력부(1500)는, 제어부(1800)에 의해 수행되는 이동 로봇의 동작 과정 또는 동작 결과를 청각적으로 출력하는 음향 출력 수단을 더 포함할 수 있다. 예를 들어, 출력부(1500)는 제어부(1800)에 의해 생성된 경고 신호에 따라 외부에 경고음을 출력할 수 있다.
이때, 음향 출력 수단(미도시)은 비퍼(beeper), 스피커 등의 음향을 출력하는 수단일 수 있고, 출력부(1500)는 메모리(1700)에 저장된 소정의 패턴을 가진 오디오 데이터 또는 메시지 데이터 등을 이용하여 음향 출력 수단을 통해 외부로 출력할 수 있다.
따라서, 본 발명의 일 실시예에 따른 이동 로봇은, 출력부(1500)를 통해 주행 영역에 대한 환경 정보를 화면에 출력하거나 음향으로 출력할 수 있다. 또 다른 실시예에 따라, 이동 로봇은 출력부(1500)를 통해 출력할 화면이나 음향을 단말 장치가 출력하도록, 지도 정보 또는 환경 정보를 통신부(1100)릍 통해 단말 장치에 전송할 수 있다.
메모리(1700)는 이동로봇을 제어 또는 구동하는 제어 프로그램 및 그에 따른 데이터를 저장한다. 메모리(1700)는 오디오 정보, 영상 정보, 장애물(CA) 정보, 위치 정보, 지도 정보 등을 저장할 수 있다. 또, 메모리(1700)는 주행 패턴과 관련된 정보를 저장할 수 있다.
메모리(1700)는 비휘발성 메모리를 주로 사용한다. 여기서, 비휘발성 메모리(Non-Volatile Memory, NVM, NVRAM)는 전원이 공급되지 않아도 저장된 정보를 계속 유지할 수 있는 저장 장치로서, 일 예로, 롬(ROM), 플래시 메모리(Flash Memory), 마그네틱 컴퓨터 기억 장치(예를 들어, 하드 디스크, 디스켓 드라이브, 마그네틱 테이프), 광디스크 드라이브, 마그네틱 RAM, PRAM 등일 수 있다.
한편, 센싱부(1400)는, 외부 신호 감지 센서, 전방 감지 센서, 낭떠러지 감지 센서, 2차원 카메라 센서 및 3차원 카메라 센서 중 적어도 하나를 포함할 수 있다.
외부 신호 감지 센서는 이동 로봇의 외부 신호를 감지할 수 있다. 외부 신호 감지 센서는, 일 예로, 적외선 센서(Infrared Ray Sensor), 초음파 센서(Ultra Sonic Sensor), RF 센서(Radio Frequency Sensor) 등일 수 있다.
이동 로봇은 외부 신호 감지 센서를 이용하여 충전대가 발생하는 안내 신호를 수신하여 충전대의 위치 및 방향을 확인할 수 있다. 이때, 충전대는 이동 로봇이 복귀 가능하도록 방향 및 거리를 지시하는 안내 신호를 발신할 수 있다. 즉, 이동 로봇은 충전대로부터 발신되는 신호를 수신하여 현재의 위치를 판단하고 이동 방향을 설정하여 충전대로 복귀할 수 있다.
한편, 전방 감지 센서는, 이동 로봇의 전방, 구체적으로 이동 로봇의 측면 외주면을 따라 일정 간격으로 설치될 수 있다. 전방 감지 센서는 이동 로봇의 적어도 일 측면에 위치하여, 전방의 장애물(CA)을 감지하기 위한 것으로서, 전방 감지 센서는 이동 로봇의 이동 방향에 존재하는 물체, 특히 장애물(CA)을 감지하여 검출 정보를 제어부(1800)에 전달할 수 있다. 즉, 전방 감지 센서는, 이동 로봇의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어부(1800)에 전달할 수 있다.
전방 감지 센서는, 일 예로, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서 등일 수 있고, 이동 로봇은 전방 감지 센서로 한 가지 종류의 센서를 사용하거나 필요에 따라 두 가지 종류 이상의 센서를 함께 사용할 수 있다.
일 예로, 초음파 센서는 일반적으로 원거리의 장애물(CA)을 감지하는 데 에 주로 사용될 수 있다. 초음파 센서는 발신부와 수신부를 구비하여, 제어부(1800)는 발신부를 통해 방사된 초음파가 장애물(CA) 등에 의해 반사되어 수신부에 수신되는 지의 여부로 장애물(CA)의 존부를 판단하고, 초음파 방사 시간과 초음파 수신시간을 이용하여 장애물(CA)과의 거리를 산출할 수 있다.
또한, 제어부(1800)는 발신부에서 방사된 초음파와, 수신부에 수신되는 초음파를 비교하여, 장애물(CA)의 크기와 관련된 정보를 검출할 수 있다. 예를 들어, 제어부(1800)는 수신부에 더 많은 초음파가 수신될수록, 장애물(CA)의 크기가 큰 것으로 판단할 수 있다.
일 실시 예에서, 복수(일 예로, 5개)의 초음파 센서가 이동 로봇의 전방 측면에 외주면을 따라 설치될 수 있다. 이때, 바람직하게 초음파 센서는 발신부와 수신부가 교대로 이동 로봇의 전면에 설치될 수 있다.
즉, 발신부는 본체의 전면 중앙으로부터 좌, 우측에 이격되도록 배치될 수 있고, 수신부의 사이에 하나 또는 둘 이상의 발신부가 배치되어 장애물(CA) 등 으로부터 반사된 초음파 신호의 수신 영역을 형성할 수 있다. 이와 같은 배치로 센서의 수를 줄이면서 수신 영역을 확장할 수 있다. 초음파의 발신 각도는 크로스토크(crosstalk) 현상을 방지하도록 서로 다른 신호에 영향을 미치지 아니하는 범위의 각을 유지할 수 있다. 또한, 수신부들의 수신 감도는 서로 다르게 설정될 수 있다.
또한, 초음파 센서에서 발신되는 초음파가 상향으로 출력되도록 초음파 센서는 일정 각도만큼 상향으로 설치될 수 있고, 이때, 초음파가 하향으로 방사되는 것을 방지하기 위해 소정의 차단 부재를 더 포함할 수 있다.
한편, 전방 감지 센서는, 전술한 바와 같이, 두 가지 종류 이상의 센서를 함께 사용할 수 있고, 이에 따라, 전방 감지 센서는 적외선 센서, 초음파 센서, RF 센서 등 중 어느 한 가지 종류의 센서를 사용할 수 있다.
일 예로, 전방 감지 센서는 초음파 센서 이외에 다른 종류의 센서로 적외선 센서를 포함할 수 있다. 적외선 센서는 초음파 센서와 함께 이동 로봇의 외주면에 설치될 수 있다. 적외선 센서 역시, 전방이나 측면에 존재하는 장애물(CA)을 감지하여 장애물(CA) 정보를 제어부(1800)에 전달할 수 있다. 즉, 적외선 센서는, 이동 로봇의 이동 경로 상에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어부(1800)에 전달한다. 따라서, 이동 로봇은 본체가 장애물(CA)과의 충돌없이 특정 영역 내에서 이동할 수 있다.
한편, 낭떠러지 감지 센서(또는 클리프 센서(Cliff Sensor))는, 다양한 형태의 광 센서를 주로 이용하여, 이동 로봇의 본체를 지지하는 바닥의 장애물(CA)을 감지할 수 있다. 즉, 낭떠러지 감지 센서는, 바닥의 이동 로봇의 배면에 설치되되, 이동 로봇의 종류에 따라 다른 위치에 설치될 수 있음은 물론이다.
낭떠러지 감지 센서는 이동 로봇의 배면에 위치하여, 바닥의 장애물(CA)을 감지하기 위한 것으로서, 낭떠러지 감지 센서는 장애물(CA) 감지 센서와 같이 발광부와 수광부를 구비한 적외선 센서, 초음파 센서, RF 센서, PSD(Position Sensitive Detector) 센서 등 일수 있다.
일 예로, 낭떠러지 감지 센서 중 어느 하나는 이동 로봇의 전방에 설치되고, 다른 두 개의 낭떠러지 감지 센서는 상대적으로 뒤쪽에 설치될 수 있다. 예를 들어, 낭떠러지 감지 센서는 PSD 센서일 수 있으나, 복수의 서로 다른 종류의 센서로 구성될 수도 있다.
PSD 센서는 반도체 표면저항을 이용해서 1개의 p-n접합으로 입사광의 단장거리 위치를 검출한다. PSD 센서에는 일축 방향만의 광을 검출하는 1차원 PSD 센서와, 평면상의 광위치를 검출할 수 있는 2차원 PSD 센서가 있으며, 모두 pin 포토 다이오드 구조를 가질 수 있다. PSD 센서는 적외선 센서의 일종으로서, 적외선을 이용하여, 적외선을 송신한 후 장애물(CA)에서 반사되어 돌아오는 적외선의 각도를 측정하여 거리를 측정한다. 즉, PSD 센서는 삼각측량방식을 이용하여, 장애물(CA)과의 거리를 산출한다.
PSD 센서는 장애물(CA)에 적외선을 발광하는 발광부와, 장애물(CA)로부터 반사되어 돌아오는 적외선을 수광하는 수광부를 구비하되, 일반적으로 모듈 형태로 구성된다. PSD 센서를 이용하여, 장애물(CA)을 감지하는 경우, 장애물(CA)의 반사율, 색의 차이에 상관없이 안정적인 측정값을 얻을 수 있다.
청소부(1900)는 제어부(1800)로부터 전달되는 제어명령에 따라, 지정된 청소 영역을 청소한다. 청소부(1900)는 지정된 청소 영역의 먼지를 비산시키는 브러쉬(미도시)를 통해 주변의 먼지를 비산시킨 다음, 흡입 팬 및 흡입 모터를 구동하여 비산된 먼지를 흡입한다. 또한, 청소부(1900)는 구성의 교체에 따라 지정된 청소 영역에 걸레질을 수행할 수도 있다.
또한, 제어부(1800)는 낭떠러지 감지 센서가 지면을 향해 발광한 적외선의 발광신호와 장애물(CA)에 의해 반사되어 수신되는 반사신호 간의 적외선 각도를 측정하여, 낭떠러지를 감지하고 그 깊이를 분석할 수 있다.
한편, 제어부(1800)는 낭떠러지 감지 센서를 이용하여 감지한 낭떠 러지의 지면 상태에 따라 통과 여부를 판단할 수 있고, 판단 결과에 따라 낭떠러지의 통과 여부를 결정할 수 있다. 예를 들어, 제어부(1800)는 낭떠러지 감지 센서를 통해 낭떠러지의 존재 여부 및 낭떠러지 깊이를 판단한 다음, 낭떠러지 감지 센서를 통해 반사 신호를 감지한 경우에만 낭떠러지를 통과하도록 한다. 다른 예로, 제어부(1800)는 낭떠러지 감지 센서를 이용하여 이동 로봇의 들림 현상을 판단할 수도 있다.
한편, 2차원 카메라 센서는, 이동 로봇의 일면에 구비되어, 이동 중 본체 주변과 관련된 이미지 정보를 획득한다. 옵티컬 플로우 센서(Optical Flow Sensor)는, 센서 내에 구비된 이미지 센서로부터 입력되는 하방 영상을 변환하여 소정 형식의 영상 데이터를 생성한다. 생성된 영상 데이터는 메모리(1700)에 저장될 수 있다.
또한, 하나 이상의 광원이 옵티컬 플로우 센서에 인접하여 설치될 수 있다. 하나 이상의 광원은, 이미지 센서에 의해 촬영되는 바닥면의 소정 영역에 빛을 조사한다. 즉, 이동 로봇이 바닥면을 따라 특정 영역을 이동하는 경우에, 바닥면이 평탄하면 이미지 센서와 바닥면 사이에는 일정한 거리가 유지된다.
반면, 이동 로봇이 불균일한 표면의 바닥면을 이동하는 경우에는 바닥면의 요철 및 장애물(CA)에 의해 일정 거리 이상 멀어지게 된다. 이때 하나 이상의 광원은 조사되는 빛의 양을 조절하도록 제어부(1800)에 의해 제어될 수 있다. 광원은 광량 조절이 가능한 발광 소자, 예를 들어 LED(Light Emitting Diode) 등일 수 있다.
옵티컬 플로우 센서를 이용하여, 제어부(1800)는 이동 로봇의 미끄러짐과 무관하게 이동 로봇의 위치를 검출할 수 있다. 제어부(1800)는 옵티컬 플로우 센서에 의해 촬영된 영상 데이터를 시간에 따라 비교 분석하여 이동 거리 및 이동 방향을 산출하고, 이를 근거로 이동 로봇의 위치를 산출할 수 있다. 옵티컬 플로우 센서를 이용하여 이동 로봇의 하방에 대한 이미지 정보를 이용함으로써, 제어부(1800)는 다른 수단에 의해 산출한 이동 로봇의 위치에 대하여 미끄러짐에 강인한 보정을 할 수 있다.
3차원 카메라 센서는 이동 로봇의 본체 일면 또는 일부분에 부착되어, 본체의 주위와 관련된 3차원 좌표 정보를 생성할 수 있다. 즉, 3차원 카메라 센서는 이동 로봇과 피촬영 대상체의 원근거리를 산출하는 3차원 뎁스 카메라(3D Depth Camera)일 수 있다.
구체적으로, 3차원 카메라 센서는 본체의 주위와 관련된 2차원 영상을 촬영할 수 있으며, 촬영된 2차원 영상에 대응되는 복수의 3차원 좌표 정보를 생성할 수 있다.
일 실시예에서 3차원 카메라 센서는 기존의 2차원 영상을 획득하는 카메라를 2개 이상 구비하여, 2개 이상의 카메라에서 획득되는 2개 이상의 영상을 조합하여, 3차원 좌표 정보를 생성하는 스테레오 비전 방식으로 형성될 수 있다.
구체적으로, 실시예에 따른 3차원 카메라 센서는 이동 로봇의 주변에 소정의 패턴의 광을 조사하는 패턴조사부를 포함할 수 있다. 패턴 조사부는 본체의 전방을 향해 하측으로 제1 패턴의 광을 조사하는 제1 패턴 조사부와, 본체의 전방을 향해 상측으로 제2 패턴의 광을 조사하는 제2 패턴 조사부 및 본체의 전방의 영상을 획득하는 영상 획득부를 포함할 수 있다. 이로써, 영상 획득부는 제1 패턴의 광과 제2 패턴의 광이 입사된 영역의 영상을 획득할 수 있다.
또 다른 실시예에서 3차원 카메라 센서는 단일 카메라와 함께 적외선 패턴을 조사하는 적외선 패턴 방출부를 구비하고, 적외선 패턴 방출부에서 조사된 적외선 패턴이 피촬영 대상체에 투영된 모양을 캡쳐함으로써, 3차원 카메라 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3차원 카메라 센서는 IR(Infra Red) 방식의 3차원 카메라 센서일 수 있다.
또 다른 실시예에서 3차원 카메라 센서는 단일 카메라와 함께 빛을 방출하는 발광부를 구비하고, 발광부에서 방출되는 레이저 중 피촬영 대상체로부터 반사되는 일부를 수신하며, 수신된 레이저를 분석함으로써, 3차원 카메라 센서와 피촬영 대상체 사이의 거리를 측정할 수 있다. 이러한 3차원 카메라 센서는 TOF(Time of Flight) 방식의 3차원 카메라 센서일 수 있다.
구체적으로, 위와 같은 3차원 카메라 센서의 레이저는 적어도 일 방향으로 연장된 형태의 레이저를 조사하도록 구성된다. 일 예에서, 3차원 카메라 센서는 제1 및 제2 레이저를 구비할 수 있으며, 제1 레이저는 서로 교차하는 직선 형태의 레이저를 조사하고, 제2 레이저는 단일의 직선 형태의 레이저를 조사할 수 있다. 이에 따르면, 최하단 레이저는 바닥 부분의 장애물(CA)을 감지하는 데에 이용되고, 최상단 레이저는 상부의 장애물(CA)을 감지하는 데에 이용되며, 최하단 레이저와 최상단 레이저 사이의 중간 레이저는 중간 부분의 장애물(CA)을 감지하는 데에 이용된다.
영상획득부는 청소기 본체(110)의 주변의 영상 또는/및 장애물(CA)의 영상을 획득하여 제어부(1800)에 제공한다. 영상획득부는 본체의 주위와 관련된 2차원 영상을 촬영할 수 있으며, 촬영된 2차원 영상에 대응되는 복수의 3차원 좌표 정보를 생성할 수 있다.
예를 들면, 영상획득부는, 3차원 카메라 또는 뎁스 카메라를 포함할 수 있다.
한편, 통신부(1100)는 단말 장치 및/또는 특정 영역 내 위치한 타기기(본 명세서에서는 "가전 기기"라는 용어와 혼용하기로 한다)와 유선, 무선, 위성 통신 방식들 중 하나의 통신 방식으로 연결되어 신호와 데이터를 송수신한다.
통신부(1100)는 특정 영역 내에 위치한 타 기기와 데이터를 송수신할 수 있다. 이때, 타 기기는 네트워크에 연결하여 데이터를 송수신할 수 있는 장치이면 어느 것이어도 무방하며, 일 예로, 공기 조화 장치, 난방 장치, 공기 정화 장치, 전등, TV, 자동차 등과 같은 장치일 수 있다. 또한, 타 기기는, 문, 창문, 수도 밸브, 가스 밸브 등을 제어하는 장치 등일 수 있다. 또한, 타 기기는, 온도, 습도, 기압, 가스 등을 감지하는 센서 등일 수 있다.
또한, 통신부(1100)는 특정 영역 또는 일정 범위 내에 위치한 다른 로봇 청소기(100)와 통신할 수 있다.
비록 도시되지는 않았지만, 복수의 이동로봇이 네트워크 통신을 통해서는 단말기(미도시)와 통신을 수행하고, 상호간에 통신을 수행할 수 있다.
여기에서, 네트워크 통신은 WLAN(Wireless LAN), WPAN(Wireless Personal Area Network), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity)Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), Zigbee, Z-wave, Blue-Tooth, RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultrawide-Band), Wireless USB(Wireless Universal Serial Bus) 등과 같은 무선 통신 기술 중 적어도 하나를 이용한 근거리 통신을 의미할 수 있다.
제어부(1800)는, 인공 지능 기술에 기반하여 정보들을 처리하는 역할을 수행하는 것으로, 정보의 학습, 정보의 추론, 정보의 지각, 자연 언어의 처리 중 적어도 하나를 수행하는 하나 이상의 모듈을 포함할 수 있다.
제어부(1800)는 머신 러닝(machine running) 기술을 이용하여, 청소기 내에 저장된 정보, 이동 단말기 주변의 환경 정보, 통신 가능한 외부 저장소에 저장된 정보 등 방대한 양의 정보(빅데이터, big data)를 학습, 추론, 처리 중 적어도 하나를 수행할 수 있다.
그리고, 제어부(1800)는 머신 러닝 기술을 이용하여 학습된 정보들을 이용하여, 실행 가능한 적어도 하나의 청소기의 동작을 예측(또는 추론)하고, 적어도 하나의 예측된 동작들 중 실현성이 가장 높은 동작이 실행되도록 청소기를 제어할 수 있다. 머신 러닝 기술은 적어도 하나의 알고리즘에 근거하여, 대규모의 정보들을 수집 및 학습하고, 학습된 정보를 바탕으로 정보를 판단 및 예측하는 기술이다.
정보의 학습이란 정보들의 특징, 규칙, 판단 기준 등을 파악하여, 정보와 정보 사이의 관계를 정량화하고, 정량화된 패턴을 이용하여 새로운 데이터들을 예측 하는 동작이다.
머신 러닝 기술이 사용하는 알고리즘은 통계학에 기반한 알고리즘이 될 수 있으며, 예를 들어, 트리 구조 형태를 예측 모델로 사용하는 의사 결정 나무(decision tree), 생물의 신경 네트워크 구조와 기능을 모방하는 인공 신경망(neural network), 생물의 진화 알고리즘에 기반한 유전자 프로그래밍(genetic programming), 관측된 예를 군집이라는 부분집합으로 분배하는 군집화(Clustering), 무작위로 추출된 난수를 통해 함수값을 확률로 계산하는 몬테카를로 방법(Monter carlo method) 등이 될 수 있다.
머신 러닝 기술의 한 분야로써, 딥러닝 기술은 인공 신경망(Deap Neuron Network, DNN) 알고리즘을 이용하여, 정보들을 학습, 판단, 처리 중 적어도 하나를 수행하는 기술이다. 인공 신경망(DNN)은 레이어와 레이어 사이를 연결하고, 레이어와 레이어 사이의 데이터를 전달하는 구조를 가질 수 있다. 이러한 딥러닝 기술은 병렬 연산에 최적화된 GPU(graphic processing unit)를 이용하여 인공 신경망(DNN)을 통하여 방대한 양의 정보를 학습할 수 있다.
제어부(1800)는 외부의 서버 또는 메모리에 저장된 트레이닝 데이터를 이용하며, 소정의 물체를 인식하기 위한 특징을 검출하는 학습 엔진을 탑재할 수 있다. 이때, 물체를 인식하기 위한 특징에는 물체의 크기, 형태 및 음영 등을 포함할 수 있다.
구체적으로, 제어부(1800)는 청소기에 구비된 영상획득부를 통해 획득된 영상 중 일부를 학습 엔진에 입력하면, 학습 엔진은 입력된 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다. 더욱 구체적으로, 제어부(1800)는 사물로 인식된 것 중에 일반 장애물(CA)과, 매트형 장애물을 다양한 방법을 통해 인식할 수 있다.
이와 같이, 학습 엔진을 청소기의 주행에 적용하는 경우, 제어부(1800)는 청소기의 주행에 방해되는 의자 다리, 선풍기, 특정 형태의 발코니 틈과 같은 장애물(CA)이 청소기 주변에 존재하는지 여부를 인식할 수 있으므로, 청소기 주행의 효율 및 신뢰도를 높일 수 있다.
한편, 위와 같은 학습 엔진은 제어부(1800)에 탑재될 수도 있고, 외부 서버에 탑재될 수도 있다. 학습 엔진이 외부 서버에 탑재된 경우, 제어부(1800)는 분석의 대상인 적어도 하나의 영상을 외부 서버로 전송하도록 통신부(1100)를 제어할 수 있다.
외부 서버는 청소기로부터 전송받은 영상을 학습 엔진에 입력함으로서, 해당 영상에 포함된 적어도 하나의 사물 또는 생명체를 인식할 수 있다. 아울러, 외부 서버는 인식결과와 관련된 정보를 다시 청소기로 전송할 수 있다. 이때, 인식결과와 관련된 정보는 분석의 대상인 영상에 포함된 객체의 개수, 각 개체의 이름과 관련된 정보를 포함할 수 있다.
예를 들면, 제어부(1800)는 청소영역 내에서 영상획득부에 의해 획득한 영상 및 원근거리를 분석하여 본체의 주변에 위치된 장애물(CA)의 존재여부를 판단하고, 장애물(CA)의 높이(H1)가 기준 높이 이상 되는 장애물(CA)의 경우 이동 로봇의 회피를 결정하고, 장애물(CA)의 높이(H1)가 기준 높이 보다 작은 경우, 장애물(CA)의 평면적을 연산하고, 장애물(CA)의 평면적을 기준으로 본체의 등반 또는 회피를 결정할 수 있다.
제어부(1800)는 상술한 정보 학습 또는 주어진 기준에 따라 장애물(CA)을 일반 장애물(CA)과 매트형 장애물(CA)로 구별할 수 있다. 일 예로, 제어부(1800)는 빅 데이터 또는 머신 러닝에 의해 사물을 인지하고 각 사물별 특징에 따라 회피하거나 등반하게 로봇 청소기(100)를 제어할 수 있다.
청소영역에는 매트와 같이 폭이 넓은 장애물(CA)도 존재하지만, 각 공간의 경계를 결정하거나, 각 공간 사이의 도어를 가이드 하는 레일 또는 새시가 존재한다. 로봇 청소기가 레일, 새시를 단순히 장애물(CA)로 인지하고, 레일, 새시를 높이만을 기준으로 등반을 결정하게 되면, 레일, 새시의 폭이 작기 때문에 등반 중에 로봇 청소기가 전복될 위험이 존재하고, 이동 중에 레일, 새시 반대편의 바닥으로 추락하게 된다. 로봇 청소기가 레일, 새시의 반대편으로 추락하게 되고, 레일, 새시 반대편의 바닥의 깊이가 깊은 경우, 로봇 청소기가 되돌아 오지 못하고 주행구역을 청소할 수 없고, 추락에 의해 파손의 염려가 존재한다.
이하에서는, 상술한 문제점 해결하기 위해, 장애물(CA)의 높이(H1)와, 전방 바닥면(B2)의 깊이(D1) 등을 고려하여서 로봇 청소기가 장애물(CA)의 등반여부를 결정하는 방법에 대해 상술한다.
도 5는 본 발명에 일 실시예에 따른 로봇 청소기가 장애물(CA) 너머의 바닥면의 깊이를 측정하고, 장애물(CA)을 회피하는 것을 도시한 도면이다.
도 5a, 5b를 참조하면, 제어부(1800)는 영상획득부에서 획득한 영상을 분석하여 장애물(CA)의 높이(H1)와, 전방 바닥면(B2)의 깊이(D1)를 연산하고, 장애물(CA)의 높이(H1)와 전방 바닥면(B2)의 깊이(D1)를 바탕으로 구동모터를 제어할 수 있다. 따라서, 이동 로봇은 장애물(CA) 너머의 낭떠러지를 미리 인식하여서, 이동 로봇이 낭떠러지에 갇히거나 되돌아 오지 못하는 것을 방지할 수 있다.
다른 예로, 제어부(1800)는 영상획득부에서 획득한 영상에서 패턴을 분석하여 장애물(CA)의 높이(H1)와, 전방 바닥면(B2)의 깊이(D1)를 연산하고, 장애물(CA)의 높이(H1)와 전방 바닥면(B2)의 깊이(D1)를 바탕으로 구동모터를 제어할 수 있다.
구체적으로, 제어부(1800)는 장애물(CA)의 높이(H1)가 기준 높이 보다 작고, 전방 바닥면(B2)의 깊이(D1)가 기준 깊이 보다 깊은 경우, 이동 로봇이 장애물(CA)을 회피하도록 구동모터를 제어할 수 있다. 이동 로봇의 전방에 위치된 장애물(CA)이 등반 가능한 높이라도, 장애물(CA)의 전방에 위치된 바닥면의 깊이를 고려하여서 등반여부를 결정하게 된다.
여기서, 전방 바닥면(B2)의 깊이(D1)는 이동 로봇으로부터 전방으로 일정 거리 이격된 영역(A2)의 일 지점(P3)의 깊이를 의미하거나, 이격된 영역(A2)에서 선정된 복수의 지점(P3, P4)의 평균 깊이를 의미할 수 있다.
바람직하게는, 전방 바닥면(B2)의 깊이(D1)는 이동 로봇으로부터 전방으로 30cm 내지 90cm 이격된 바닥면의 깊이일 수 있다. 더욱 바람직하게는, 전방 바닥면(B2)의 깊이(D1)는 이동 로봇으로부터 전방으로 50cm 내지 70cm 이격된 바닥면의 깊이일 수 있다. 다르게는 전방 바닥면(B2)의 깊이(D1)는 이동 로봇의 전방에 위치된 장애물(CA)과 기준 바닥면(B1)의 경계에서 40cm 내지 70cm 이격된 바닥면의 깊이일 수 있다.
이동 로봇으로부터 소정의 거리로 이격된 바닥의 깊이를 측정하는 것으로, 이동 로봇의 전방에 위치된 장애물(CA)이 매트형 장애물(CA)인지, 아니면 레일형 장애물(CA)인지 구별할 수 있다.
또한, 전방 바닥면(B2)의 깊이(D1)는 장애물(CA)과 기준 바닥면(B1)의 경계 보다 전방에 위치된 영역의 바닥면의 깊이일 수 있다. 이를 위해, 로봇 청소기는 전방에 장애물(CA)이 감지되는 경우, 장애물(CA)의 근접하여 전방 바닥면(B2)을 검출할 수 있다. 여기서, 기준 바닥면(B1)은 이동 로봇이 위치된 영역의 바닥면일 수 있다.
전방 바닥면(B2)의 깊이(D1)는 장애물(CA)의 높이(H1) 값과 이동로봇이 현재 위치한 재 바닥면과 전방 바닥면(B2) 사이의 단차 값을 합산한 값이다. 즉, 전방 바닥면(B2)의 깊이(D1)는 이동 로봇이 장애물(CA)의 반대편에서 다시 넘어오기 위한 장애물(CA)의 높이(H1)가 된다.
전방 바닥면(B2)의 깊이(D1)는 이동 로봇의 등반 가능한 높이와 동일한 값으로 설정될 수 있다. 바람직하게는, 기준 깊이는 -2cm 내지 3cm 이고, 더욱 바람직하게는, 기준 깊이는 0cm 내지 2cm일 수 있다. 여기서, 기준 깊이가 마이너스 인 경우는 전방 바닥면(B2)이 높이가 장애물(CA)의 높이(H1) 보다 높은 경우이다.
물론 다른 예로, 전방 바닥면(B2)이 장애물(CA)의 높이(H1)와 높은 경우, 전방 바닥면(B2)은 장애물(CA)로 분류되어서, 이동 로봇은 장애물(CA)의 높이(H1)에 따라 등반을 결정할 수 있다.
전방 바닥면(B2)을 정확하게 검출하기 위해, 센싱 유닛(130)은 청소기 본체의 전방 상단에 위치되는 것이 바람직하다. 바람직하게는 센싱 유닛(130)은 휠의 하단에서 15cm 내지 30cm에 위치될 수 있다. 이는 센싱 유닛(130)이 높게 장착되어야 장애물(CA) 너머의 바닥면의 깊이를 검출할 수 있기 때문이다.
센싱 유닛(130)은 센싱유닛과 전방에서 하방으로 일정한 각도(θ)를 가지는 방향에 위치되는 전방 바닥면(B2) 사이의 거리를 통해 전방 바닥면(B2)의 깊이(D1)를 산정할 수 있다.
구체적으로, 전방 바닥면(B2)의 깊이(D1)는 전방과 하방 사이로 방출되는 레이저 중 전방 바닥면(B2)으로부터 반사되는 일부를 수신하며, 수신된 레이저를 분석함으로써, 3차원 카메라 센서와 전방 바닥면(B2) 사이의 거리(F2)를 측정하고 이를 기준 거리(F1)와 비교하여 산정할 수 있다. 또한, 전방 바닥면(B2)의 깊이(D1)는 이동 로봇에서 전방의 바닥을 항하는 방향으로 소정 패턴의 광을 조사하고, 획득된 영상에서 패턴을 검출하고, 패턴을 바탕으로 패턴까지의 거리(F2)를 산정하고, 산정된 패턴까지의 거리와 기준 거리(F1)를 비교하여 산정한다.
기준 거리(F1)는 기준 바닥면(B1)의 연장선과 센싱 유닛(130) 사이의 거리를 의미한다. 패턴까지의 거리(F2)가 기준 거리(F1) 보다 큰 경우, 전방 바닥면(B2)의 깊이(D1)가 기준 바닥면(B1) 보다 깊은 것으로 판단한다.
다른 예로, 제어부(1800)는 뎁스 카메라에서 획득한 영상에서 이동 로봇의 3차원 좌표 값을 획득하고 이러한 3차원 좌표 값을 기준으로 장애물(CA)의 전방에 위치된 전방 바닥면(B2)의 깊이(D1)를 연산할 수도 있다.
도 6은 본 발명에 일 실시예에 따른 로봇 청소기가 장애물(CA) 너머의 바닥면의 깊이를 측정하고, 장애물(CA)을 등반하고 다시 제자리로 돌아오는 것을 도시한 도면이다.
제어부(1800)는 장애물(CA)의 높이(H1)가 기준 높이 보다 작고, 전방 바닥면(B2)의 깊이(D1)가 기준 깊이 보다 작은 경우, 이동 로봇이 장애물(CA)을 등반하도록 구동모터를 제어할 수 있다.
도 6a를 참조하면, 도 5a에서 설명한 바와 같이, 센싱 유닛(130)이 장애물(CA)의 높이(H1), 전방 바닥면(B2)의 깊이(D1)를 측정하면, 이를 바탕으로 제어부(1800)는 장애물(CA)의 등반여부를 결정하게 된다.
도 6b를 참조하면, 이동 로봇은 장애물(CA)의 높이(H1)가 기준 높이 보다 작고, 전방 바닥면(B2)의 깊이(D1)가 기준 깊이 보다 작은 경우, 장애물(CA)을 등반한다.
도 6c를 참조하면, 이동 로봇은 장애물(CA)을 등반한 후, 전방 바닥면(B2)을 포함하는 영역을 주행할 수 있다. 도 6d를 참조하면, 전방 바닥면(B2)을 포함하는 영역의 주행을 끝마친 경우, 이동 로봇은 다시 기준 바닥면(B1)으로 복귀할 수 있다.
로봇 청소기가 레일형 장애물(CA)을 등반 시에 로봇 청소기의 좌측 휠(111a)과 우측 휠(111b)이 동시에 장애물(CA)과 접촉하지 않는 경우, 로봇 청소기가 장애물(CA)에 구속되거나, 장애물(CA)을 등반하지 못하는 경우가 발생할 수 있다.
이하, 상술한 문제점을 해결하기 위해 로봇 청소기의 진입각도(θA)를 장애물(CA)의 경계 라인(BL)과 수직하게 하기 위한 방법에 대해 상술한다.
도 7는 본 발명에 따른 제1 실시예에 따른 로봇 청소기가 진입각도(θA)를 연산하고 진입각도(θA)를 정상 진입각도로 변경하는 것을 도시한 도면이다.
도 7a를 참조하면, 제어부(1800)는 영상획득부에서 획득한 영상을 분석하여 장애물(CA)에 대한 이동 로봇의 진입각도(θA)를 검출하고, 이동 로봇의 진입각도(θA)에 따라 장애물(CA)을 등반하게 제어할 수 있다.
여기서, 이동 로봇의 진입각도(θA)는 이동 로봇의 진행 방향과 장애물(CA)과 바닥의 경계선(BL)이 이루는 각도를 의미한다. 또는 이동 로봇의 진입각도(θA)는 휠의 회전축(A1)과 수직한 선과 장애물(CA) 측면과 이루는 각도를 의미할 수 있다.
여기서, 장애물(CA)과 바닥의 경계선(BL)은 장애물(CA)에서 이동 로봇의 진행방향과 마주보는 면의 바닥 사이의 경계선을 의미할 수 있다. 물론, 장애물(CA)과 바닥의 경계선(BL)이 곡선인 경우, 장애물(CA)과 바닥의 경계선(BL)의 양단을 연결한 직선 또는 장애물(CA)과 바닥의 경계선(BL)에서 서로 이격된 2개의 지점을 연결한 가상의 선일 수 있다.
장애물(CA) 측면이 곡선인 경우, 화각 상에 들어온 장애물(CA)의 측면의 양단 사이를 연결한 가상의 면을 장애믈의 측면으로 결정할 수 있다.
본 실시예에서는 장애물(CA) 측면 및 장애물(CA)과 바닥의 경계선(BL)이 직선인 것을 기준으로 설명한다.
이동 로봇의 진입각도(θA)를 산정하는 방법은 다양한 방법이 가능하다. 일 예로, 진입각도(θA)는 본체의 주위와 관련된 2차원 영상과 2차원 영상에 대응되는 복수의 3차원 좌표 정보를 가지고 판별할 수 있다. 구체적으로, 제어부(1800)는, 복수의 3차원 좌표와 2차원 영상을 토대로, 장애물(CA)의 측면 및 장애물(CA)과 바닥의 경계선(BL)이 이동 로봇의 진행방향에 기울어진 각도를 산정할 수 있다.
일 예로, 상부에서 바라본 평면 상에서, 이동 로봇은 기준점(P)에서 전방 방향에 대해 좌측으로 제1 각도(θB)로 기울어진 방향으로 광을 조사하고 반사된 광을 수신하여 장애물(CA) 측면의 좌측 일 지점(P1)과 기준점(P) 사이의 제1 이격거리(L1)를 산정하고, 기준점(P)에서 전방 방향에 대해 우측으로 제1 각도(θB)와 동일한 제2 각도(θC)로 기울어진 방향으로 광을 조사하고 반사된 광을 수신하여 장애물(CA) 측면의 우측 일 지점(P2)과 기준점(P) 사이의 제2 이격거리(L2)를 산정한다.
제어부(1800)는 제1 이격거리(L1)와 제2 이격거리(L2)를 비교하여 진입각도(θA)를 산출할 수 있다. 제1 이격거리(L1)와 제2 이격거리(L2)가 같은 경우, 진입각도(θA)는 90 °가 된다.
다른 예로, 제어부(1800)는 복수의 2차원 좌표와 2차원 영상을 토대로 생성된 맵(Map)에서, 장애물(CA)의 경계를 확정하고, 확정된 장애물(CA)의 경계의 일부분과 이동 로봇의 진행방향의 기울어진 각도를 산정할 수 있다.
제어부(1800)는, 진입각도 검출 시에 이동 로봇의 진입 각도가 변하지 않도록 이동 로봇을 제어할 수 있다. 제어부(1800)는 진입각도 검출 시에, 제1 구동모터 및 제2 구동모터를 정상속도 보다 낮은 저속으로 구동할 수 있고, 이때, 제1 구동모터와 제2 구동모터는 동일한 속도로 구동할 수 있다. 다른 예로, 제어부(1800)는, 진입각도 검출 시에, 제1 구동모터 및 제2 구동모터를 정지시킬 수 있다. 진입각도 검출 시에 구동모터가 정지하면 정확한 진입각도를 검출 할 수 있다.
제어부(1800)는 이동 로봇의 진입각도(θA)가 비 정상 진입각도 인 경우, 이동 로봇의 진입각도(θA)가 정상 진입각도가 되도록 제1 구동모터(1310) 및 제2 구동모터(1320)를 제어할 수 있다.
여기서, 정상 진입각도는 이동 로봇이 장애물(CA)의 경계와 수직에게 가깝게 진입하는 것을 의미한다. 구체적으로, 정상 진입각도는 87° 내지 93°의 진입각도(θA)일 수 있다. 바람직하게는, 정상 진입각도는 88° 내지 92°의 진입각도(θA)일 수 있다. 더욱 바람직하게는, 정상 진입각도는 89° 내지 91°로 설정될 수 있다.
비 정상 진입각도는 정상 진입각도 이외의 진입각도(θA)를 의미한다. 비 정상 진입각도는 이동 로봇이 장애물(CA)의 경계와 수직하지 않게 진입하는 것을 의미한다.
5a에 도시된 바와 같이, 제어부(1800)는 진입각도(θA)가 비 정상 진입각도 인 경우, 제1 구동모터(1310)와 제2 구동모터(1320)를 제어하여서, 이동 로봇을 제자리에서 일 방향으로 일정 각도 회전시키거나, 전진하면서, 제1 구동모터(1310) 및 제2 구동모터(1320) 중 어느 하나의 출력을 향상시키거나 줄일 수 있다. 이러한 제어부(1800)의 제어를 이동 로봇의 자세를 수정하는 것으로 정의할 수 있다.
구체적으로, 제어부(1800)는 제1 이격거리(L1)가 제2 이격거리(L2) 보다 작은 경우, 제2 구동모터(1320)를 통해 우측 휠(111b)을 전진시켜서 이동 로봇을 회전시킬 수 있다. 제어부(1800)는 제1 이격거리(L1)와 제2 이격거리(L2)가 오차 범위 이내에서 동일해 질 때까지 이러한 동작을 반복할 수 있다.
도 7b 및 도 7c를 참조하면, 제어부(1800)는 이동 로봇의 진입각도(θA)가 정상 진입각도 인 경우, 이동로봇이 장애물(CA)을 등반하도록 제1 구동모터(1310) 및 제2 구동모터(1320)를 제어할 수 있다. 구체적으로, 제어부(1800)는 이동 로봇의 진입각도(θA)가 정상 진입각도 인 경우, 제1 구동모터(1310) 및 제2 구동모터(1320)를 같은 속도로 동시에 제어하여서, 이동 로봇이 원래 방향(진행방향)을 유지하며 진행하게 할 수 있다. 물론, 제어부(1800)는 장애물(CA)에 휠이 접촉 시에 제1 구동모터(1310) 및 제2 구동모터(1320)의 출력을 증가시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 로봇 청소기의 제어방법을 설명하기 위한 순서도이다.
이하, 도 8을 참조하여 본 발명의 로봇 청소기(100)의 제어방법을 상술한다. 각 순서도들에서 서로 중복되는 내용은 동일한 도면 부호로 표기하고, 중복되는 설명은 생략한다.
제어방법은 제어부(1800)에 의해 수행될 수 있다. 본 발명은, 로봇 청소기(100)의 제어방법이 될 수 있고, 제어방법을 수행하는 제어부(1800)를 포함하는 로봇 청소기(100)가 될 수도 있다. 본 발명은, 제어방법의 각 단계를 포함하는 컴퓨터 프로그램이 될 수도 있고, 제어방법을 컴퓨터로 구현하기 위한 프로그램이 기록된 기록매체가 될 수도 있다. '기록매체'는 컴퓨터로 판독 가능한 기록매체를 의미한다. 본 발명은, 하드웨어와 소프트웨어를 모두 포함하는 로봇 청소기(100) 제어 시스템이 될 수도 있다.
제어방법의 순서도 도면들의 각 단계와 순서도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션(instruction)들에 의해 수행될 수 있다. 인스트럭션들은 범용 컴퓨터 또는 특수용 컴퓨터 등에 탑재될 수 있고, 인스트럭션들이 순서도 단계(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
또한, 몇 가지 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 발명의 일 실시예에 따른 이동 로봇의 제어방법은 이동 로봇의 전방의 영상을 획득하는 영상획득 단계(S110), 획득된 영상에서, 장애물(CA)과 장애물(CA) 전방의 전방 바닥면(B2)을 검출하는 검출 단계(S120), 장애물(CA)의 높이(H1)와, 전방 바닥면(B2)의 깊이(D1)를 연산하는 연산 단계(S110); 및 장애물(CA)의 높이(H1)와 전방 바닥면(B2)의 깊이(D1)를 바탕으로 이동로봇이 장애물(CA)을 등반 또는 회피하는 등반회피 단계(S130, 133, 160, 180)을 포함할 수 있다.
영상 획득단계(S110)에서, 로봇 청소기(100)는 주행과 동시에 실시간으로 로봇 청소기(100) 주변의 영상과 장애물(CA)과의 원근거리 및 이동 로봇의 주변의 3차원 좌표를 획득한다. 제어부(1800)는 영상 획득부를 제어하여서 주행 중 일정한 간격으로 로봇 청소기(100)의 주변의 영상 및 3차원 좌표를 획득할 수 있다. 여기서, 로봇 청소기(100) 주변의 영상은 로봇 청소기(100)의 정면과 측면을 포함할 수 있다.
검출 단계(S120)에서 로봇 청소기(100)는 주변의 영상 및 3차원 좌표 정보를 바탕으로 장애물(CA)과 장애물(CA) 전방의 전방 바닥면(B2)을 검출한다. 검출 단계(S120)에서 로봇 청소기가 장애물(CA)을 검출하고 전방 바닥면(B2)을 검출하지 못하는 경우, 로봇 청소기는 일반적인 장애물(CA) 등반 결정 방법에 의해 장애물(CA)의 등반을 결정한다. 로봇 청소기는 전방 바닥면(B2)의 깊이(D1)가 0 보다 작은 경우, 전방 바닥면(B2)이 없다고 판단할 수 있다.
연산 단계(S120)에서, 로봇 청소기는, 장애물(CA)의 높이(H1)와 전방 바닥면(B2)의 깊이(D1), 장애물(CA)까지의 거리 등을 연산한다. 구체적으로, 로봇 청소기는 장애물(CA)이 감지되는 경우, 장애물(CA)에 일정 거리 이내로 근접하여서 전방 바닥면(B2)의 깊이(D1)를 측정할 수 있다. 전방 바닥면(B2)의 깊이(D1), 장애물(CA) 높이 등의 측정 및 연산 방법은 상술한 바와 같다.
등반회피 단계(S130, 133, 160, 180)에서, 로봇 청소기는 장애물(CA)의 높이(H1)와 전방 바닥면(B2)의 깊이(D1)를 바탕으로 장애물(CA)의 회피여부를 결정한다(S130, S133). 구체적으로, 제어부(1800)는 장애물(CA)의 3차원 좌표와 2차원 영상을 바탕으로 장애물(CA)의 높이(H1)를 산정하고, 장애물(CA)의 높이(H1)가 기준 높이 보다 큰 경우, 로봇 청소기가 장애물(CA)을 회피 주행하도록 주행부(1300)를 제어한다(S180). 여기서, 장애물(CA)을 회피한다는 것은 제어부(1800)가 주행부(1300)를 제어하여서, 로봇 청소기(100)가 장애물(CA)을 제외한 청소 영역을 주행 또는 청소하는 것을 의미한다.
물론, 장애물(CA)의 높이(H1)만으로 회피를 결정할 수 있지만, 장애물(CA)의 높이(H1)가 낮은 경우에 수건 같이 등반할 수 없는 장애물(CA)의 경우를 판단하기 위해 장애물(CA)의 평면적을 연산하여 장애물(CA)의 회피여부를 결정할 수도 있다. 구체적으로, 로봇 청소기는 로봇 청소기(100)는 장애물(CA)의 평면적을 연산한다. 장애물(CA)의 평면적은 영상획득부에 의해 장애물(CA)의 전체 형상 및 장애물(CA)의 경계를 특정하고, 장애물(CA)의 폭, 길이, 높이 정보를 조합하여 매트형 장애물(CA)의 형상을 평면 좌표계에 표시하고, 매트형 장애물(CA)의 평면적을 연산할 수 있다. 로봇 청소기(100)는 장애물(CA)의 평면적이 기 설정된 평면적 값을 초과하는 경우, 장애물(CA)을 등반 가능한 장애물(CA)로 판단할 수 있다.
등반회피 단계(S130, 133, 160, 180)에서, 로봇 청소기는 장애물(CA)의 높이(H1)가 기준 높이 보다 작고, 전방 바닥면(B2)의 깊이(D1)가 기준 깊이 보다 작은 경우, 장애물(CA)을 등반할 수 있다(S160). 여기서, 로봇 청소기가 장애물(CA)을 등반한다 함은 로봇 청소기가 장애물(CA)의 상단 위에 올라가는 것을 의미한다.
등반회피 단계(S130, 133, 160, 180)에서, 로봇 청소기는 장애물(CA)의 높이(H1)가 기준 높이 보다 작고, 전방 바닥면(B2)의 깊이(D1)가 기준 깊이 보다 깊은 경우, 장애물(CA)을 회피할 수 있다(S180).
로봇 청소기는 장애물(CA)을 등반 이후, 전방 바닥면(B2)으로 이동하여 전방 바닥면(B2)을 주행할 수 있다(S163).
또한, 실시예는 이동 로봇이 장애물(CA)을 등반 또는 회피하는 경우, 장애물(CA)을 등반 가능 장애물(CA)로 장애물(CA) 지도에 등록하는 등록 단계(S165)를 더 포함할 수 있다. 구체적으로, 로봇 청소기(100)는 장애물(CA)의 등반 가능 여부에 대한 정보와, 장애물(CA)의 2차원 경계선을 장애물(CA) 지도에 저장하고, 이를 다른 로봇 청소기(100)에 전송할 수도 있다.
도 9는 본 발명의 다른 실시예에 따른 로봇 청소기의 제어방법을 설명하기 위한 순서도이다.
도 9의 실시예는 도 8의 실시예와 비교하면, 로봇 청소기가 장애물(CA)을 등반 가능한 장애물(CA)로 판단 후에 장애물(CA)에 대해 정상 진입 각도로 진입하는 제어방법을 더 포함하는 차이점이 존재한다. 이하, 도 8과 차이점을 위주로 설명한다.
본 발명의 일 실시예의 이동 로봇 제어방법은 장애물(CA)에 대한 이동 로봇의 진입각도(θA)를 검출하는 진입각도(θA) 검출단계(S140) 및 이동 로봇의 진입각도(θA)에 따라 장애물(CA)을 등반여부를 결정하는 결정단계(S150, S160, S170)를 포함할 수 있다.
진입각도(θA) 검출단계(S140)에서, 로봇 청소기는 장애물(CA)이 회피할 필요가 없는 장애물(CA)인 경우(즉, 장애물(CA)의 높이(H1)가 기준 높이 보다 작고, 전방 바닥면(B2)의 깊이(D1)가 기준 깊이 보다 작은 경우), 로봇 청소기의 장애물(CA)에 대한 진입각도(θA)를 검출한다. 진입각도(θA)를 검출하는 것은 도 7 에서 상술한 바와 같다.
장애물(CA)을 등반여부를 결정하는 결정단계(S150, S160, S170)에서, 로봇 청소기의 진입각도(θA)에 따라 장애물(CA)을 등반여부를 결정한다. 구체적으로, 장애물(CA)을 등반여부를 결정하는 결정단계(S150, S160, S170)에서, 로봇 청소기는 진입각도(θA)가 정상 진입각도인지 여부를 판단하고(S150), 진입각도(θA)가 정상 진입각도 인 경우, 로봇 청소기가 장애물(CA)을 등반한다(S160). 로봇 청소기는 로봇 청소기의 진입각도(θA)가 비 정상 진입각도 인 경우, 로봇 청소기는 자세를 수정하여서, 진입각도(θA)를 변경한다(S170). 로봇 청소기는 수정된 자세에서, 다시 진입각도(θA) 검출단계(S140) 및 장애물(CA)을 등반여부를 결정하는 결정단계(S150, S160, S170)를 실행할 수 있다.
물론, 로봇 청소기는 여러 번 자세 수정을 한 경우에도 진입각도(θA)가 정상 진입각도가 되지 못하는 경우, 정상 진입각도의 각도 범위를 수정하여서, 다시 진입각도(θA) 검출단계(S140) 및 장애물(CA)을 등반여부를 결정하는 결정단계(S150, S160, S170)를 실행할 수 있다.
구체적으로, 로봇 청소기는 여러 번 자세 수정을 한 경우에도 진입각도(θA)가 정상 진입각도가 되지 못하는 경우, 정상 진입각도의 각도 범위를 86° 내지 94 °수정하여서, 다시 진입각도(θA) 검출단계(S140) 및 장애물(CA)을 등반여부를 결정하는 결정단계(S150, S160, S170)를 실행할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 로봇 청소기 110: 청소기 본체
120: 청소 유닛 130: 센싱유닛
140: 먼지통
120: 청소 유닛 130: 센싱유닛
140: 먼지통
Claims (14)
- 이동 로봇의 전방의 영상을 획득하는 영상획득 단계;
상기 획득된 영상에서, 장애물과 상기 장애물 전방의 전방 바닥면을 검출하는 검출 단계;
상기 장애물의 높이와, 상기 전방 바닥면의 깊이를 연산하는 연산 단계; 및
상기 장애물의 높이와 상기 전방 바닥면의 깊이를 바탕으로 상기 이동로봇이 상기 장애물을 등반 또는 회피하는 등반회피 단계를 포함하고,
상기 전방 바닥면의 깊이는 상기 장애물의 높이 값과 상기 이동로봇이 현재 위치한 재 바닥면과 상기 전방 바닥면 사이의 단차 값을 합산한 값인 이동 로봇의 제어방법. - 삭제
- 제1항에 있어서,
상기 등반회피 단계에서,
상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 깊은 경우, 상기 이동 로봇은 상기 장애물을 회피하는 이동 로봇의 제어방법. - 제1항에 있어서,
상기 등반회피 단계에서,
상기 장애물의 높이가 기준 높이 보다 높은 경우, 상기 이동 로봇은 상기 장애물을 회피하는 이동 로봇의 제어방법. - 제1항에 있어서,
상기 전방 바닥면의 깊이는 상기 이동 로봇으로부터 전방으로 30cm 내지 90cm 이격된 바닥면의 깊이인 이동 로봇의 제어방법 - 삭제
- 제1항에 있어서,
상기 전방 바닥면의 깊이는 상기 이동 로봇에서 전방의 바닥을 항하는 방향으로 소정 패턴의 광을 조사하고, 획득된 영상에서 상기 패턴을 검출하고, 상기 패턴을 바탕으로 상기 패턴까지의 거리를 산정하고, 산정된 상기 패턴까지의 거리와 기준 거리를 비교하여 산정하는 이동 로봇의 제어방법. - 제1항에 있어서,
상기 이동 로봇이 상기 장애물을 등반 또는 회피하는 경우, 상기 장애물을 등반 가능 장애물로 장애물 지도에 등록하는 등록 단계를 더 포함하는 이동 로봇의 제어방법. - 휠을 구동하는 구동모터;
이동 로봇의 주변의 영상 및 장애물의 영상을 획득하는 영상획득부;
상기 영상획득부에서 획득한 영상을 분석하여 상기 구동모터를 제어하는 제어부를 포함하고,
상기 제어부는,
상기 영상획득부에서 획득한 영상을 분석하여 상기 장애물의 높이와, 전방 바닥면의 깊이를 연산하고, 상기 장애물의 높이와 상기 전방 바닥면의 깊이를 바탕으로 상기 구동모터를 제어하고,
상기 전방 바닥면의 깊이는 상기 장애물의 높이 값과 상기 이동로봇이 현재 위치한 재 바닥면과 상기 전방 바닥면 사이의 단차 값을 합산한 값인 이동 로봇. - 제9항에 있어서,
상기 제어부는,
상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 작은 경우, 상기 이동 로봇이 상기 장애물을 등반하도록 상기 구동모터를 제어하는 이동 로봇. - 제9항에 있어서,
상기 제어부는,
상기 장애물의 높이가 기준 높이 보다 작고, 상기 전방 바닥면의 깊이가 기준 깊이 보다 깊은 경우, 상기 이동 로봇이 상기 장애물을 회피하도록 상기 구동모터를 제어하는 이동 로봇. - 휠을 구동하는 구동모터;
이동 로봇의 주변에 소정 패턴의 광을 조사하는 패턴조사부;
상기 이동 로봇의 주변의 영상 및 장애물의 영상을 획득하는 영상획득부;
상기 영상획득부에서 획득한 영상에서 상기 패턴을 분석하여 상기 구동모터 를 제어하는 제어부를 포함하고,
상기 제어부는,
상기 영상획득부에서 획득한 영상에서 상기 패턴을 분석하여 상기 장애물의 높이와, 전방 바닥면의 깊이를 연산하고, 상기 장애물의 높이와 상기 전방 바닥면의 깊이를 바탕으로 상기 구동모터를 제어하고,
상기 전방 바닥면의 깊이는 상기 장애물의 높이 값과 상기 이동로봇이 현재 위치한 재 바닥면과 상기 전방 바닥면 사이의 단차 값을 합산한 값인 이동 로봇. - 제12항에 있어서,
상기 패턴조사부는 상기 이동 로봇의 전방과 하방 사이로 상기 패턴의 광을 조사하는 이동 로봇. - 제13항에 있어서,
상기 제어부는,
상기 전방 바닥면의 깊이를 획득된 영상에서 상기 패턴을 검출하고, 상기 패턴을 바탕으로 상기 패턴까지의 거리를 산정하고, 산정된 상기 패턴까지의 거리와 기준 거리를 비교하여 산정하는 이동 로봇.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210002035A KR102535719B1 (ko) | 2019-03-05 | 2021-01-07 | 이동 로봇 및 이동 로봇의 제어방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190024996A KR102210360B1 (ko) | 2019-03-05 | 2019-03-05 | 이동 로봇 및 이동 로봇의 제어방법 |
KR1020210002035A KR102535719B1 (ko) | 2019-03-05 | 2021-01-07 | 이동 로봇 및 이동 로봇의 제어방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190024996A Division KR102210360B1 (ko) | 2019-03-05 | 2019-03-05 | 이동 로봇 및 이동 로봇의 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210005986A KR20210005986A (ko) | 2021-01-15 |
KR102535719B1 true KR102535719B1 (ko) | 2023-05-22 |
Family
ID=86545104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210002035A KR102535719B1 (ko) | 2019-03-05 | 2021-01-07 | 이동 로봇 및 이동 로봇의 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102535719B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102269747B1 (ko) | 2021-03-31 | 2021-06-28 | 주식회사대상기술 | 로봇 청소기 및 그 주행 제어 방법 |
KR102661942B1 (ko) * | 2022-09-30 | 2024-04-29 | 에이치디현대로보틱스 주식회사 | 방역 로봇 및 그 제어 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100664061B1 (ko) | 2004-12-28 | 2007-01-03 | 엘지전자 주식회사 | 턱등반장치를 구비한 로봇 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120078382A (ko) | 2010-12-31 | 2012-07-10 | 갤럭시아포토닉스 주식회사 | 반사벽을 갖는 발광 다이오드 및 발광 다이오드 패키지 |
CA3002303A1 (en) * | 2015-11-02 | 2017-05-11 | Starship Technologies Ou | System and method for traversing vertical obstacles |
KR102147207B1 (ko) * | 2016-08-29 | 2020-08-24 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR102521849B1 (ko) * | 2016-08-23 | 2023-04-13 | 엘지전자 주식회사 | 로봇 청소기 |
-
2021
- 2021-01-07 KR KR1020210002035A patent/KR102535719B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100664061B1 (ko) | 2004-12-28 | 2007-01-03 | 엘지전자 주식회사 | 턱등반장치를 구비한 로봇 |
Also Published As
Publication number | Publication date |
---|---|
KR20210005986A (ko) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102252034B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR102015498B1 (ko) | 복수의 자율주행 청소기 및 그 제어방법 | |
KR102234641B1 (ko) | 이동 로봇 및 복수의 이동 로봇의 제어방법 | |
KR102210360B1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
KR102369661B1 (ko) | 이동 로봇 및 복수의 이동 로봇의 제어방법 | |
US11986138B2 (en) | Robot cleaner and method for controlling same | |
EP3809939B1 (en) | Plurality of autonomous cleaner and controlling method for the same | |
KR102424536B1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
US12075967B2 (en) | Mobile robot and control method of mobile robots | |
KR102309303B1 (ko) | 로봇 청소기 및 그 제어 방법 | |
KR102198187B1 (ko) | 이동 로봇 | |
EP3911479B1 (en) | Mobile robot and method of controlling mobile robot | |
KR102179057B1 (ko) | 복수의 자율주행 청소기 | |
KR102535719B1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
KR102309898B1 (ko) | 도킹기기 및 이동 로봇 시스템 | |
KR102081340B1 (ko) | 복수의 로봇 청소기 및 그 제어방법 | |
US11915475B2 (en) | Moving robot and traveling method thereof in corner areas | |
KR102035467B1 (ko) | 로봇 청소기 및 그것의 제어방법 | |
KR102115193B1 (ko) | 로봇 청소기 및 그 동작방법 | |
KR102361982B1 (ko) | 이동 로봇 및 이의 제어 방법 | |
KR20200133544A (ko) | 이동 로봇 및 그 제어방법 | |
KR20240118698A (ko) | 이동 로봇 및 그 제어방법 | |
KR20200137263A (ko) | 로봇 청소기 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
GRNT | Written decision to grant |