KR20210004763A - Cleaning Robot Apparatus Using Rectangular Map Decomposition and Method for Planning Coverage Path Using the Same - Google Patents
Cleaning Robot Apparatus Using Rectangular Map Decomposition and Method for Planning Coverage Path Using the Same Download PDFInfo
- Publication number
- KR20210004763A KR20210004763A KR1020190090367A KR20190090367A KR20210004763A KR 20210004763 A KR20210004763 A KR 20210004763A KR 1020190090367 A KR1020190090367 A KR 1020190090367A KR 20190090367 A KR20190090367 A KR 20190090367A KR 20210004763 A KR20210004763 A KR 20210004763A
- Authority
- KR
- South Korea
- Prior art keywords
- map
- edge
- submap
- decomposition
- cleaning
- Prior art date
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 101
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000001514 detection method Methods 0.000 claims description 8
- 238000010408 sweeping Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- 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
- B25J9/00—Programme-controlled manipulators
- B25J9/003—Programme-controlled manipulators having parallel kinematics
-
- 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
-
- 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
-
- 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
-
- G05D2201/0203—
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (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)
Abstract
Description
본 발명은 청소 로봇 장치에 관한 것으로서, 특히 청소 로봇을 모든 그리드와 가능한 엣지들을 고려한 많은 계산량이 필요한 경로 계획을 대신하여 맵 분해 과정에서 생성된 엣지들을 기반하여 커버리지 경로 계획을 사용하여 이동 경로의 탐색 범위를 획기적으로 줄일 수 있는 직사각형 맵 분해 기반의 청소 로봇 장치 및 이를 이용한 커버리지 경로 계획 방법에 관한 것이다.The present invention relates to a cleaning robot apparatus, and in particular, a cleaning robot is used to search a moving path using a coverage path plan based on the edges generated in a map decomposition process instead of a path plan requiring a large amount of computation considering all grids and possible edges. The present invention relates to a sweeping robot device based on rectangular map decomposition that can dramatically reduce the range, and a coverage path planning method using the same.
최근에는 산업용 로봇에 수요가 집중되었던 것과 달리 가정용 로봇의 수요가 증대됨에 따라 청소 로봇의 연구가 활발히 진행되고 있다.In recent years, unlike industrial robots, as the demand for household robots increases, research on cleaning robots is actively progressing.
이러한 청소 로봇 장치는 공항, 도서관과 같은 대형 공간 또는 장애물이 많은 공간에 대하여 청소 로봇이 청소하려면 커버리지 경로 계획을 위한 계산이 복잡해지며, 이로 인하여 커버리지 경로 계획의 실행 시간이 현저하게 저하되는 문제점이 있다.Such a cleaning robot device has a problem in that the calculation for the coverage path planning becomes complicated in order for the cleaning robot to clean a large space such as an airport or a library or a space with many obstacles, and this significantly reduces the execution time of the coverage path planning. .
기존의 커버리지 경로 계획 방법들에서 청소 로봇이 맵에서 청소할 때 막다른 골목이 발견되는 경우, 청소한 구역에서 청소하지 않은 구역으로 이동하는 경로가 필요하다, 이때 넓은 범위의 맵 그리드들을 사용하기 때문에 계산 리소스가 많이 소요되는 문제가 발생한다.In the existing coverage path planning methods, when a dead end is found when a sweeping robot cleans on a map, a route from the cleaned area to the uncleaned area is required. This is calculated because a wide range of map grids is used. There is a problem that requires a lot of resources.
이와 같은 문제점을 해결하기 위하여, 본 발명은 청소 로봇을 모든 그리드와 가능한 엣지들을 고려한 많은 계산량이 필요한 경로 계획을 대신하여 맵 분해 과정에서 생성된 엣지들을 기반하여 커버리지 경로 계획을 사용하여 이동 경로의 탐색 범위를 획기적으로 줄일 수 있는 직사각형 맵 분해 기반의 청소 로봇 장치 및 이를 이용한 커버리지 경로 계획 방법을 제공하는데 그 목적이 있다.In order to solve such a problem, the present invention uses a coverage path plan based on the edges generated in the map decomposition process to search for a moving path instead of a path plan that requires a large amount of computation considering all grids and possible edges. An object of the present invention is to provide a sweeping robot device based on a rectangular map decomposition that can dramatically reduce a range and a coverage path planning method using the same.
상기 목적을 달성하기 위한 본 발명의 특징에 따른 직사각형 맵 분해 기반의 커버리지 경로 계획 방법은,A coverage path planning method based on rectangular map decomposition according to a feature of the present invention for achieving the above object,
청소 로봇 장치는 미지의 맵에서 벽을 따라 가면서 벽과 장애물을 탐지하고, 상기 맵에 존재하는 모서리 정보와 엣지 정보를 수집하는 맵 탐색 단계;The cleaning robot apparatus includes a map search step of detecting walls and obstacles while following a wall in an unknown map, and collecting edge information and edge information existing in the map;
상기 수집한 모서리 정보와 엣지 정보를 이용하여 상기 맵을 하나 이상의 직사각형인 서브맵으로 분해하는 맵 분해 단계;A map decomposition step of decomposing the map into one or more rectangular submaps using the collected corner information and edge information;
상기 분해된 서브맵 중 선택된 서브맵에서는 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 나선형 커버리지 경로를 따라 이동하면서 청소하는 서브맵 청소 단계; 및A submap cleaning step of cleaning the selected submap among the decomposed submaps while moving along a spiral coverage path using edge information generated in the map decomposition step; And
상기 선택된 서브맵을 청소한 후, 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 다음에 청소할 서브맵을 선택하는 서브맵 선택 단계를 포함하는 것을 특징으로 한다.And a submap selection step of selecting a submap to be cleaned next using edge information generated in the map decomposition step after cleaning the selected submap.
상기 엣지(li)는 장애물의 경계인 모서리를 나타내고, 상기 엣지(li)를 둘러싸는 그리드(Grid)는 하기의 [수학식 1]에 의해 표현되고, 상기 엣지(li)는 하기의 [수학식 1]에서 선택된 그리드들 g1과 g2가 좌표로 표시되면, 하기의 [수학식 2]를 이용하여 맵에 장애물이 있는 그리드(g3)인 경우, 볼록한 모서리로 분류하고, 맵에 장애물이 없이 비어 있는 그리드(g3)인 경우, 오목한 모서리로 분류한다.The edge (l i) represents a boundary edge of the obstacle is represented by the edge (l i) is a grid (Grid) is
[수학식 1][Equation 1]
여기서, N(li)는 그리드들을 둘러싸는 모서리 li를 정의하고, g1과 g2는 의 사이를 포함하는 그리드를 정의함.Where N(l i ) defines the edge l i surrounding the grids, and g1 and g2 are Defines a grid containing between.
[수학식 2][Equation 2]
상기 맵 분해 단계는 상기 엣지가 볼록한 모서리로 분류되는 경우, 상기 볼록한 모서리를 이용하여 상기 맵을 직사각형으로 나누어 맵 분해 단계를 시작하는 것을 특징으로 한다.In the map decomposition step, when the edges are classified as convex corners, the map decomposition step is started by dividing the map into rectangles using the convex corners.
본 발명의 특징에 따른 청소 로봇 장치는,Cleaning robot device according to a feature of the present invention,
미지의 맵에서 구동부에 의해 벽을 따라 가면서 센서 감지부를 이용하여 벽과 장애물을 탐지하고, 상기 맵에 존재하는 모서리 정보와 엣지 정보를 수집하는 맵 탐색부;A map search unit configured to detect walls and obstacles using a sensor detection unit while following the wall by a driving unit in an unknown map, and collect edge information and edge information existing in the map;
상기 수집한 모서리 정보와 엣지 정보를 이용하여 상기 맵을 하나 이상의 직사각형인 서브맵으로 분해하는 맵 분해부;A map decomposition unit that decomposes the map into one or more rectangular submaps by using the collected corner information and edge information;
상기 분해된 서브맵 중 선택된 서브맵에서는 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 나선형 커버리지 경로를 따라 이동하면서 청소하는 서브맵 청소부; 및A submap cleaning unit cleaning the selected submap among the decomposed submaps while moving along the spiral coverage path using edge information generated in the map decomposition step; And
상기 선택된 서브맵을 청소한 후, 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 다음에 청소할 서브맵을 선택하는 서브맵 선택부를 포함하는 것을 특징으로 한다.And a submap selector for selecting a submap to be cleaned next by using edge information generated in the map decomposition step after cleaning the selected submap.
전술한 구성에 의하여, 본 발명은 맵 분해 과정에서 생성된 엣지들을 기반하여 커버리지 경로 계획을 사용하여 이동 경로의 탐색 범위를 획기적으로 줄일 수 있는 효과가 있다.According to the above-described configuration, the present invention has the effect of remarkably reducing a search range of a moving path by using a coverage path plan based on edges generated in a map decomposition process.
본 발명은 큰 맵에서 경로 계획을 위해 과도한 계산 자원을 소비하지 않고 최종 커버리지 경로를 생성하여 청소 프로세스를 크게 가속화하는 효과가 있다.The present invention has the effect of greatly accelerating the cleaning process by generating a final coverage path without consuming excessive computational resources for path planning in a large map.
본 발명은 엣지 기반의 나선형 커버리지 경로가 기존의 나선형 커버리지 경로보다 더 빠른 시간으로 경로를 생성할 수 있으며, 기존의 방법에 비해 커버리지 경로 계획의 실행 시간을 크게 감소할 수 있는 효과가 있다.According to the present invention, an edge-based spiral coverage path can generate a path in a faster time than a conventional spiral coverage path, and there is an effect of significantly reducing the execution time of a coverage path plan compared to the conventional method.
본 발명은 대형 공간이나 장애물이 많은 공간에서 기존의 경로 계획 방법에 비해 더 빠르게 청소할 수 있으며, 대형 공간이나 장애물이 많은 공간에서 빠른 시간으로 높은 커버리지 경로계획 성공률이 요구되는 실시간 커버리지 경로 계획에 적용할 수 있는 효과가 있다.The present invention can be cleaned faster than the existing route planning method in a large space or a space with many obstacles, and can be applied to a real-time coverage route planning that requires a high coverage route planning success rate in a fast time in a large space or a space with many obstacles. It can have an effect.
도 1은 본 발명의 실시예에 따른 직사각형 맵 분해와 커버리지 경로 계획을 이용한 청소 로봇 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 커버리지 경로 계획 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시예에 따른 직사각형 맵 분해를 기초로 커버리지 경로 계획 방법을 나타낸 도면이다.
도 4a 및도 4b는 본 발명의 실시예에 따른 청소 로봇 장치가 벽과 장애물을 탐색하고 미지의 맵에서 볼록한 모서리와 오목한 모서리를 식별하는 과정을 나타낸 도면이다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 직사각형 서브맵들로 분해되는 프로세스를 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 청소 로봇 장치의 청소 프로세스를 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 BFS 알고리즘을 이용하여 다른 서브맵으로 이동하는 경로를 생성하는 모습을 나타낸 도면이다.
도 8a 및 도 8b는 본 발명의 실시예에 따른 미탐색된 맵에서 장애물로 간주하는 폐쇄 공간을 방지하는 프로세스를 나타낸 도면이다.1 is a diagram showing the configuration of a cleaning robot apparatus using a rectangular map decomposition and a coverage path plan according to an embodiment of the present invention.
2 is a flowchart illustrating a coverage path planning method according to an embodiment of the present invention.
3 is a diagram illustrating a coverage path planning method based on a rectangular map decomposition according to an embodiment of the present invention.
4A and 4B are diagrams illustrating a process in which the cleaning robot apparatus according to an embodiment of the present invention searches for walls and obstacles and identifies convex and concave edges in an unknown map.
5A and 5B are diagrams illustrating a process of decomposing into rectangular submaps according to an embodiment of the present invention.
6 is a view showing a cleaning process of the cleaning robot apparatus according to an embodiment of the present invention.
7 is a diagram illustrating a state of generating a path moving to another submap using a BFS algorithm according to an embodiment of the present invention.
8A and 8B are diagrams illustrating a process of preventing a closed space regarded as an obstacle in an unsearched map according to an embodiment of the present invention.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.
기존에 존재하는 문제점들을 극복하기 위하여 본 발명은 청소 로봇을 큰 맵에서 효율적으로 적용이 가능한 새로운 커버리지 경로 계획 방법을 제안한다.In order to overcome the existing problems, the present invention proposes a new coverage path planning method capable of efficiently applying a cleaning robot to a large map.
제안한 커버리지 경로 계획 방법은 직사각형으로 분해하는 맵 분해와 맵 분해에서 작성된 엣지들에 기반한 경로 계획을 사용한다.The proposed coverage path planning method uses a map decomposition to decompose into a rectangle and a route plan based on the edges created in the map decomposition.
큰 맵에서 직사각형인 서브맵으로 분해할 수 있고, 분해된 서브맵들에서 서로 연결할 수 있는 엣지들을 작성할 수 있다. 분해된 서브맵에서 막다른 골목이 생성된 경우 청소 로봇이 다음에 청소할 멀리 떨어진 거리의 서브맵(sub-map)으로 이동하는 경로를 계산한다.You can decompose a large map into a rectangular submap, and create edges that can be connected to each other in the decomposed submaps. When a dead end is created from the disassembled submap, the sweeping robot calculates a path to move to a sub-map of a distant distance to be cleaned next.
이러한 경우에 모든 격자와 가능한 엣지들을 고려하는 많은 계산량의 경로계획을 대신하여 맵 분해 과정에서 작성된 엣지들에 기반한 경로 계획을 사용하면 이동 경로의 탐색 범위를 획기적으로 줄일 수 있다.In this case, the search range of the moving path can be drastically reduced by using a path plan based on the edges created in the map decomposition process instead of a path plan with a large amount of computation that considers all grids and possible edges.
도 1은 본 발명의 실시예에 따른 직사각형 맵 분해와 커버리지 경로 계획을 이용한 청소 로봇 장치의 구성을 나타낸 도면이다.1 is a diagram showing the configuration of a cleaning robot apparatus using a rectangular map decomposition and a coverage path plan according to an embodiment of the present invention.
본 발명의 실시예에 따른 청소 로봇 장치(100)는 센서 감지부(110), 구동부(120), 입력부(130), 저장부(140), 맵 탐색부(150), 맵 분해부(160), 서브맵 청소부(170), 서브맵 선택부(180) 및 제어부(190)를 포함한다.The
센서 감지부(110)는 적외선 센서, 레이저 거리 센서 등을 구비하여 맵 상의 벽이나 장애물을 적외선 신호를 송수신하여 감지하는 기능을 수행한다.The
구동부(120)는 이동에 필요한 바퀴, 모터, 모터 제어 모듈 등의 장치를 나타낸다.The
입력부(130)는 초기값, 기준값, 좌표값 등에 커버리지 경로 계획 방법에 필요한 다양한 데이터를 입력할 수 있다.The
저장부(140)는 맵에 관련된 정보, 서브맵, 모서리, 엣지의 좌표값, 서브맵 세트 등을 저장할 수 있다.The
맵 탐색부(150)는 미지의 맵에서 구동부(120)에 의해 벽을 따라 가면서 센서 감지부(110)를 이용하여 벽과 장애물을 탐지하고, 상기 맵에 존재하는 모서리 정보와 엣지 정보를 수집한다.The
맵 분해부(160)는 상기 수집한 모서리 정보와 엣지 정보를 이용하여 상기 맵을 하나 이상의 직사각형인 서브맵으로 분해한다.The
서브맵 청소부(170)는 상기 분해된 서브맵 중 선택된 서브맵에서는 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 나선형 커버리지 경로를 따라 이동하면서 청소한다.The
서브맵 선택부(180)는 상기 선택된 서브맵을 청소한 후, 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 다음에 청소할 서브맵을 선택한다.After cleaning the selected submap, the
제어부(190)는 센서 감지부(110), 구동부(120), 입력부(130), 저장부(140), 맵 탐색부(150), 맵 분해부(160), 서브맵 청소부(170), 서브맵 선택부(180)에 연결되어 맵 생성, 좌표 연산, 좌표 저장 등에 필요한 데이터 연산, 제어 신호를 송수신하여 관리한다.The
도 2는 본 발명의 실시예에 따른 커버리지 경로 계획 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a coverage path planning method according to an embodiment of the present invention.
청소 로봇 장치는 직사각형 지도 분해 방식을 기반으로 확장 가능한 커버리지 경로 계획 방법을 제안한다.The sweeping robot device proposes an expandable coverage path planning method based on a rectangular map decomposition method.
확장 가능한 커버리지 경로 계획 방법은 맵 탐색, 맵 분해, 서브맵 청소 및 서브맵 선택을 포함한다.Extensible coverage path planning methods include map search, map decomposition, submap cleaning, and submap selection.
맵 탐색부(150)는 미지의 맵에서 구동부(120)에 의해 벽을 따라 가면서 센서 감지부(110)를 이용하여 벽과 장애물을 탐지하고, 상기 맵에 존재하는 모서리 정보와 엣지 정보를 수집한다(S100).The
맵 탐색부(150)는 장애물의 경계인 모서리(엣지)의 유형을 식별하고(S102), 엣지가 볼록한 모서리 또는 오목한 모서리인지 판단한다(S104).The
맵 분해부(160)는 상기 엣지가 볼록한 모서리로 분류되는 경우, 상기 볼록한 모서리를 이용하여 상기 맵을 직사각형으로 나누어 맵 분해 단계를 수행한다(S106).When the edge is classified as a convex corner, the
서브맵 청소부(170)는 맵 분해부(160)에서 상기 엣지가 볼록한 모서리로 분류되지 않는 경우, 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 나선형 커버리지 경로를 따라 이동하면서 청소한다(S108).When the edge is not classified as a convex edge in the
서브맵 청소부(170)는 청소를 완료한 후, 해당 서브맵을 제거한다(S110).After completing the cleaning, the
S106, S108 단계를 수행한 후, 서브맵 집합에서 서브맵이 존재하는 경우, 다음 청소할 서브맵을 선택하여 다시 맵 탐색을 실행한다(S112, S114).After performing steps S106 and S108, if there is a submap in the submap set, the next submap to be cleaned is selected and map search is again performed (S112 and S114).
도 3은 본 발명의 실시예에 따른 직사각형 맵 분해를 기초로 커버리지 경로 계획 방법을 나타낸 도면이다.3 is a diagram illustrating a coverage path planning method based on a rectangular map decomposition according to an embodiment of the present invention.
도 3의 (a)와 같이 맵 탐색 단계로서, 청소 로봇 장치는 미지의 맵에서 벽을 따라 가면서 벽과 장애물을 찾는다. 다시 말해, 청소 로봇 장치(100)는 벽을 따라 가며 알려지지 않은 맵에 대한 모서리 정보와 엣지 정보를 수집한다.As a map search step as shown in (a) of FIG. 3, the cleaning robot device searches for walls and obstacles while following the wall in an unknown map. In other words, the
도 3의 (b)와 같이 맵 분해 단계로서, 청소 로봇 장치(100)는 수집된 모서리 정보를 이용하여 맵을 서브맵으로 나눈다.As a map decomposition step as shown in (b) of FIG. 3, the cleaning
도 3의 (c)와 같이 서브맵 청소 단계로서, 청소 로봇 장치(100)는 서브맵으로 분할된 맵을 엣지 정보를 기초로 기설정된 나선형 커버리지 경로를 따라 이동하면서 청소한다.As a submap cleaning step as shown in (c) of FIG. 3, the cleaning
도 3의 (d)와 같이 서브맵 선택 단계로서, 청소 로봇 장치(100)는 엣지 정보를 이용하여 다음 청소할 서브맵을 선택하고, 선택된 서브맵으로 이동하기 위한 경로를 생성한다.As a submap selection step as shown in (d) of FIG. 3, the cleaning
맵 모서리 정보는 오목한 모서리 또는 볼록한 모서리로 분류할 수 있다. 맵 분해 또는 서브맵 청소는 모서리의 분류에 따라 선택된다.Map edge information can be classified as a concave edge or a convex edge. Map decomposition or submap cleaning is selected according to the classification of the edges.
청소 로봇 장치(100)는 모서리가 볼록하지 않은 경우 서브맵 청소를 수행하고, 모서리가 볼록한 경우 맵 분해를 수행한다.The cleaning
맵 분해 또는 맵 청소를 수행한 후에, 서브맵은 나머지 서브맵들에 추가되거나 삭제된다.After performing map decomposition or map cleaning, the submap is added to or deleted from the remaining submaps.
청소 로봇 장치(100)는 서브맵 세트에 이미 서브맵이 존재하는 경우, 청소될 다음의 서브맵이 선택되고, 탐색된다.When a submap already exists in the submap set, the cleaning
이러한 프로세스는 서브맵 세트 중 나머지 서브맵이 없어질 때까지 반복되고 전체 맵의 청소가 완료되면, 커버리지 경로 계획 방법이 종료된다.This process is repeated until the remaining submaps in the submap set disappear, and when cleaning of the entire map is completed, the coverage path planning method ends.
전술한 프로세스는 다음의 알고리즘 4와 같이 표현될 수 있다.The above-described process can be expressed as
청소 로봇 장치(100)는 맵 탐색 및 직사각형 서브맵 분해를 위하여 적외선 센서를 이용하여 미지의 맵에서 주변 장애물 존재를 감지하고, 모서리에 대한 정보를 수집한다.The cleaning
청소 로봇 장치(100)는 벽을 따라 이동하여 맵, 장애물의 경계의 윤곽을 탐색하고, 서브맵의 탐색으로 맵 분해를 통해 생성된 서브맵의 장애물의 존재를 탐색한다.The cleaning
청소 로봇 장치(100)는 장애물 존재를 탐색하기 위해서 서브맵의 경계를 따라 움직이는 동안 장애물을 찾는다. 청소 로봇 장치는 장애물이 감지되면 장애물의 윤곽을 탐색하기 시작한다.The cleaning
청소 로봇 장치(100)는 미지의 맵을 탐색하고, 기설정된 맵 탐색 방법을 사용하여 기존 모서리에 대한 정보를 수집할 수 있다. 청소 로봇 장치는 수집된 모서리 중에서 볼록한 모서리가 사용되는 경우 맵 분해 과정이 시작한다.The cleaning
도 4a 및도 4b는 본 발명의 실시예에 따른 청소 로봇 장치가 벽과 장애물을 탐색하고 미지의 맵에서 볼록한 모서리와 오목한 모서리를 식별하는 과정을 나타낸 도면이다.4A and 4B are diagrams illustrating a process in which the cleaning robot apparatus according to an embodiment of the present invention searches for walls and obstacles and identifies convex and concave edges in an unknown map.
도 4a의 (a)는 17 × 17 크기의 미지의 맵을 나타낸다. 회색 영역은 미지의 장애물을 나타내고 삼각형은 청소 로봇을 나타낸다.4A(a) shows an unknown map of 17×17 size. Gray areas represent unknown obstacles and triangles represent sweeping robots.
도 4a의 (b)에서 볼 수 있듯이 청소 로봇 장치는 벽을 따라 맵을 탐색하고, 화살표는 청소 로봇 장치의 경로 방향을 나타내며, 회색 영역은 청소 로봇 장치가 맵 탐색을 통해 장애물을 식별한 후 검게 표시된다.As can be seen in (b) of FIG. 4A, the cleaning robot device searches the map along the wall, the arrow indicates the path direction of the cleaning robot device, and the gray area is black after the cleaning robot device identifies obstacles through map search. Is displayed.
도 4a의 (c)는 청소 로봇 장치가 벽을 따라 갈 때 맵 경계로 표시된 모서리와 경계 엣지를 수집하는 것을 나타내고, 8개의 모서리 집합이 수집된다. i번째의 모서리는 로 정의된다.4A(c) shows that the sweeping robot device collects edges and border edges indicated as map borders when following the wall, and 8 edge sets are collected. the i-th corner Is defined as
경계 엣지는 2개의 모서리로 구성되어 있고, 로 정의되며, 모서리를 실선으로 표시한다.The boundary edge consists of two corners, It is defined as, and the edges are marked with a solid line.
다음으로, 경계 모서리 상의 그리드(Grid)와, 모서리를 둘러싼 그리드들을 사용하여 모서리 유형을 결정한다.Next, the edge type is determined using the grid on the boundary edge and the grids surrounding the edge.
도 4a의 (d)와 도 4b의 (e)는 2개의 경계 엣지 와, 3개의 그리드들 를 이용한다.Figures 4a (d) and 4b (e) are two boundary edges Wow, 3 grids Use
엣지(li)는 장애물의 경계인 모서리를 나타내고, 도 4a의 (d)는 로서 그리드 l5에 연결된 경계 엣지들 를 포함한 그리드를 나타낸다.The edge (l i ) represents the edge that is the boundary of the obstacle, and (d) of FIG. 4a is Boundary edges connected to grid l 5 as Represents a grid containing.
짙은 회색의 색으로 구성된 그리드 영역은 수평 방향과 수직 방향에서 l5에 둘러싸는 그리드들을 표시한다.The grid area composed of a dark gray color displays the grids surrounding l 5 in the horizontal and vertical directions.
l5를 둘러싸는 그리드들 중에서 경계 엣지 를 따라 포함된 그리드는 하기의 [수학식 1]을 이용하여 선택된다.the boundary edge of the grids surrounding l 5 The included grid is selected using the following [Equation 1].
여기서, N(li)는 그리드들을 둘러싸는 모서리 li를 정의하고, g1과 g2는 의 사이를 포함하는 그리드를 정의한다.Where N(l i ) defines the edge l i surrounding the grids, and g1 and g2 are Define a grid containing between.
는 l8로 선택되고, 는 l1로 선택된다. Is selected as l 8 , Is selected as l 1 .
[수학식 1]에서 선택된 그리드들 g1과 g2가 좌표로 표시되면, 각각 (12,1)과 (11,1)이다. 도 4b의 (e)는 하기의 [수학식 2]를 이용하여 오목한 모서리와 볼록한 모서리로 분류될 수 있다.When the grids g1 and g2 selected in [Equation 1] are displayed as coordinates, they are (12,1) and (11,1), respectively. 4B (e) may be classified into a concave corner and a convex corner using the following [Equation 2].
그리드 g3는 g1과 g2에 인접한 수직 그리드와 수평 그리드에서 선택된다.Grid g3 is selected from vertical and horizontal grids adjacent to g1 and g2.
그리드 g3의 경우, 맵에 장애물이 있는 경우, li는 볼록한 모서리로 정의되고, g3가 비어 있는 그리드인 경우, li는 오목한 모서리로 정의된다.In the case of grid g3, if there is an obstacle in the map, l i is defined as a convex edge, and if g3 is an empty grid, l i is defined as a concave edge.
따라서, 어두운 회색 영역은 g1과 g2를 둘러싸는 그리드를 나타낸다. 또한, [수학식 2]를 사용하여, 선택된 그리드 g3의 좌표는 (12, 2)이다.Thus, the dark gray area represents the grid surrounding g1 and g2. Also, using [Equation 2], the coordinates of the selected grid g3 are (12, 2).
그리드 g3은 비어 있는 그리드이므로 그리드 l5는 오목한 모서리로 정의된다.Since grid g3 is an empty grid, grid l 5 is defined as a concave edge.
도 4b의 (f) 내지 (g)는 그리드 16의 모서리 유형을 분류하는 프로세스를 나타낸다. [수학식 1]과 [수학식 2]는 그리드 16에 사용되고, 최종적으로 선택된 g3에 장애물이 있기 때문에, 그리드 16는 볼록한 모서리로 정의된다.4B to (f) to (g) show the process of classifying the edge types of the
마지막으로, 도 4b의 (h)는 모든 모서리의 유형을 식별한 결과를 표시한다.Finally, (h) of FIG. 4B shows the result of identifying the types of all corners.
기호 는 각각 오목한 모서리 및 볼록한 모서리를 각각 나타낸다. sign Represents a concave edge and a convex edge, respectively.
모서리를 오목 또는 볼록으로 분류한 후, 맵 분해는 커버리지 경로 계획 방법에서 선택된 볼록한 모서리를 이용하여 시작된다.After classifying the corners as concave or convex, the map decomposition begins using the convex corners selected in the coverage path planning method.
도 4b의 (h)는 6개의 오목한 모서리 및 2개의 볼록한 모서리에 대한 정보가 수집된다. 다음으로, 수집된 볼록한 모서리를 사용하여 맵을 직사각형으로 나누고, 엣지는 맵 분해를 위해 생성된다.In (h) of FIG. 4B, information on six concave corners and two convex corners is collected. Next, the map is divided into rectangles using the collected convex corners, and the edges are created for map decomposition.
도 5a 및 도 5b는 본 발명의 실시예에 따른 직사각형 서브맵들로 분해되는 프로세스를 나타낸 도면이다.5A and 5B are diagrams illustrating a process of decomposing into rectangular submaps according to an embodiment of the present invention.
도 5a 및 도 5b는 두 개의 볼록한 모서리 (7,5)와 (11,5)를 사용하여 분해 엣지를 생성하고, 생성된 분해 엣지를 사용하여 맵의 분해 프로세스를 나타낸다.5A and 5B illustrate a decomposition process of a map using two convex edges (7,5) and (11,5) to generate decomposition edges, and using the generated decomposition edges.
수직 및 수평 엣지(실선)는 볼록한 모서리 (7, 5)의 경계선이 도 5a의 (a)의 <(1,1), (7,1)>, <(1,1), (1,17)>, <(1,17), (17,17)> 및 <(17,1), (17,17)>를 나타낸다.For vertical and horizontal edges (solid lines), the boundary lines of the convex edges (7, 5) are <(1,1), (7,1)>, <(1,1), (1,17) in (a) of FIG. 5A. )>, <(1,17), (17,17)> and <(17,1), (17,17)>.
4개의 분해 엣지들은 <(7,5), (7,1)>, <(7,5), (1,5)>, <(7,5), (7,17)> 및 <(7,5), (17,5)>의 좌표로 나타낼 수 있다.The four decomposition edges are <(7,5), (7,1)>, <(7,5), (1,5)>, <(7,5), (7,17)> and <(7 It can be represented by coordinates of ,5), (17,5)>.
직사각형 서브맵으로 분해가 가능하기 때문에 4개의 분해 엣지 중에서 하나의 엣지를 사용하면, 다음의 조건을 만족하는 하나의 분해 엣지가 선택된다.Since it is possible to decompose into a rectangular submap, if one of the four decomposition edges is used, one decomposition edge that satisfies the following conditions is selected.
1) 분해 엣지는 맵 경계 엣지 및 탐색된 장애물의 경계 엣지와 겹치지 않아야한다.1) The decomposition edge should not overlap the boundary edge of the map and the boundary edge of the searched obstacle.
2) 분해 엣지는 탐색된 장애물을 통과하지 않아야 한다.2) The disassembly edge must not pass through the obstacles that have been searched.
3) 분해 엣지는 다른 볼록한 모서리에 의해 첫 번째로 형성된 분해 엣지와 겹치지 않아야 한다.3) The disassembly edge should not overlap with the first disassembly edge formed by other convex edges.
4) 조건 1), 2), 3)을 만족하는 분해 엣지가 있는 경우, 랜덤한 방법으로 하나를 선택한다.4) If there is a decomposition edge that satisfies conditions 1), 2), and 3), select one by a random method.
4개의 엣지 중 볼록한 모서리 (7,5)를 사용하여 위의 4가지 조건을 만족하는 분해 엣지 <(7,5), (1,5)>가 선택된다.Among the four edges, the decomposition edges <(7,5), (1,5)> satisfying the above four conditions are selected using the convex edge (7,5).
다음으로, 선택된 분해 엣지를 사용하여 교차하는 경계 엣지가 분할된다.Next, the intersecting boundary edges are segmented using the selected decomposition edge.
도 5a의 (b)에서, 분해 엣지<(7,5), (1,5)>와 경계 엣지<(1,1), (1,17)>의 교차점(1,5)은 원으로 표시된다.In (b) of Fig. 5A, the intersection (1,5) of the decomposition edge <(7,5), (1,5)> and the boundary edge <(1,1), (1,17)> is indicated by a circle. do.
경계 엣지들은 경계 엣지<(1,1), (1,17)>가 교차되는 교차점(1,5)을 기초로 경계 엣지들을 <(1,1), (1,5)>와 <(1,5), (1,17)>로 나눈다.Boundary edges are defined as <(1,1), (1,5)> and <(1) based on the intersection (1,5) where the boundary edges <(1,1), (1,17)> intersect. Divide by ,5), (1,17)>.
도 5a의 (c)는 볼록한 모서리 <(11,5)>에 대응하는 4개의 분해 엣지들 <(11,5), (11,1)>, <(11,5), (1,5)>, <(11,5), (11,17)> 및 <(11,5), (17,5)>을 생성한다.(C) of FIG. 5A shows four decomposition edges <(11,5), (11,1)>, <(11,5), (1,5) corresponding to the convex edge <(11,5)>. Generates >, <(11,5), (11,17)> and <(11,5), (17,5)>.
4개의 분해 엣지들에서 <(11,5), (11,1)>, <(11,5), (1,5)>는 위의 조건 1)번과 3)번의 조건을 만족하므로 제거될 수 있다.In the 4 decomposition edges, <(11,5), (11,1)>, <(11,5), (1,5)> satisfy the above conditions 1) and 3), so they can be removed. I can.
<(11,5), (11,17)>과 <(11,5), (17,5)>의 두 개의 엣지 중에서, <(11,5), (11,17)>는 임의로 선택되고, 마지막으로 볼록한 모서리(11,5)는 분해 엣지로 선택된다.Among the two edges, <(11,5), (11,17)> and <(11,5), (17,5)>, <(11,5), (11,17)> are randomly selected , Finally, the
도 5a의 (d)에 도시된 바와 같이, 볼록한 모서리(11,5)와 (7,5)는 사용되고, 선택된 2개의 분해 엣지들 <(11,5), (11,17)>과 <(7,5), (1,5)>은 표시된다.As shown in (d) of FIG. 5A, the convex edges (11,5) and (7,5) are used, and selected two disassembled edges <(11,5), (11,17)> and <( 7,5), (1,5)> are displayed.
다음으로, 선택된 2개의 분해 엣지 및 10개의 경계 엣지에 기초하여 서브맵이 생성된다. 직사각형 서브맵을 생성하는 과정에서 최단 경로 계산 문제에 대한 휴리스틱 추정치를 사용하는 A* 알고리즘은 시작점에서 끝점까지의 최단 경로를 결정하기 위해 자주 사용되기 때문에 사용되며, 그 다음으로 서브맵이 생성된다.Next, a submap is generated based on the selected two decomposition edges and ten boundary edges. In the process of generating a rectangular submap, the A* algorithm, which uses heuristic estimates for the shortest path calculation problem, is used because it is often used to determine the shortest path from the start point to the end point, and then the submap is generated.
도 5b의 (e)는 A* 알고리즘을 사용하여 직사각형 서브맵을 만드는 과정을 보여준다. 청소 로봇(삼각형)의 현재 위치에서 모서리 <(1,1), (1,5)>가 선택되고, 그리드(1, 1)와 (1, 5)가 각각 시작점과 목표점으로 정의된다.(E) of FIG. 5B shows a process of creating a rectangular submap using the A* algorithm. Corners <(1,1), (1,5)> are selected at the current position of the cleaning robot (triangle), and grids (1, 1) and (1, 5) are defined as a starting point and a target point, respectively.
A* 알고리즘이 사용되고 시작점으로부터 탐색이 시작된다. 화살표는 탐사 범위를 나타낸다. 엣지들 <(1,1), (1,5)>, <(1,5), (7,5)>, <(7,5), (7,1)> 및 <(7,1), (1,1)>은 로 정의된 하나의 서브맵으로 구성된다.The A* algorithm is used and the search starts from the starting point. Arrows indicate the exploration range. Edges <(1,1), (1,5)>, <(1,5), (7,5)>, <(7,5), (7,1)> and <(7,1) , (1,1)> is It consists of one submap defined as.
도 5b의 (f)에서, 동일한 프로세스를 통해, 제2 서브맵이 생성된다. In (f) of FIG. 5B, a second submap is generated through the same process.
엣지들 <(1,1), (1,5)>, <(1,5), (7,5)>, <(7,5), (7,1)> 및 <(7,1), (1,1)>은 이미 사용되고 있으므로 나머지 모서리 중에서 임의의 모서리가 선택된다. 시작점과 목표점이 선택된다.Edges <(1,1), (1,5)>, <(1,5), (7,5)>, <(7,5), (7,1)> and <(7,1) , (1,1)> is already used, so an arbitrary edge is selected from the remaining edges. The starting point and target point are selected.
엣지 <(17, 1), (11,1)>가 선택되고 그리드(17,1)와 (11,1)는 각각 시작점과 목표점으로 선택된다.Edges <(17, 1), (11,1)> are selected, and grids (17,1) and (11,1) are selected as starting and target points, respectively.
A* 알고리즘을 사용하면 두 번째 서브맵이 생성되고 로 정의된다. 도 4의 (g)는 직사각형 서브맵 을 생성한다. 서브맵 을 생성한 후에, 모든 엣지가 사용되기 때문에 맵 분해 프로세스는 종료된다.Using the A* algorithm, a second submap is generated Is defined as 4G is a rectangular submap Create Submap After generating the map, the map decomposition process ends because all edges are used.
최종 분해된 3개의 서브맵들 , , 은 도 5의 (h)와 같이 표시된다.The final decomposed 3 submaps , , Is represented as (h) of FIG. 5.
각 서브맵은 패턴이 있는 직사각형으로 표시된다. 먼저 나타나는 분해 엣지 및 경계 엣지는 실선이 있는 서브맵에 표시된 경계 엣지가 된다.Each submap is represented by a patterned rectangle. The decomposition edge and boundary edge that appear first become the boundary edges displayed on the submap with solid lines.
또한, 수집된 오목한 모서리와 볼록한 모서리 및 교차점이 분할된 서브맵에서 모서리가 될 수 있고, 분해된 서브맵의 모서리 유형이 변경될 수 있기 때문에 모든 모서리가 분류되지 않은 상황으로 리턴되며, 조건(○)을 가진 것으로 표시된다. 맵 분해 함수는 하기의 알고리즘 5에 설명되어 있다.In addition, the collected concave, convex, and intersection points can be corners in the divided submap, and the edge type of the exploded submap can be changed, so all corners are returned to an unclassified situation, and the condition (○) It is marked as having. The map decomposition function is described in
맵 분해가 완료되면 청소 로봇 장치는 각 서브맵의 모서리를 사용하여 모서리를 기반으로 기설정된 나선형 경로를 생성할 수 있다.When the decomposition of the map is completed, the cleaning robot device may generate a predetermined spiral path based on the edge using the edge of each submap.
이러한 방식으로 청소 로봇 장치는 이미 기생성된 모서리를 기반으로 나선형 커버리지 경로를 사용하여 청소한다.In this way, the cleaning robot device cleans using a spiral coverage path based on the already parasitic edge.
도 6은 본 발명의 실시예에 따른 청소 로봇 장치의 청소 프로세스를 나타낸 도면이다.6 is a view showing a cleaning process of the cleaning robot apparatus according to an embodiment of the present invention.
도 6은 청소 로봇 장치가 모서리를 기준으로 나선형 경로를 사용하는 청소 프로세스를 보여준다. 청소된 그리드들은 회색으로 표시된다.6 shows a cleaning process in which the cleaning robot device uses a spiral path around an edge. The cleaned grids are displayed in gray.
도 6의 (a)는 <(1,1), (1,5)>, <(1,5), (7,5)>, <(7,5), (7,1)> 및 <(7,1), (1,1)>와 같이, 의 맵 분해 프로세스에서의 엣지들을 나타낸다.6(a) shows <(1,1), (1,5)>, <(1,5), (7,5)>, <(7,5), (7,1)> and < Like (7,1), (1,1)>, Represents the edges of the map decomposition process.
청소 로봇 장치는 서브맵 으로부터 엣지를 기준으로 벽을 따라 가면서 모서리에 대한 정보를 수집한다.Robot cleaning device submap From and along the wall based on the edge, information about the edge is collected.
도 6의 (a)는 모서리 다음의 경로를 실선으로 표시한다. 도 6의 (b)는 서브맵 에 대해 수집된 네 개의 오목한 모서리를 나타낸다. 원 옆의 숫자는 오목한 모서리에 관한 정보가 수신되는 순서를 표시한다.6A shows the path after the edge with a solid line. (B) of FIG. 6 is a submap The four concave edges collected for are shown. The number next to the circle indicates the order in which information about the concave edge is received.
볼록한 모서리가 서브맵 에 없기 때문에 맵 청소가 시작된다. 맵을 청소할 때 엣지를 사용하여 나선형 커버리지 경로를 만드는 과정은 다음과 같다.Submap with convex edges Because it is not in, the map cleaning begins. When cleaning the map, the process of creating a spiral coverage path using edges is as follows.
먼저, 수집된 오목한 모서리에 대하여, 하기의 [수학식 3]을 사용하고 대각선 방향의 이웃 그리드를 계산한다. 예를 들어, 처음으로 오목한 모서리의 경우 네 개의 인접한 대각선 그리드가 [수학식 3]을 사용하여 표시된다.First, for the collected concave corners, the following [Equation 3] is used and a diagonal neighboring grid is calculated. For example, for the first concave corner, four adjacent diagonal grids are displayed using [Equation 3].
(xj, yj)는 첫 번째 오목한 모서리 상에서 j 번째 이웃 그리드의 좌표이다.(xj, yj) is the coordinates of the j-th neighboring grid on the first concave corner.
하기의 [수학식 4]는 엣지가 표현되는 서브맵 의 X축 및 Y축 상의 가장 높은 좌표 및 가장 낮은 좌표를 표시하는데 사용된다.[Equation 4] below is a submap in which an edge is expressed It is used to display the highest and lowest coordinates on the X and Y axes of.
다음으로, [수학식 5]를 사용하여, 서브맵 과 주위 그리드 간의 위치 관계가 계산된다.Next, using [Equation 5], the submap The positional relationship between the and the surrounding grid is calculated.
T = 0, (xj; yj) 그리드는 서브맵 의 내부를 의미하고, , (xj, yj) 그리드는 엣지 상에서 서브맵 의 외부에 있음을 의미한다. T 값을 통해, 이웃한 그리드들 중에서, 서브맵 내의 그리드가 선택될 수 있다.T = 0, (xj; yj) grid is a submap Means the inside of, , (xj, yj) grid is a submap on the edge Means being outside of. Through the T value, among neighboring grids, a submap The grid within can be selected.
도 6의 (c)에서 수학식 3, 수학식 4 및 수학식 5는 네 개의 오목한 모서리와 최종 그리드 (2,2), (2,4), (6,4) 및 (6,2)가 선택되고 기호 로 표시된다.In Figure 6 (c),
다음으로 오목한 모서리가 각각의 순서로 그리드에 연결되어 새로운 엣지들 <(2,2), (2,4)>, <(2,4), (6,4)>, <(6,4), (6,2)> 및 <(6,2), (2,2)>가 된다. 상기 계산된 새로운 엣지들은 현재의 서브맵 의 에지로 선택된다.Next, the concave corners are connected to the grid in each order, and new edges <(2,2), (2,4)>, <(2,4), (6,4)>, <(6,4) , (6,2)> and <(6,2), (2,2)>. The calculated new edges are the current submap Is selected by the edge of.
청소 로봇 장치는 새로운 엣지들을 따라 지속적으로 청소한다.The sweeping robot device continuously cleans along new edges.
(3,2)에 도달하면, 동일한 프로세스를 사용하여 서브맵 내의 다른 그리드를 계산한다.When (3,2) is reached, the submap using the same process Calculate the other grid within.
그리드 (2,2), (2,4), (6,4) 및 (6,2) 상에서 수학식 3, 수학식 4 및 수학식 5를 이용하여 그리드들 (3,3)와 (5,3)이 얻어진다.On grids (2,2), (2,4), (6,4) and (6,2), using
동일한 방식으로, 서브맵 의 엣지는 엣지 <(3,3), (5,3)>로 변환된다.In the same way, submap The edges of are converted to edges <(3,3), (5,3)>.
도 6의 (d)는 청소 로봇 장치가 엣지 <(3,3), (5,3)>을 따라 가면서 청소한다.In (d) of FIG. 6, the cleaning robot device cleans while following the edges <(3,3), (5,3)>.
그리드 (5,3)에 도달하게 되면, 서브맵 의 현재 엣지 <(3,3), (5,3)>과 그리드들 (3,3), (5,3) 상에서 수학식 3, 수학식 4 및 수학식 5를 다시 사용한다.When reaching grid (5,3), the
그러나 서브맵 내에서 충분한 그리드를 얻을 수 없다. 따라서, 엣지 기반의 나선형 커버리지 경로를 사용하는 맵 청소가 종료된다. 서브맵 청소 기능은 알고리즘 6에 설명되어있다.But the submap Can't get enough grid within Accordingly, the map cleaning using the edge-based spiral coverage path is ended. The submap cleaning function is described in
서브맵 의 내부의 청소 로봇 장치의 청소가 완료될 때, 청소 로봇 장치의 이웃하는 그리드들을 모두 청소하기 때문에 막다른 골목이 발생한다.Submap When cleaning of the cleaning robot device inside of the cleaning robot is completed, a dead end occurs because all neighboring grids of the cleaning robot device are cleaned.
그런 다음, 청소 로봇 장치는 신속하게 다음 서브맵으로 이동한다. 청소할 다음 서브맵에 대한 경로를 만들려면 엣지를 사용하여 경로를 탐색한다.Then, the cleaning robot device quickly moves to the next submap. To create a path to the next submap to be cleaned, use the edge to navigate the path.
도 7은 본 발명의 실시예에 따른 BFS 알고리즘을 이용하여 다른 서브맵으로 이동하는 경로를 생성하는 모습을 나타낸 도면이다.7 is a diagram illustrating a state of generating a path moving to another submap using a BFS algorithm according to an embodiment of the present invention.
도 7은 서브맵 의 청소가 완료된 후에 청소 로봇 장치가 서브맵 으로 이동하는 과정을 나타낸다. 도 7의 (a)는 청소 로봇 장치가 서브맵 을 청소한 후, 청소 로봇 장치는 현재 위치, 서브맵 과 서브맵 의 엣지를 실선으로 표시한다.7 is a submap After cleaning of the cleaning robot is completed, It represents the process of moving to. 7A shows the cleaning robot device is a submap After cleaning, the cleaning robot device displays the current location and submap. And submap The edges of are marked with a solid line.
먼저, 청소 로봇 장치는 맵 및 를 인접시킬 수 있기 때문에 서브맵 의 모서리로 이동한다. 도 7의 (b)에 도시된 바와 같이, 4개의 모서리는 서브맵 상에 포함된다. 다음의 프로세스를 사용하여 모서리가 선택되고 청소 로봇 장치가 이동하게 된다.First, the robot cleaning device maps And Because submaps can be contiguous Move to the corner of. As shown in (b) of FIG. 7, four corners are included on the submap. Using the following process, the edges are selected and the sweeping robot device is moved.
1) 서브맵 를 가진 공통되는 모서리는 서브맵 모서리 중에서 선택된다.1) Submap A common edge with a submap Choose from corners.
2) 서브맵 을 가진 공통되는 복수의 모서리들이 있는 경우, 청소 로봇 장치와 모서리들 간의 유클리드 거리가 계산된다. 최단 경로가 선택되고, 유클리드 거리가 동일하다면 하나가 무작위로 선택된다.2) Submap If there are a plurality of corners in common with a, the Euclidean distance between the corners and the cleaning robot device is calculated. The shortest path is chosen, and if the Euclidean distance is the same, one is chosen randomly.
3) 서브맵 와 서브맵 의 사이의 공통되는 모서리들이 없는 경우, 서브맵 상에서 서브맵 의 모든 모서리들과 청소 로봇 장치의 사이의 유클리드 거리들이 계산되고, 최단 경로가 선택된다. 유클리드 거리가 동일하다면 하나가 무작위로 선택된다.3) Submap And submap If there are no common edges between the submaps On the submap Euclidean distances between all corners of the robot and the sweeping robot device are calculated, and the shortest path is selected. If the Euclidean distance is the same, one is chosen randomly.
도 7의 (b)를 나타내는 프로세스 3)을 사용하여 모서리 (7,1)는 선택되고 청소 로봇 장치는 선택한 모서리(7,1)로 이동한다.Using process 3), which shows (b) of FIG. 7, the
모서리(7,1)는 서브맵 의 모서리가 아니기 때문에, 청소 로봇 장치는 맵 분해 프로세스로부터 생성된 엣지를 사용하고, 서브맵 으로 이동할 경로를 결정한다.Edge (7,1) is a submap Since it is not the edge of the robot, the cleaning robot device uses the edge generated from the map decomposition process, and the submap Determine the path to go to.
기존의 커버리지 경로 계획(Coverage Path Planning, CPP) 방법이 청소할 다음 영역으로의 경로 계획을 계산할 때 맵의 모든 그리드를 고려하여 경로를 생성한다.When the existing Coverage Path Planning (CPP) method calculates the path plan to the next area to be cleaned, the path is created by considering all grids of the map.
이에 반해, 본 발명은 기존의 BFS 알고리즘이 경로 생성을 위한 탐색 공간을 줄이기 위해서 도 7의 (c)와 같이, 맵 분해 과정에서 생성된 엣지를 기초로 서브맵 에 대한 경로를 생성하는데 사용된다.In contrast, the present invention provides a submap based on the edge generated in the map decomposition process, as shown in Fig. 7 (c), in order to reduce the search space for path generation in the existing BFS algorithm. It is used to create a path to
먼저, 경계 엣지 정보가 사용된다. 청소 로봇 장치는 모서리(7,1)에 연결된 모서리를 탐색한다. 그런 다음, 청소 로봇 장치는 모서리 (7,5)와 (1,1)을 탐색한다. 이러한 2개의 모서리는 모서리(7,5)와 (1,1)를 기초로 서브맵 의 모서리가 아니기 때문에 새로운 연결 모서리를 탐색한다. 모서리(7,5). 모서리(11,5) 및 모서리(1,5)가 탐색된다.First, the boundary edge information is used. The sweeping robot device searches for a corner connected to the
모서리(11,5)는 서브맵 상의 모서리이기 때문에 BFS 알고리즘은 종료된다. 화살표는 탐색된 전체 영역을 나타낸다.Corners (11,5) are submaps Because it is the edge of the image, the BFS algorithm ends. Arrows indicate the entire searched area.
도 7의 (d)에서 청소 로봇 장치는 BFS 알고리즘에 의해 결정된 경로를 따라 이동한다. 그런 다음, 서브맵 로 이동한다. 다음으로 모서리(11, 5)에서 청소를 시작한다. 서브맵 선택 기능은 알고리즘 7에 설명되어 있다.In (d) of FIG. 7, the robot cleaner moves along a path determined by the BFS algorithm. Then, the submap Go to. Next, start cleaning at the corners (11, 5). The submap selection function is described in
직사각형 서브맵은 본 발명에서 제안된 맵 분해 방법을 사용하여 분해할 수 있다. 그러나 미지의 맵 상의 정보가 없기 때문에 분할된 서브맵이 미지의 장애물이 있을 수 있다.The rectangular submap can be decomposed using the map decomposition method proposed in the present invention. However, since there is no information on the unknown map, the divided submap may have unknown obstacles.
따라서, 폐쇄 공간은 분할된 서브맵과 장애물 사이에 생성된다. 폐쇄 공간이 생기면 청소 로봇 장치는 이를 장애물로 인식하고 폐쇄 공간을 청소하지 않는다. 따라서, 분할된 서브맵에 대하여 도 8a 및 도 8b에 도시된 바와 유사하다.Thus, a closed space is created between the divided submap and the obstacle. When a closed space is created, the cleaning robot device recognizes it as an obstacle and does not clean the closed space. Therefore, the divided submap is similar to that shown in FIGS. 8A and 8B.
도 8a 및 도 8b는 본 발명의 실시예에 따른 미탐색된 맵에서 장애물로 간주하는 폐쇄 공간을 방지하는 프로세스를 나타낸 도면이다.8A and 8B are diagrams illustrating a process of preventing a closed space regarded as an obstacle in an unsearched map according to an embodiment of the present invention.
맵 분해가 다시 수행되고, 도 8a의 (a)에서 의 미탐색된 장애물은 서브맵 와 서브맵 에 존재한다.Map decomposition is performed again, and in FIG. 8A (a) The unexplored obstacles in the submap And submap Exists in
서브맵 의 엣지들 중에서, 엣지 <(11,5), (11,17)>와 미탐색의 장애물이 교차한다.Submap Among the edges of, the edges <(11,5), (11,17)> and unexplored obstacles intersect.
도 8a의 (b)에서, 미탐색의 장애물과 엣지 <(11,5), (11,17)>는 교차하기 때문에 기호 를 가진 폐쇄 공간이 생성된다.In Fig. 8A(b), the unexplored obstacle and the edge <(11,5), (11,17)> cross, so the symbol A closed space with a is created.
서브맵 의 바깥쪽에는 폐쇄 공간이 있기 때문에 청소 로봇 장치는 폐쇄 공간을 청소할 수 없다. 또한, 서브맵 에서, 폐쇄 공간()은 인접한 장애물에 의해 둘러 싸여있다. 따라서, 청소 로봇 장치가 폐쇄 공간에 진입하여 청소할 수 없다. 따라서, 폐쇄 공간을 방지하기 위해서는 엣지 <(11,5), (11,17)>는 삭제된다.Submap Because there is a closed space on the outside of the robot, the cleaning robot device cannot clean the closed space. Also, submap In, closed space ( ) Is surrounded by adjacent obstacles. Therefore, the cleaning robot device cannot clean by entering the closed space. Therefore, to prevent a closed space, the edges <(11,5), (11,17)> are deleted.
엣지 <(11,5), (11,17)>에 관련된 서브맵들은 결합되고, 맵 분해가 다시 수행된다.Submaps related to edges <(11,5), (11,17)> are combined, and map decomposition is performed again.
도 8a 및 도 8b의 (c) 내지 (h)는 폐쇄 공간을 방지하는 전체 과정을 보여준다. 먼저, 청소 로봇 장치가 서브맵 을 청소할 때, 이동 과정에서 서브맵 의 엣지를 따라 새로운 장애물을 발견한다.8A and 8B (c) to (h) show the entire process of preventing a closed space. First, the robot cleaning device is When cleaning the submap during the movement Discover new obstacles along the edge of
다음으로, 도 8a의 (c)와 같이, 청소 로봇 장치가 장애물의 벽들을 따라 장애물의 엣지와 모서리에 대한 정보를 수집한다.Next, as shown in (c) of FIG. 8A, the cleaning robot device collects information on the edges and corners of the obstacle along the walls of the obstacle.
도 8a의 (d)는 장애물을 따라가는 프로세스에서 8개의 모서리가 결정되고 6개의 볼록한 모서리가 ()로 표시되고, 2개의 오목한 모서리가 ()로 표시된 실선으로 표시됩니다.8A(d) shows that in the process of following the obstacle, 8 edges are determined and 6 convex edges are ( ), and the two concave edges are ( It is indicated by a solid line marked with ).
청소 로봇 장치는 엣지 <(11,5), (11,17)>의 장애물을 식별하고, 엣지 <(11,5), (11,17)>는 삭제된다. 엣지 <(11,5), (11,17)>를 포함한 서브맵들은 선택된다.The cleaning robot device identifies obstacles at edges <(11,5), (11,17)>, and edges <(11,5), (11,17)> are deleted. Submaps including edges <(11,5), (11,17)> are selected.
서브맵 와 서브맵 은 하나의 서브맵으로 연결되고, 로 정의된다.Submap And submap Is connected by one submap, Is defined as
도 8b의 (e)에서, 서브맵 및 서브맵 은 서브맵 를 형성하고, 서브맵 의 엣지는 실선으로 표시된다. 도 8b의 (e)에서, 실선은 서브맵 의 엣지들을 표시하고, 서브맵 은 서브맵 과 서브맵 에 의해 형성된다. 원은 맵의 모서리들을 나타낸다.In Fig. 8B (e), the submap And submap Silver submap And the submap The edge of is indicated by a solid line. In (e) of FIG. 8B, a solid line is a submap The edges of the submap and Silver submap And submap Is formed by Won Shows the edges of the map.
도 8b의 (f)는 장애물과 서브맵 의 모서리들과 엣지들을 표시한다.Figure 8b (f) is Obstacles and submaps Mark the edges and edges of.
도 8b의 (g)에서 장애물의 볼록한 모서리가 사용되고, 모서리가 생성된다.In (g) of FIG. 8B, the convex edge of the obstacle is used, and the edge is created.
실선은 최종적으로 생성된 모서리들을 나타낸다. 생성된 엣지들에서 A* 알고리즘을 사용한 맵 분해 결과는 도 8b의 (h)에 표시된다 서브맵 와 서브맵 으로 형성된 서브맵 는 다시 6개의 새로운 서브맵으로 분할되고, 타입 장애물에 의해 생성된 폐쇄 공간이 방지된다.The solid lines represent the finally created edges. The result of map decomposition using the A* algorithm on the generated edges is shown in (h) of FIG. 8B. Submap And submap Submap formed by Is divided into 6 new submaps again, Closed spaces created by type obstacles are prevented.
본 발명은 CPP 프로세스를 가속화하기 위해 직사각형 서브맵과 경계 엣지를 기반으로하는 초대형 환경을 위한 확장 가능한 CPP 방법을 제안한다.The present invention proposes a scalable CPP method for a very large environment based on rectangular submaps and boundary edges to accelerate the CPP process.
이를 위해서 크고 알 수 없는 환경에서 나선형 경로를 사용하는 새로운 지도 분해 방법을 제공한다.To this end, a new map decomposition method using a spiral path in a large and unknown environment is provided.
본 발명은 큰 맵에서 경로 계획을 위해 과도한 계산 자원을 소비하지 않고 최종 커버리지 경로를 생성하여 청소 프로세스를 크게 가속화 함을 보여준다.The present invention shows that the cleaning process is greatly accelerated by generating a final coverage path without consuming excessive computational resources for path planning in a large map.
본 발명은 최종 커버리지 경로를 단축 할 수 없는 대각선 엣지와 반대로 경계 및 분해 엣지를 사용하기 때문에, 종래의 방법에 비해 최종 커버리지 경로를 길게 할 수 있다.In the present invention, since the boundary and decomposition edges are used as opposed to diagonal edges that cannot shorten the final coverage path, the final coverage path can be lengthened compared to the conventional method.
본 발명은 높은 커버리지 경로계획 성공률이 요구되는 실시간 커버리지 경로 계획에 적용할 수 있으며 특히, 청소 로봇이나 지뢰 제거용 로봇, 수확 로봇, 잔디 로봇 개발 등에서 적용될 수 있다.The present invention can be applied to real-time coverage path planning that requires a high coverage path planning success rate, and in particular, can be applied to the development of a cleaning robot, a mine removal robot, a harvesting robot, a lawn robot, and the like.
이상에서 본 발명의 실시예는 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.In the above, embodiments of the present invention are not implemented only through an apparatus and/or method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention, a recording medium in which the program is recorded, etc. In addition, this implementation can be easily implemented by an expert in the technical field to which the present invention belongs from the description of the above-described embodiment.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
100: 청소 로봇 장치
110: 센서 감지부
120: 구동부
130: 입력부
140: 저장부
150: 맵 탐색부
160: 맵 분해부
170: 서브맵 청소부
180: 서브맵 선택부
190: 제어부100: cleaning robot device
110: sensor detection unit
120: drive unit
130: input unit
140: storage unit
150: map search unit
160: map decomposition unit
170: submap cleaner
180: submap selection unit
190: control unit
Claims (8)
상기 수집한 모서리 정보와 엣지 정보를 이용하여 상기 맵을 하나 이상의 직사각형인 서브맵으로 분해하는 맵 분해 단계;
상기 분해된 서브맵 중 선택된 서브맵에서는 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 나선형 커버리지 경로를 따라 이동하면서 청소하는 서브맵 청소 단계; 및
상기 선택된 서브맵을 청소한 후, 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 다음에 청소할 서브맵을 선택하는 서브맵 선택 단계를 포함하는 것을 특징으로 하는 직사각형 맵 분해 기반의 커버리지 경로 계획 방법.The cleaning robot apparatus includes a map search step of detecting walls and obstacles while following a wall in an unknown map, and collecting edge information and edge information existing in the map;
A map decomposition step of decomposing the map into one or more rectangular submaps using the collected corner information and edge information;
A submap cleaning step of cleaning the selected submap among the decomposed submaps while moving along a spiral coverage path using edge information generated in the map decomposition step; And
And a submap selection step of selecting a next submap to be cleaned using edge information generated in the map decomposition step after cleaning the selected submap.
상기 엣지(li)는 장애물의 경계인 모서리를 나타내고, 상기 엣지(li)를 둘러싸는 그리드(Grid)는 하기의 [수학식 1]에 의해 표현되고, 상기 엣지(li)는 하기의 [수학식 1]에서 선택된 그리드들 g1과 g2가 좌표로 표시되면, 하기의 [수학식 2]를 이용하여 맵에 장애물이 있는 그리드(g3)인 경우, 볼록한 모서리로 분류하고, 맵에 장애물이 없이 비어 있는 그리드(g3)인 경우, 오목한 모서리로 분류하는 것을 특징으로 하는 직사각형 맵 분해 기반의 커버리지 경로 계획 방법.
[수학식 1]
여기서, N(li)는 그리드들을 둘러싸는 모서리 li를 정의하고, g1과 g2는 의 사이를 포함하는 그리드를 정의함.
[수학식 2]
The method of claim 1,
The edge (l i) represents a boundary edge of the obstacle is represented by the edge (l i) is a grid (Grid) is Equation 1 below enclosing, on to the said edge (l i) [ When the grids g1 and g2 selected in Equation 1] are displayed as coordinates, the grid g3 with obstacles in the map is classified as a convex edge using the following [Equation 2], and there is no obstacle in the map. In the case of an empty grid (g3), a coverage path planning method based on a rectangular map decomposition, characterized in that classifying with concave corners.
[Equation 1]
Where N(l i ) defines the edge l i surrounding the grids, and g1 and g2 are Defines a grid containing between.
[Equation 2]
상기 맵 분해 단계는 상기 엣지가 볼록한 모서리로 분류되는 경우, 상기 볼록한 모서리를 이용하여 상기 맵을 직사각형으로 나누어 맵 분해 단계를 시작하는 것을 특징으로 하는 직사각형 맵 분해 기반의 커버리지 경로 계획 방법.The method of claim 2,
In the map decomposition step, when the edges are classified as convex corners, the map decomposition step is started by dividing the map into rectangles using the convex corners.
상기 맵 분해 단계는 상기 엣지들 중에서 상기 볼록한 모서리에 대한 정보를 수집하는 단계;
상기 수집된 볼록한 모서리에서 맵 경계 엣지와 탐색된 장애물의 경계 엣지와 겹치지 않아야 하고, 탐색된 장애물을 통과하지 않아야 하고, 다른 볼록한 모서리에 의해 첫 번째로 형성된 분해 엣지와 겹치지 않아야 하는 3가지 조건을 만족하는 분해 엣지 중에서 랜덤하게 하나의 분해 엣지를 선택하는 단계;
상기 선택된 분해 엣지를 사용하여 교차되는 교차점을 기초로 경계 엣지를 선택하는 단계; 및
상기 선택된 분해 엣지와 상기 선택된 경계 엣지를 기초하여 하나 이상의 서브맵을 생성하는 단계를 포함하는 것을 특징으로 하는 직사각형 맵 분해 기반의 커버리지 경로 계획 방법.The method of claim 1,
The step of decomposing the map may include collecting information on the convex corner among the edges;
Satisfy the three conditions that the collected convex corner must not overlap the map boundary edge and the boundary edge of the searched obstacle, do not pass through the searched obstacle, and do not overlap the first decomposition edge formed by other convex corners. Randomly selecting one decomposition edge from among the decomposition edges;
Selecting a boundary edge based on an intersection point intersecting using the selected decomposition edge; And
And generating at least one submap based on the selected decomposition edge and the selected boundary edge.
상기 서브맵 청소 단계는 상기 분해된 서브맵 중 선택된 서브맵에서는 상기 복수의 제1 엣지 정보를 기준으로 벽을 따라 가면서 모서리에 대한 정보를 수집하는 단계; 및
상기 선택된 서브맵에서 볼록한 모서리가 없는 경우, 나선형 커버리지 경로에 사용되는 새로운 엣지를 생성하여 맵 청소를 수행하는 단계를 포함하는 것을 특징으로 하는 직사각형 맵 분해 기반의 커버리지 경로 계획 방법.The method of claim 2,
In the submap cleaning step, in the submap selected from among the decomposed submaps, collecting information on edges while following a wall based on the plurality of first edge information; And
And performing map cleaning by generating a new edge used for a spiral coverage path when there is no convex edge in the selected submap.
상기 선택된 서브맵에서 상기 맵 분해 단계에서 생성된 복수의 제1 엣지 정보 중에서 상기 청소 로봇 장치와 사이의 유클리드 거리들을 계산하는 단계;
상기 계산한 유클리드 거리들 중에서 최단 경로를 선택하거나 상기 유클리드 거리가 동일하다면 하나기 무작위로 선택된 경로의 엣지로 이동하는 단계; 및
상기 이동한 청소 로봇 장치는 상기 맵 분해 단계에서 생성된 복수의 제2 엣지 정보를 기초로 새롭게 청소할 서브맵에 대한 경로를 생성하는 단계를 포함하는 것을 특징으로 하는 직사각형 맵 분해 기반의 커버리지 경로 계획 방법.The method of claim 1,
Calculating Euclidean distances between the cleaning robot apparatus and the plurality of first edge information generated in the map decomposition step in the selected submap;
Selecting a shortest path from among the calculated Euclidean distances or moving to an edge of one randomly selected path if the Euclidean distances are the same; And
And generating, by the moved cleaning robot apparatus, a path to a submap to be cleaned newly based on a plurality of second edge information generated in the map decomposition step.
상기 수집한 모서리 정보와 엣지 정보를 이용하여 상기 맵을 하나 이상의 직사각형인 서브맵으로 분해하는 맵 분해부;
상기 분해된 서브맵 중 선택된 서브맵에서는 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 나선형 커버리지 경로를 따라 이동하면서 청소하는 서브맵 청소부; 및
상기 선택된 서브맵을 청소한 후, 상기 맵 분해 단계에서 생성된 엣지 정보를 이용하여 다음에 청소할 서브맵을 선택하는 서브맵 선택부를 포함하는 것을 특징으로 하는 청소 로봇 장치.A map search unit configured to detect walls and obstacles using a sensor detection unit while following the wall by a driving unit in an unknown map, and collect edge information and edge information existing in the map;
A map decomposition unit that decomposes the map into one or more rectangular submaps by using the collected corner information and edge information;
A submap cleaning unit cleaning the selected submap among the decomposed submaps while moving along the spiral coverage path using edge information generated in the map decomposition step; And
And a submap selection unit for selecting a submap to be cleaned next using edge information generated in the map decomposition step after cleaning the selected submap.
상기 맵 탐색부는 상기 엣지(li)를 장애물의 경계인 모서리를 나타내고, 상기 엣지(li)를 둘러싸는 그리드(Grid)는 하기의 [수학식 3]에 의해 표현되고, 상기 엣지(li)를 하기의 [수학식 3]에서 선택된 그리드들 g1과 g2가 좌표로 표시되면, 하기의 [수학식 4]를 이용하여 맵에 장애물이 있는 그리드(g3)인 경우, 볼록한 모서리로 분류하고, 맵에 장애물이 없이 비어 있는 그리드(g3)인 경우, 오목한 모서리로 분류하고,
상기 맵 분해부는 상기 엣지가 볼록한 모서리로 분류되는 경우, 상기 볼록한 모서리를 이용하여 상기 맵을 직사각형으로 나누어 맵 분해 단계를 시작하는 것을 특징으로 하는 청소 로봇 장치.
[수학식 3]
여기서, N(li)는 그리드들을 둘러싸는 모서리 li를 정의하고, g1과 g2는 의 사이를 포함하는 그리드를 정의함.
[수학식 4]
The method of claim 7,
The map search unit represents the edge (l i ) as the boundary of the obstacle, and the grid surrounding the edge (l i ) is expressed by the following [Equation 3], and the edge (l i ) When the grids g1 and g2 selected in the following [Equation 3] are displayed as coordinates, the grid (g3) with obstacles in the map is classified as a convex edge using the following [Equation 4], and the map In the case of an empty grid (g3) without obstacles, it is classified as a concave corner,
The map decomposition unit, when the edge is classified as a convex corner, starts the map decomposition step by dividing the map into rectangles using the convex corner.
[Equation 3]
Where N(l i ) defines the edge l i surrounding the grids, and g1 and g2 are Defines a grid containing between.
[Equation 4]
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190080992 | 2019-07-04 | ||
KR1020190080992 | 2019-07-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210004763A true KR20210004763A (en) | 2021-01-13 |
KR102230362B1 KR102230362B1 (en) | 2021-03-22 |
Family
ID=74142252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190090367A KR102230362B1 (en) | 2019-07-04 | 2019-07-25 | Cleaning Robot Apparatus Using Rectangular Map Decomposition and Method for Planning Coverage Path Using the Same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102230362B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114734458A (en) * | 2022-04-01 | 2022-07-12 | 东北电力大学 | Intelligent building inspection robot |
WO2023105187A1 (en) * | 2021-12-10 | 2023-06-15 | Dyson Technology Limited | Method for edge cleaning |
WO2023105188A1 (en) * | 2021-12-10 | 2023-06-15 | Dyson Technology Limited | Method for edge cleaning |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100843085B1 (en) * | 2006-06-20 | 2008-07-02 | 삼성전자주식회사 | Method of building gridmap in mobile robot and method of cell decomposition using it |
KR101105325B1 (en) | 2009-09-08 | 2012-01-16 | 부산대학교 산학협력단 | Method for Path-planning for Actual Robots |
WO2015090398A1 (en) * | 2013-12-19 | 2015-06-25 | Aktiebolaget Electrolux | Robotic vacuum cleaner with side brush moving in spiral pattern |
KR101566207B1 (en) * | 2011-06-28 | 2015-11-13 | 삼성전자 주식회사 | Robot cleaner and control method thereof |
KR101775114B1 (en) * | 2016-01-25 | 2017-09-05 | 충북대학교 산학협력단 | System and method for simultaneous localization and mapping of mobile robot |
-
2019
- 2019-07-25 KR KR1020190090367A patent/KR102230362B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100843085B1 (en) * | 2006-06-20 | 2008-07-02 | 삼성전자주식회사 | Method of building gridmap in mobile robot and method of cell decomposition using it |
KR101105325B1 (en) | 2009-09-08 | 2012-01-16 | 부산대학교 산학협력단 | Method for Path-planning for Actual Robots |
KR101566207B1 (en) * | 2011-06-28 | 2015-11-13 | 삼성전자 주식회사 | Robot cleaner and control method thereof |
WO2015090398A1 (en) * | 2013-12-19 | 2015-06-25 | Aktiebolaget Electrolux | Robotic vacuum cleaner with side brush moving in spiral pattern |
KR101775114B1 (en) * | 2016-01-25 | 2017-09-05 | 충북대학교 산학협력단 | System and method for simultaneous localization and mapping of mobile robot |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023105187A1 (en) * | 2021-12-10 | 2023-06-15 | Dyson Technology Limited | Method for edge cleaning |
WO2023105188A1 (en) * | 2021-12-10 | 2023-06-15 | Dyson Technology Limited | Method for edge cleaning |
CN114734458A (en) * | 2022-04-01 | 2022-07-12 | 东北电力大学 | Intelligent building inspection robot |
CN114734458B (en) * | 2022-04-01 | 2022-12-06 | 东北电力大学 | Intelligent building inspection robot |
Also Published As
Publication number | Publication date |
---|---|
KR102230362B1 (en) | 2021-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567502B2 (en) | Autonomous exploration framework for indoor mobile robotics using reduced approximated generalized Voronoi graph | |
US11740634B2 (en) | Systems and methods for configurable operation of a robot based on area classification | |
KR102230362B1 (en) | Cleaning Robot Apparatus Using Rectangular Map Decomposition and Method for Planning Coverage Path Using the Same | |
Carsten et al. | 3d field d: Improved path planning and replanning in three dimensions | |
CN109163722B (en) | Humanoid robot path planning method and device | |
CN113219992B (en) | Path planning method and cleaning robot | |
KR101525071B1 (en) | Device for searching area and mapping for path of intelligent robot in unknown environments | |
EP3931657B1 (en) | System and method for surface feature detection and traversal | |
Rodenberg et al. | Indoor A* pathfinding through an octree representation of a point cloud | |
CN114779779A (en) | Path planning method, path planning device, computer equipment and storage medium | |
Morisset et al. | Leaving flatland: Toward real-time 3d navigation | |
CN114690769B (en) | Path planning method, electronic device, storage medium and computer program product | |
CN114343490B (en) | Robot cleaning method, robot, and storage medium | |
Tsiotras et al. | A hierarchical on-line path planning scheme using wavelets | |
KR102027960B1 (en) | Extended BSA Coverage Path Searching Device, Method and Recording Medium thereof | |
Zhao et al. | Complete coverage path planning scheme for autonomous navigation ROS-based robots | |
CN114442642B (en) | Path planning method, path planning device, computer equipment and storage medium | |
Wong | Qualitative topological coverage of unknown environments by mobile robots | |
Yu et al. | An information theoretic approach to viewpoint planning for motion planning of eye-in-hand systems | |
KR101297608B1 (en) | Method and system for robot coverage of unknown environment | |
CN115657674B (en) | Distributed path planning method and device based on graph neural network | |
CN114115228A (en) | Mobile robot, exploration moving method thereof and computer storage medium | |
CN117008589A (en) | Mobile robot autonomous exploration mapping method based on improved RRT algorithm | |
Werner | Topology Extraction from Occupancy Grids | |
Çoruh et al. | Navigation Patterns of a Hybrid Scanning Agent using Uninformed and Informed Search Algorithms for Reactive and Deliberative Behaviors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |