Method for autonomous exploration and computing device for performing said method

The autonomous exploration method uses boundary detection and parallel path planning to accurately and efficiently explore unknown environments by optimizing frontier points, addressing inefficiencies in existing technologies.

JP2025534164APending Publication Date: 2025-10-14EWHA UNIV IND COLLABORATION FOUND
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025520808
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-10-11
Filing Date
2023-08-30
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

Existing autonomous exploration methods struggle to accurately detect and efficiently explore boundary regions in unknown environments without prior maps, leading to inefficiencies and inaccuracies in path planning.

Method used

An autonomous exploration method using a boundary detection algorithm, obstacle filter, and parallel path planning to identify and optimize frontier points, minimizing spurious points and determining the optimal path for a mobile robot to explore unknown regions.

Benefits of technology

The method maintains accuracy in detecting boundary regions, efficiently explores new unknown areas, and minimizes exploration time by applying boundary and obstacle filters, and parallel path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025534164000001_ABST
    Figure 2025534164000001_ABST
Patent Text Reader

Abstract

The present invention relates to an autonomous exploration method for a mobile robot to autonomously explore a target space having an unknown environment, and more specifically, the autonomous exploration method maximizes the search range for the target space having an unknown environment by utilizing a boundary detection algorithm (FFP: Fast Front Propagation), an obstacle filtering function (Cost-Map Filter), and a boundary filtering function (Grid-Map Filter), and determines an optimal movement path for exploring an unknown area in the target space.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an autonomous exploration method and a computing device for performing said method, and more particularly to an autonomous exploration method and a mobile robot for exploring an object space having an unknown environment. [Background technology]

[0002] In general, robots perform tasks such as operation and movement based on autonomous judgment, and are particularly used to perform various tasks on behalf of humans. Recently, the use of robots in real life has been increasing. For such robots to perform autonomous navigation tasks, technologies such as mapping, localization, path planning, obstacle avoidance, and tracking are required. Among these technologies, path planning is used as an indicator for evaluating robot performance.

[0003] First, the performance of a robot based on path planning can be evaluated by deriving an efficient path between a starting point and a destination using a map provided to the robot. Here, the derived path, which accounts for the majority of path planning research, can be generated as a short or fast path between two points.

[0004] Next, the performance of a robot using path planning can be evaluated not by finding a path between two points, but by its exploration ability to find new territory. The exploration ability of a robot using path planning can vary depending on the information about the robot's operating environment, i.e., the presence or absence of a map. Here, a state in which the robot has a map is called a known environment, and a state in which the robot does not have a map is called an unknown environment. Exploration in a known environment begins after path generation is completed based on a previously provided map, while exploration in an unknown environment begins without a map. Summary of the Invention [Problem to be solved by the invention]

[0005] The present invention provides an autonomous exploration method for finding new unknown regions by exploring a mobile robot while maintaining accuracy for detecting boundary regions of a target space in an unknown environment.

[0006] The present invention provides an autonomous exploration method that displays detailed details of an occupied grid map through the discovery of new unknown areas by applying a boundary detection algorithm (FFP), a boundary filter function, and an obstacle filter function to more accurately extract meaningful boundary areas from multiple boundary areas.

[0007] The present invention provides an autonomous exploration method that determines an optimal travel path while minimizing exploration time by simultaneously exploring multiple frontier points related to a boundary region in parallel using a parallel path planning algorithm.

[0008] The present invention provides an autonomous exploration method for exploring all boundary regions via a mobile robot by downsampling the occupancy grid map to improve the speed of applying the boundary detection algorithm. [Means for solving the problem]

[0009] An autonomous exploration method according to one embodiment of the present invention includes the steps of: generating an occupancy grid map for a target space including an unknown area; extracting a plurality of frontier points for exploration of the unknown area on the occupancy grid map using a boundary detection algorithm; removing spurious points corresponding to outliers from the extracted plurality of frontier points; and determining an optimal frontier point from the frontier points from which the spurious points have been removed using a parallel path algorithm.

[0010] The step of extracting the plurality of frontier points may include the steps of: downsampling an occupancy grid map obtained by scanning a target space based on a starting position of a mobile robot; applying the boundary detection algorithm to the downsampled occupancy grid map to identify boundary cells in the downsampled occupancy grid map; and determining whether a corresponding boundary cell is a frontier point depending on whether adjacent cells of the boundary cell are occupied.

[0011] The step of removing the spurious points may include the steps of: calculating a cost map score indicating the probability that an obstacle exists in the surrounding patch for each of the plurality of frontier points; and determining and removing the frontier points whose calculated cost map score is greater than a predetermined threshold as spurious points.

[0012] The step of removing the spurious points may include performing boundary filtering to extract surrounding patches for each of the plurality of frontier points, and removing the spurious points based on boundary measurements for the surrounding patches extracted through the boundary filtering.

[0013] A boundary measurement for the peripheral patch can be determined using the total number of cells contained in the peripheral patch and the number of unknown cells within the peripheral patch.

[0014] The step of determining the optimal frontier point may include the steps of: searching, in parallel and simultaneously, for movement paths corresponding to each of the frontier points from which spurious points have been removed based on the current position of the mobile robot, using a parallel path algorithm; and comparing the path distances of the movement paths searched in parallel and simultaneously, and determining the frontier point corresponding to the shortest path distance as the optimal frontier point.

[0015] The searching step considers branching conditions and boundary conditions for the frontier points from which the spurious points have been removed, and simultaneously searches for movement paths corresponding to each of the plurality of frontier points in parallel, the branching conditions being start elements for executing a plurality of threads, and the boundary conditions being end elements for searching for movement paths.

[0016] The method may further include exploring an unknown region of the target space via a mobile robot using the optimal frontier point, and displaying the exploration trajectory of the unknown region of the target space explored by the mobile robot on the occupancy grid map.

[0017] According to an embodiment of the present invention, a computing device includes one or more processors and a memory for loading or storing a program executed by the processor, the program including instructions for performing operations of generating an occupancy grid map for a target space in which an unknown region exists, extracting a plurality of frontier points for exploration of the unknown region on the occupancy grid map using a boundary detection algorithm, removing spurious points corresponding to outliers from the extracted plurality of frontier points, and determining an optimal frontier point from the frontier points from which the spurious points have been removed using a parallel path algorithm.

[0018] The processor may downsample an occupancy grid map obtained by scanning a target space based on a starting position of a mobile robot, apply the boundary detection algorithm to the downsampled occupancy grid map to identify boundary cells in the downsampled occupancy grid map, and determine whether the corresponding boundary cell is a frontier point depending on whether adjacent cells of the boundary cell are occupied, thereby extracting a plurality of frontier points.

[0019] The processor calculates a cost map score indicating the probability that an obstacle exists in the surrounding patch for each of the plurality of frontier points, and can determine and remove frontier points whose calculated cost map score is greater than a predetermined threshold as spurious points.

[0020] The processor may perform boundary filtering to extract surrounding patches for each of the plurality of frontier points, and remove spurious points based on boundary measurements for the surrounding patches extracted through the boundary filtering.

[0021] A boundary measurement for the peripheral patch can be determined using the total number of cells contained in the peripheral patch and the number of unknown cells within the peripheral patch.

[0022] The processor may search for movement paths corresponding to each of the frontier points from which spurious points have been removed in parallel and simultaneously using a parallel path algorithm based on the current position of the mobile robot, and may compare the path distances of the movement paths searched in parallel and simultaneously to determine the frontier point corresponding to the shortest path distance as the optimal frontier point.

[0023] The processor considers branching conditions and boundary conditions for the frontier points from which the spurious points have been removed, and simultaneously searches for movement paths corresponding to each of the plurality of frontier points in parallel, the branching conditions being start elements for executing the plurality of threads, and the boundary conditions being end elements for searching for movement paths.

[0024] The processor can use the optimal frontier points to explore an unknown region of the target space via a mobile robot and display the optimal frontier points on the occupancy grid map as an exploration trajectory for the unknown region of the target space explored by the mobile robot. [Effects of the Invention]

[0025] The autonomous exploration method according to the embodiment of the present invention maintains accuracy for detecting boundary regions of a target space in an unknown environment and can find new unknown regions through exploration by a mobile robot.

[0026] The autonomous exploration method according to an embodiment of the present invention applies the boundary filter function and obstacle filter function of the boundary detection algorithm (FFP) to more accurately extract meaningful boundary areas from multiple boundary areas, thereby discovering new unknown areas and displaying detailed details of the occupied grid map.

[0027] The autonomous exploration method according to an embodiment of the present invention can determine an optimal travel path while minimizing exploration time by simultaneously searching multiple frontier points related to a boundary region in parallel using a parallel path algorithm.

[0028] The autonomous exploration method according to an embodiment of the present invention can explore all boundary areas through a mobile robot while improving the application speed of the boundary detection algorithm by downsampling the occupancy grid map. [Brief explanation of the drawings]

[0029] [Figure 1] FIG. 1 illustrates a computing device according to one embodiment of the present invention. [Figure 2] FIG. 1 is a flowchart illustrating an autonomous exploration method according to an embodiment of the present invention. [Figure 3] FIG. 10 illustrates a small patch around an ideal frontier point where ρ=1 according to one embodiment of the present invention. [Figure 4] FIG. 1 illustrates a method for extracting multiple frontier points using a boundary detection algorithm according to an embodiment of the present invention. [Figure 5] FIG. 1 illustrates a method for determining optimal frontier points using a parallel path algorithm according to an embodiment of the present invention. [Figure 6]1 is a diagram illustrating an operation of a mobile robot equipped with a computing device according to an embodiment of the present invention, exploring a plurality of regions that constitute a target space. [Figure 7] 10 is a graph illustrating performance of different boundary detection algorithms according to an embodiment of the present invention. [Figure 8] 10 is a graph illustrating the performance of a parallel path algorithm according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0030] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0031] FIG. 1 is a diagram illustrating a computing device according to one embodiment of the present invention.

[0032] As shown in Fig. 1, computing device 100 includes one or more processors 110 and memory 120 for loading or storing programs 130 executed by processor 110. The components included in computing device 100 shown in Fig. 1 are merely examples, and those skilled in the art will recognize that computing device 100 may further include other general-purpose components in addition to the components shown in Fig. 1.

[0033] The processor 110 controls the overall operation of each component of the computing device 100. The processor 110 may include at least one of a central processing unit (CPU), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphic processing unit (GPU), a neural processing unit (NPU), a digital signal processor (DSP), or any other type of processor known in the art. The processor 110 may also perform calculations for at least one application or program for executing methods / operations according to various embodiments of the present invention. The computing device 100 may include one or more processors.

[0034] Memory 120 stores one or more combinations of various data, instructions, and information used by components (e.g., processor 110) included in computing device 100. Memory 120 may include volatile memory and / or non-volatile memory.

[0035] The program 130 may include one or more operations embodying methods / operations according to various embodiments of the present invention, and may be stored in the memory 120 in the form of software. Here, the operations correspond to instructions implemented by the program 130. For example, the program 130 may include instructions for executing an operation of generating an occupancy grid map for a target space in which an unknown region exists, an operation of extracting a plurality of frontier points for exploring the unknown region on the occupancy grid map using a boundary detection algorithm, an operation of removing spurious points corresponding to outliers from the extracted plurality of frontier points, and an operation of determining an optimal frontier point from the frontier points from which the spurious points have been removed using a parallel path algorithm.

[0036] Once the program 130 is loaded into the memory 120, the processor 110 can execute a number of operations to implement the program 130, thereby performing the methods / operations according to various embodiments of the present invention.

[0037] An execution screen of the program 130 may be displayed via the display 140. In the case of Fig. 1, the display 140 may be a separate device connected to the computing device 100, or if the computing device 100 is a terminal that can be carried by a user, such as a smartphone or tablet, the display 140 may be a component of the computing device 100. The screen displayed on the display 140 may be a screen before information is input into the program or a result of the execution of the program.

[0038] FIG. 2 is a flowchart illustrating an autonomous exploration method according to one embodiment of the present invention.

[0039] The autonomous exploration method shown in Figure 2 is executed by a processor of a computing device, where the computing device is mounted on a mobile robot moving in a target space and controls the mobile robot to autonomously explore unknown areas in the target space.

[0040] In step 210, the processor generates an occupancy grid map for the target space where the unknown region exists. More specifically, the processor can collect front images of the mobile robot by controlling the mobile robot to scan the target space based on the current position of the mobile robot that has entered the target space. The processor can generate an occupancy grid map corresponding to the target space using the front images of the mobile robot collected in this way.

[0041] In step 220, the processor uses a boundary detection algorithm to extract a plurality of frontier points for exploration of unknown regions on the occupancy grid map. More specifically, the processor scans the entire occupancy grid map to identify and store boundary cells, revisits the stored boundary cells to identify frontier regions corresponding to unknown regions that have not yet been explored, and then calculates frontier points corresponding to the identified frontier regions.

[0042] In step 230, the processor removes frontier points corresponding to outliers from the extracted frontier points. For example, the extracted frontier points through the boundary detection algorithm may include frontier points corresponding to cells that the mobile robot cannot reach due to, for example, cells surrounded by obstacles or false detections caused by scanning errors of the laser sensor (hereinafter referred to as spurious points). Performing the exploration process of the mobile robot while taking all such spurious points into consideration may result in serious inefficiencies.

[0043] Therefore, the processor may use a boundary filter function and an obstacle filter function to remove spurious points from the frontier points extracted by the boundary detection algorithm.

[0044] First, the processor may use an obstacle filter function to determine and remove frontier points surrounded by obstacles as spurious points. More specifically, the processor may identify small patches surrounding each of a plurality of frontier points. Here, the size of the small patches is determined by a user definition. For example, if the size of the small patches is defined as 20x20 pixels, the processor may extract only pixels included in a 20x20 window centered on the frontier point and identify them as small patches.

[0045] The processor may calculate a cost map score for a small patch around each of the frontier points thus identified, indicating the probability that an obstacle exists in the patch, where the obstacle filter response may be designed to be lower the more obstacles there are around the frontier point.

[0046] The processor can determine frontier points whose calculated cost map scores are greater than a preset threshold as spurious points and remove them.

[0047] The processor may then determine and remove spurious points from the plurality of frontier points based on the calculated boundary measurements using a boundary filter function. More specifically, the processor may perform boundary filtering to extract small surrounding patches for each of the plurality of frontier points. JPEG2025534164000002.jpg16165

[0048]

number

[0049] JPEG2025534164000004.jpg16165

[0050] Here, the candidate point f with boundary measurement value ρ≒1 is c Since there is a high possibility that the location is on the border of an unknown area that has not yet been explored, the probability that the mobile robot will find map information when visiting the area increases. As an example, FIG. 3 shows a small patch around an ideal frontier point where ρ=1 according to one embodiment of the present invention.

[0051] In step 240, the processor determines an optimal frontier point from among the frontier points from which spurious points have been removed using a parallel path algorithm. More specifically, the processor may simultaneously search for movement paths corresponding to each of the frontier points from which spurious points have been removed based on the current position of the mobile robot using the parallel path algorithm. The processor determines the frontier point corresponding to the shortest movement path from among the movement paths simultaneously searched using the parallel path algorithm as the optimal frontier point.

[0052] FIG. 4 is a diagram illustrating a method for extracting frontier points using a boundary detection algorithm according to one embodiment of the present invention.

[0053] Algorithm 1 disclosed in FIG. 4 is executed by a processor of a computing device and provides a method for extracting frontier points that lie in the boundary region between the free region and the unknown region in an occupancy grid map.

[0054] First, the scan list P and front queue Q are empty. The grid vector L is allocated to the same size as the occupancy grid map M and initialized to the FAR value. The frontier region list F is also initialized.

[0055] The processor can identify and store boundary cells on the occupancy grid map for the target space through the MARCHFRONT() function. More specifically, the MARCHFRONT() function can search for a boundary set, where the boundary set includes a situation where UNKNOWN and OCCUPIED meet, and a situation where UNKNOWN and FREE meet.

[0056] In the boundary detection algorithm, the set of front queue Q is always UNKNOWN, so the processor searches only UNKNOWN through the MARCHFRONT() function to check whether it belongs to the boundary set. That is, if a cell q contained in the front queue Q is UNKNOWN and all of its surrounding cells are FREE or OCCUPIED, the processor can identify and store the cell q as a boundary cell belonging to the boundary set.

[0057] Referring to Algorithm 1 shown in Figure 4, the processor can add the seed index s to the front queue Q (line 9 in Figure 4). If the front queue Q is empty, the processor ends the operation.

[0058] On the other hand, if the front queue Q is not empty, the processor can check whether the cell q∈Q and the adjacent cell (n) of cell q included in the front queue Q are boundary cells (i.e., q∈B) (lines 14 to 24 of FIG. 4). For example, if all adjacent cells n of cell q are not unknown cells, the processor determines that cell q is a boundary cell in the boundary region because it is a cell indicating unknown.

[0059] Since the cell q determined as a boundary cell potentially belongs to the frontier region, the processor can store the cell q in the scan list P (line 22 in FIG. 4).

[0060] The processor can identify frontier regions through the EXTRACTFRONTIERS() function. More specifically, the EXTRACTFRONTIERS() function performs a process of searching for the first situation out of two boundary sets: 1) the situation where UNKNOWN and FREE meet, and 2) the situation where UNKNOWN and OCCUPIED meet.

[0061] Referring to Algorithm 1 in Figure 4, if all neighboring cells n for each cell p stored in the scan list P have an UNKNOWN value (not OCCUPIED), the processor can add the cell p to the frontier region F (lines 28-31 in Figure 4).

[0062] On the other hand, the cells included in the frontier region F (where UNKNOWN and FREE face each other) are identified as adjacent boundaries, and the processor can calculate the frontier point f by clustering these boundaries and then calculating the center point of each cluster.

[0063] FIG. 5 is a diagram illustrating a method for determining optimal frontier points using a parallel path algorithm according to one embodiment of the present invention.

[0064] Algorithm 2 disclosed in FIG. 5 is executed by a processor of a computing device and illustrates a method for determining an optimal frontier point from among frontier points from which spurious points have been removed using a parallel path algorithm.

[0065] The processor can apply the parallel path algorithm A* to the frontier points from which the spurious points have been removed, and determine the optimal boundary point among the frontier points that can be moved based on the current position of the mobile robot.

[0066] More specifically, the processor may search in parallel and simultaneously for movement paths corresponding to each frontier point from which spurious points have been removed based on the current position of the mobile robot, and may compare the path distances of the movement paths thus searched in parallel and simultaneously to determine the frontier point having the shortest path distance as the optimal frontier point.

[0067] The parallel path algorithm is an efficient graph search method for finding the optimal movement path from the start node to the target node. Given the start node, the parallel path algorithm can select the frontier point, which is the target node, and search the graph. The minimum cost by the parallel path algorithm can be expressed as shown in Equation 2 below.

[0068] [Number]

[0069] Here, G(n) calculates the cost from the start node n s to the current node n, and H(n) is a heuristic function that estimates the cost from the current node n to the target node n g up to.

[0070] Here, the processor utilizes the branching conditions and boundary conditions to increase the accuracy of path search and minimize unnecessary searches. The parallel path algorithm using the branching conditions and boundary conditions can utilize the consistent attribute that the movement cost F(n) increases when opening child nodes toward the target.

[0071] 1) The branching condition (Branch) is the starting element for executing (Launching) multiple threads. As an example, the branching condition is the element that starts multiple threads Ti, calculates Fi in Equation (2), and performs the A* search simultaneously.

[0072] 2) The boundary condition (Bound) is the ending element for searching the movement path. As an example, during the A* search, each time thread Ti touches ε < Fi, Ti terminates, and ε is initialized to a large value as the upper limit value of all Fi values.

[0073] 3) After thread Ti successfully completes the search, if it is in the state of Fi < ε, the parallel path algorithm updates ε to Fi (ε := Fi).

[0074] Figure 5 shows pseudocode for the parallel path algorithm A*. Our parallel path algorithm initializes and tracks two lists of open and closed nodes (lines 4-5 of Table 2). Each thread then begins a path search using the parallel path algorithm A* based on the bounded condition (line 9). Our invention then terminates the thread (line 10 of Table 2) due to the bounded condition of the parallel path algorithm.

[0075] The parallel path algorithm of the present invention can update the boundary parameter ε (lines 15-17 of Table 2) when a thread finds a better path. The parallel path algorithm of the present invention can then determine the optimal frontier point (f*) with the shortest path length. The exploration trajectory to the optimal frontier point (f*) can be used as a global plan to guide the robot.

[0076] FIG. 6 is a diagram illustrating an operation of a mobile robot equipped with a computing device according to an embodiment of the present invention, exploring a plurality of regions that constitute a target space.

[0077] 6, a computing device may determine frontier points at which new unknown regions can be explored in a boundary region extracted from a target space having an unknown environment. The computing device may determine boundary cells included in a boundary region between a free region and an unknown region in the target space by applying a boundary detection algorithm based on an occupancy grid map. Here, the computing device may accelerate the speed of the boundary detection algorithm by downsampling the size of the occupancy grid map while maintaining accuracy in detecting boundary cells included in the boundary region.

[0078] In addition, the computing device can analyze boundary cells included in the boundary area and their neighboring cells to remove meaningless cells, thereby preventing the setting of a path to a destination point where movement is impossible. Furthermore, the computing device can simultaneously search for movement paths corresponding to a plurality of frontier points in parallel so that branching conditions and boundary conditions are satisfied. In other words, the computing device can efficiently parallelize movement paths using a parallel path algorithm.

[0079] The computing device can generate a new occupancy grid map including the exploration trajectory of the mobile robot in the unknown region of the target space by displaying the exploration trajectory in the occupancy grid map. In other words, the computing device can construct a new map of the unknown region explored by the mobile robot by synthesizing the exploration trajectory of the mobile robot in real time into the occupancy grid map.

[0080] The drawings corresponding to Fig. 1 610 to Fig. 6 670 show the autonomous movement of a mobile robot equipped with a computing device in an unknown environment in a step-by-step manner.

[0081] Referring to FIG. 6, a computing device can approach a frontier point (or boundary point) in a frontier region where the mobile robot will first move based on the current position of the mobile robot in the target space. The computing device can determine an optimal frontier point from among multiple frontier points and search an unknown region of the target space using the determined optimal frontier point. After moving the position of the mobile robot to the optimal frontier point, the computing device can scan and search a certain range of the image region.

[0082] Referring to the second diagram 620 of FIG. 6, the computing device may sequentially search for a second frontier point after the mobile robot reaches the first frontier point.

[0083] Referring to the third diagram 630 of FIG. 6, the computing device may explore successive new regions in succession after reaching the second frontier point, the third frontier point, and so on.

[0084] A fourth diagram 640, a fifth diagram 650, and a sixth diagram 660 shown in FIG. 6 are views from the perspective of a mobile robot relative to the first diagram 610, the second diagram 620, and the third diagram 630, respectively.

[0085] Referring to the seventh diagram 670 shown in FIG. 6, the computing device can confirm the occupancy grid map completed through the exploration trajectory of the mobile robot.

[0086] FIG. 7 is a graph illustrating the performance of different boundary detection algorithms according to an embodiment of the present invention.

[0087] The graph in Figure 7 shows the performance results of the boundary detection algorithm (FFP) and wavefront frontier detection (WFD) of the autonomous exploration method proposed in the present invention. The present invention can downsample (DS) an occupancy grid map used to search for an optimal travel path in an unknown environment. The present invention can evaluate the performance using the original occupancy grid map and the downsampled occupancy grid map of each method.

[0088] A computing device performing the autonomous exploration method of the present invention can explore a target space having an unknown environment and more accurately locate potential unknown areas present in the target space. The computing device is mounted on a mobile robot and can autonomously explore the target space, thereby grasping an extremely large target space with a maximum of 18M cells.

[0089] In the first graph 710 shown in Figure 7, the X axis represents the size of the occupancy grid map, and the Y axis represents the execution time in a logarithmic scale. Referring to the first graph 710 of Figure 7, the boundary detection algorithm used in the autonomous exploration method is approximately six times faster than the wavefront detection method, and this speedup increases as the size of the occupancy grid map representing the target space is reduced.

[0090] In addition, the boundary detection algorithm applied to the double downsampled occupancy grid map was confirmed to be approximately 14 times faster than the boundary detection algorithm applied to the original occupancy grid map, and 87 times faster than the wavefront detection method applied to the original occupancy grid map.

[0091] In the second graph 720 and the third graph 730 shown in Figure 7, the X axis represents the size of the occupancy grid map, and the Y axis represents the number of frontier points. In the second graph 720 of Figure 7, it can be seen that the boundary detection algorithm and the wavefront detection method have similar performance in terms of the number of frontier points detected in the boundary region.

[0092] The third graph 730 shown in FIG. 7 confirms that even with downsampling, there is no particular difficulty in extracting boundary regions of a certain size or larger.

[0093] When IG>6, the boundary detection algorithm performs almost identically to applying a single downsampling by specifying the size of the boundary cluster as a threshold. Here, IG indicates the size of the boundary region. That is, the boundary detection algorithm can search for all necessary frontier points at a rough level by considering only clusters for a reasonable size boundary region.

[0094] Here, if IG>6, the boundary detection algorithm refers to a cluster with a cell size greater than 6, which means a 0.3m area when the map resolution is set to 0.05m. Here, 0.3m is the size of a typical household cleaning robot like Turtlebot, and IG=12 is the size of a warehouse robot like Fetch Robot. Therefore, the boundary detection algorithm using a single downsampled occupancy grid map can find all boundary areas of a Turtlebot-sized robot.

[0095] FIG. 8 is a graph illustrating the performance of a parallel path algorithm according to one embodiment of the present invention.

[0096] The graph shown in Figure 8 illustrates the improvement in relative runtime due to thread planning based on the parallel path algorithm. Here, the parallel path algorithm can simultaneously search for a movement path corresponding to each of a plurality of destination points based on the current position of the mobile robot within the boundary area. The parallel path algorithm can simultaneously search for a movement path corresponding to each of a plurality of destination points in parallel so as to satisfy the branching condition and boundary condition for the boundary area.

[0097] Referring to the first graph 810 shown in FIG. 8, legend 1(-) indicates the results of searching for a travel path using a single thread without using a filter (hereinafter referred to as Search (1)). The w / o Filter shown on the graph is an abbreviation for without-out Filter, meaning that no filter is used.

[0098] JPEG2025534164000006.jpg12165 The w / o BB shown on the graph is an abbreviation for without-out Branch and Bound, meaning that branch and boundary conditions are not applied.

[0099] JPEG2025534164000007.jpg12165

[0100] Here, Search (3) to which the autonomous exploration method of the present invention is applied is confirmed to be approximately twice as fast as Search (2). For example, if 20 threads are running, the autonomous exploration method can perform a search approximately 30 times faster than Search (2).

[0101] Referring to the second graph 820 shown in FIG. 8, the autonomous exploration method results show the relative runtime improvement over a single thread plan based on the front grid map.

[0102] Meanwhile, the method according to the present invention can be implemented in a variety of recording media, such as a magnetic storage medium, an optically readable medium, or a digital storage medium, by being written in a program executed by a computer.

[0103] Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or computer hardware, firmware, software, or combinations thereof. Implementations may also be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, such as a machine-readable storage device or radio signal, for processing by or controlling the operation of a data processing device, e.g., a programmable processor, computer, or multiple computers. Computer programs, such as those described above, may be written in any form of programming language, including compiled or interleaved languages, and may be deployed in any form, including as a stand-alone program or as modules, components, subroutines, or other units suitable for use in a computing environment. Computer programs may be deployed to be processed on one computer or multiple computers at one site, or distributed across multiple sites and interconnected by a communications network.

[0104] Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from a read-only memory or a random-access memory, or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will include one or more mass storage devices, such as magnetic, magneto-optical, or optical disks, for storing data, and may be coupled to receive data from, transmit data to, or both. Suitable information carriers for embodying computer program instructions and data include, by way of example, semiconductor memory devices, magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), magneto-optical media such as floptical disks, read-only memory (ROM), random access memory (RAM), flash memory, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), etc. The processor and memory may be supplemented by or included in special purpose logic circuitry.

[0105] Furthermore, the computer-readable recording medium may be any available medium that can be accessed by a computer and may include all of computer storage media and transmission media.

[0106] Although the specification contains details of several specific embodiments, this should not be construed as limiting the scope of any invention or claimable therein, but rather as a description of features specific to particular embodiments of a particular invention. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, while features may operate in particular combinations and be depicted as initially claimed, one or more features from a claimed combination may, in some cases, be excluded from that combination, and the claimed combination may be modified into a subcombination or a variation of that subcombination.

[0107] Similarly, although acts are depicted in the figures in a particular order, this should not be understood as implying that such acts must be performed in the particular order or sequential order shown to obtain preferred results, or that all of the depicted acts must be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of various apparatus components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and apparatus are typically integrated together in a single software product or packaged in multiple software products.

[0108] Meanwhile, the embodiments of the present invention disclosed in this specification and the drawings are merely specific examples presented to facilitate understanding and are not intended to limit the scope of the present invention. It will be obvious to those skilled in the art to which the present invention pertains that other modifications based on the technical concept of the present invention can be implemented in addition to the embodiments disclosed in this specification.

Claims

1. generating an occupancy grid map for the target space in which the unknown regions exist; extracting a plurality of frontier points for exploration of the unknown region on the occupancy grid map using a boundary detection algorithm; removing spurious points corresponding to outliers from the extracted frontier points; determining an optimal frontier point from among the frontier points from which the spurious points have been removed using a parallel path algorithm; An autonomous exploration method comprising:

2. The step of extracting a plurality of frontier points comprises: downsampling an occupancy grid map obtained by scanning the target space based on the starting position of the mobile robot; applying the boundary detection algorithm to the downsampled occupancy grid map to identify boundary cells in the downsampled occupancy grid map; determining whether the boundary cell is a frontier point according to whether the boundary cell is occupied by adjacent cells; The autonomous exploration method of claim 1 , comprising:

3. The step of removing the spurious points comprises: calculating a cost map score indicating the probability of an obstacle being present in a surrounding patch for each of the plurality of frontier points; determining and removing frontier points whose calculated cost map scores are greater than a predetermined threshold as spurious points; The autonomous exploration method of claim 1 , comprising:

4. The step of removing the spurious points comprises: performing boundary filtering to extract surrounding patches for each of the plurality of frontier points; removing spurious points based on boundary measurements for the extracted surrounding patches via the boundary filtering; The autonomous exploration method of claim 1 , comprising:

5. The autonomous exploration method of claim 4 , wherein the boundary measurement for the peripheral patch is determined using a total number of cells contained in the peripheral patch and a number of unknown cells within the peripheral patch.

6. The step of determining the optimal frontier points comprises: searching in parallel and simultaneously for movement paths corresponding to the frontier points from which spurious points have been removed based on the current position of the mobile robot through a parallel path algorithm; a step of comparing the route distances of the parallel and simultaneously searched travel routes and determining the frontier point corresponding to the shortest route distance as the optimal frontier point; The autonomous exploration method of claim 1 , comprising:

7. The searching step includes: Considering branching conditions and boundary conditions for the frontier points from which the spurious points have been removed, simultaneously search for movement paths corresponding to the plurality of frontier points in parallel; the branch condition is a starting element for executing a plurality of threads; The autonomous exploration method according to claim 6 , wherein the boundary condition is an end element for searching a travel path.

8. exploring an unknown region of the object space via a mobile robot using the optimal frontier points; a step of displaying on the occupancy grid map a search trajectory of the unknown region of the target space searched by the mobile robot; The autonomous exploration method of claim 1 , further comprising:

9. 1. A computing device comprising: one or more processors; a memory for loading and storing programs to be executed by said processor; The program 1. A computing device comprising instructions for performing operations of: generating an occupancy grid map for a target space in which an unknown region exists; extracting a plurality of frontier points for exploration of the unknown region on the occupancy grid map using a boundary detection algorithm; removing spurious points corresponding to outliers from the extracted plurality of frontier points; and determining an optimal frontier point from the frontier points from which the spurious points have been removed using a parallel path algorithm.

10. 10. The computing device of claim 9, wherein the processor extracts a plurality of frontier points by downsampling an occupancy grid map obtained by scanning a target space based on a starting position of a mobile robot, applying the boundary detection algorithm to the downsampled occupancy grid map to identify boundary cells in the downsampled occupancy grid map, and determining whether a corresponding boundary cell is a frontier point depending on whether adjacent cells of the boundary cell are occupied.

11. 10. The computing device of claim 9, wherein the processor calculates a cost map score indicating a probability that an obstacle exists in a surrounding patch for each of the plurality of frontier points, and determines and removes frontier points whose calculated cost map score is greater than a predetermined threshold as spurious points.

12. 10. The computing device of claim 9, wherein the processor performs boundary filtering to extract surrounding patches for each of the plurality of frontier points, and removes spurious points based on boundary measurements for the surrounding patches extracted through the boundary filtering.

13. The computing device of claim 12 , wherein the boundary measurement for the peripheral patch is determined using a total number of cells contained in the peripheral patch and a number of unknown cells within the peripheral patch.

14. 10. The computing device of claim 9, wherein the processor simultaneously searches for movement paths corresponding to each of the frontier points from which spurious points have been removed based on the current position of the mobile robot using a parallel path algorithm, compares the path distances of each of the movement paths simultaneously searched in parallel, and determines the frontier point corresponding to the shortest path distance as the optimal frontier point.

15. the processor considers branching conditions and boundary conditions for the frontier points from which the spurious points have been removed, and simultaneously searches for movement paths corresponding to the plurality of frontier points in parallel; The computing device of claim 14 , wherein the branching condition is a start element for executing multiple threads, and the boundary condition is an end element for searching for a travel path.

16. 10. The computing device of claim 9, wherein the processor explores an unknown region of the object space via a mobile robot using the optimal frontier points and displays the optimal frontier points on the occupancy grid map as an exploration trajectory for the unknown region of the object space explored by the mobile robot.

Citation Information

Patent Citations

  • Cliff detection method and device and robot

    CN112561941A

  • Route search system, route search method, and autonomous moving body

    JP2009019932A