Method and device for robot autonomous exploration mapping

CN120991828BActive Publication Date: 2026-10-20GUANGZHOU ON BRIGHT ELECTRONICS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511115497.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-08
Publication Date
2026-10-20
Estimated Expiration
2045-08-08

AI Technical Summary

Technical Problem

传统的机器人建图方法的探索效果和效率易受环境影响

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120991828B_ABST
    Figure CN120991828B_ABST
Patent Text Reader

Abstract

Disclosed are a method and device for robot autonomous exploration mapping. The method comprises: updating map information of a current scene based on a plurality of sets of detection data obtained by a sensor arranged on a robot body detecting the current scene, the map information of the current scene being used to indicate states of each position point in the current scene as having been detected or not having been detected; finding one or more to-be-explored points in the current scene from the position points in the current scene whose states are having been detected based on the map information of the current scene; for any one target exploration point in the one or more to-be-explored points, driving the robot body to the target exploration point, and updating the map information of the current scene based on a plurality of sets of detection data obtained by the sensor detecting the current scene in the process of the robot body going to the target exploration point; and generating a map of the current scene based on the map information of the current scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotics, and more particularly to a method and apparatus for autonomous exploration and mapping by a robot. Background Technology

[0002] With the development of technology, the application of robotics is becoming increasingly widespread. Among the many key technologies of robotics, mapping technology is particularly important, serving as the foundation for robots to achieve autonomous navigation and task execution. However, the exploration effectiveness and efficiency of traditional robot mapping methods are easily affected by the environment. Summary of the Invention

[0003] According to an embodiment of the present invention, a method for autonomous exploration and mapping of a robot includes: updating the map information of the current scene based on multiple sets of detection data obtained by sensors on the robot body detecting the current scene, wherein the map information of the current scene is used to indicate whether each location point in the current scene is detected or undetected; identifying one or more points to be explored among the location points in the current scene that are detected based on the map information of the current scene; driving the robot body to the target exploration point for any one of the one or more target exploration points, and updating the map information of the current scene based on multiple sets of detection data obtained by sensors detecting the current scene during the robot body's journey to the target exploration point; and generating a map of the current scene based on the map information of the current scene.

[0004] An apparatus for autonomous exploration and mapping of a robot according to an embodiment of the present invention includes: a processor; and a memory storing computer-executable instructions thereon, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform the above-described method for autonomous exploration and mapping of a robot.

[0005] According to an embodiment of the present invention, a computer-readable storage medium stores computer-executable instructions thereon, wherein, when executed by a processor, these computer-executable instructions cause the processor to perform the above-described method for autonomous exploration and mapping of a robot.

[0006] The computer program product according to an embodiment of the present invention includes computer-executable instructions, wherein, when executed by a processor, these computer-executable instructions cause the processor to perform the above-described method for autonomous exploration and mapping of a robot. Attached Figure Description

[0007] The invention can be better understood from the following description of specific embodiments of the invention in conjunction with the accompanying drawings, wherein:

[0008] Figure 1 A flowchart illustrating a method for autonomous exploration and mapping by a robot according to an embodiment of the present invention is shown.

[0009] Figure 2 An example schematic diagram of the location point of the current scene according to an embodiment of the present invention is shown.

[0010] Figure 3 A schematic diagram illustrating a local example related to exploring boundary clusters according to an embodiment of the present invention is shown.

[0011] Figure 4 An example flowchart of a method for autonomous exploration and mapping by a robot according to an embodiment of the present invention is shown.

[0012] Figure 5 A schematic diagram of a computer system is shown, which can realize a method and apparatus for autonomous exploration and mapping of robots according to embodiments of the present invention. Detailed Implementation

[0013] The features and exemplary embodiments of various aspects of the present invention will now be described in detail. Numerous specific details are set forth in the following detailed description to provide a thorough understanding of the invention. However, it will be apparent to those skilled in the art that the invention may be practiced without requiring some of these specific details. The following description of embodiments is merely intended to provide a better understanding of the invention by illustrating examples of the invention. The invention is by no means limited to any specific configurations and algorithms presented below, but covers any modifications, substitutions, and improvements to elements, components, and algorithms without departing from the spirit of the invention. Well-known structures and techniques are not shown in the drawings and the following description in order to avoid unnecessarily obscuring the invention.

[0014] Existing robot mapping methods do not consider surrounding environmental factors when generating new exploration points. If the environment is complex, the generated exploration points may be located in areas that the robot cannot actually reach, which affects the robot's exploration effect and efficiency.

[0015] In view of the above problems, a method and apparatus for autonomous exploration and mapping of robots according to embodiments of the present invention are proposed. The method updates the map information of the current scene by using multiple sets of detection data, determines the point to be explored among the location points in the state of being detected, and further determines the target exploration point, ensuring that the robot body can go to the target exploration point to conduct scene exploration, thereby improving the robot's exploration efficiency.

[0016] Figure 1 A flowchart illustrating a robot autonomous exploration and mapping method 100 according to an embodiment of the present invention is shown. Figure 1As shown, a robot autonomous exploration and mapping method 100 according to an embodiment of the present invention includes: S101: updating the map information of the current scene based on multiple sets of detection data obtained by sensors on the robot body detecting the current scene, wherein the map information of the current scene is used to indicate whether the status of each location point in the current scene is detected or undetected; S102: finding one or more points to be explored among the location points in the current scene whose status is detected based on the map information of the current scene; S103: driving the robot body to the target exploration point for any one of the one or more target exploration points, and updating the map information of the current scene based on multiple sets of detection data obtained by sensors detecting the current scene during the robot body's journey to the target exploration point; and S104: generating a map of the current scene based on the map information of the current scene.

[0017] The method according to this embodiment can be applied to a mobile robot body, which can be driven to move from one location point to another as needed. Sensors mounted on the robot body follow the robot body's movement. Sensors (e.g., lidar sensors, image sensors) are used to detect the current scene in which the robot body is located and obtain detection data. Taking a lidar sensor as an example, the lidar sensor emits a laser beam. When the laser beam hits an obstacle and returns, the distance between the sensor and the obstacle can be calculated. The detection data includes this distance and the corresponding direction of the laser beam.

[0018] In the method according to this embodiment, the current scene typically includes multiple location points. The state of the location points covered by the detection data can be updated to "detected," while the state of the remaining location points remains "undetected." In some embodiments, a two-dimensional map of the current scene where the robot body is located can be generated. The two-dimensional map can be mapped to each location point in the current scene in a grid format. In some embodiments, the method may further include: initializing the state of each location point in the current scene to "undetected." As the method of this embodiment is performed, the state of the corresponding location points in the current scene can be updated to "detected."

[0019] In some embodiments, updating the map information of the current scene may include: determining the obstacle location point in the current scene corresponding to each set of detection data based on each set of detection data in multiple sets of detection data, recording the location point between the robot body's location point and the obstacle location point in the current scene as a spatial location point, and updating the status of the obstacle location point and the spatial location point to "detected". Figure 2 An example schematic diagram of the current scene location points according to an embodiment of the present invention is shown. Figure 2As shown, based on the detection data from the LiDAR sensor, the location of the obstacle hit by the laser is determined as the obstacle location point (illustrated as "hit"). The location point between the obstacle location point and the robot's location (i.e., the location of the LiDAR sensor) is the spatial location point (illustrated as "miss"). Location points not covered by detection data are in the state of "undetected" (illustrated as "unknown"), including two situations: not within the sensor's current detection range and unable to be detected due to obstacles. The robot can be driven to move to adjust the sensor's detection range, thereby detecting and updating the status of previously undetected location points.

[0020] like Figure 2 As shown, in some embodiments, finding one or more points to be explored among the location points in the current scene that are in the state of being explored may include: denoteing each spatial location point in the current scene whose state of at least one of its adjacent location points is unexplored as an exploration boundary point (shown as border in the figure); clustering all exploration boundary points in the current scene to obtain one or more exploration boundary clusters; for each exploration boundary cluster in the one or more exploration boundary clusters, determining a cluster center based on the exploration boundary points corresponding to the exploration boundary cluster, and determining a point to be explored corresponding to the exploration boundary cluster among all spatial location points in the current scene based on the cluster center.

[0021] In some embodiments, the method may further include: before clustering all exploration boundary points in the current scene to obtain one or more exploration boundary clusters, filtering all exploration boundary points in the current scene using a radius outlier filtering algorithm. Specifically, for each exploration boundary point, with the exploration boundary point as the center and a specified search radius as the counting range, if the number of adjacent exploration boundary points within the counting range is less than a preset number, then the exploration boundary point is determined to be an outlier and filtered out. For example, if the specified search radius is 0.8 meters and the preset number is 2, if an exploration boundary point has fewer than 2 adjacent exploration boundary points within a circle with a radius of 0.8 meters, then the exploration boundary point is considered an outlier with no exploration value.

[0022] In some embodiments, clustering all exploration boundary points in the current scene to obtain one or more exploration boundary clusters may include the following steps:

[0023] (1) Select an exploration boundary point that does not belong to any exploration boundary cluster as the cluster center according to the preset order. The preset order can be from right to left and then from top to bottom, or other orders. There is no restriction here. For example, the index number of each exploration boundary point can be calculated as index = x + y * width, where x and y are the grid numbers corresponding to the horizontal and vertical coordinates of the exploration boundary point, respectively, and the values ​​are positive integers. width is an integer coefficient greater than 1. At this time, the preset order can be set to the index number from small to large.

[0024] (2) Based on clustering, search for exploration boundary points that do not belong to any exploration boundary cluster, calculate their distance from the cluster center, and when it is less than the preset minimum distance (for example, the minimum passing distance of the robot, the minimum passing distance of a robot with a diameter of 0.5 meters is generally 0.7 meters),

[0025] It was assigned to the exploration boundary cluster;

[0026] (3) Calculate the mean of all exploration boundary points in the exploration boundary cluster and use it as the new cluster center;

[0027] (4) Repeat (2) and (3) until no new exploration boundary points are assigned to the exploration boundary cluster or the number of exploration boundary points in the exploration boundary cluster reaches the maximum value, at which point the exploration boundary cluster ends. This maximum value can be determined based on the exploration boundary length and the grid resolution of the two-dimensional map. For example, if the exploration boundary length is 2.0 meters and the grid resolution is 0.05, the maximum value is 2.0 / 0.05 = 40.

[0028] (5) Execute (1) to create a new cluster until all exploration boundary points are assigned to the corresponding exploration boundary clusters.

[0029] In the method according to this embodiment, the location points in the detected state, especially spatial location points (miss), are those that the robot body should be able to reach. The state of the cluster center is uncertain; it may be detected (i.e., a spatial location point or an obstacle location point) or undetected. Therefore, the cluster center cannot be directly used as a point to be explored that the robot body can reach. To ensure that the robot body can reach the point to be explored, a point to be explored can be found among the location points in the detected state based on the cluster center. For example, the location point in the detected state that is closest to the cluster center can be used as the point to be explored, or the location point in the detected state that is near the cluster center and is most convenient for exploring the exploration boundary cluster of the cluster center can be used as the point to be explored.

[0030] Figure 3 A schematic diagram illustrating a local example related to exploring boundary clusters according to an embodiment of the present invention is shown. Figure 3As shown, in some embodiments, determining a point to be explored corresponding to the exploration boundary cluster among all spatial locations in the current scene based on the cluster center may include: determining a fitted line corresponding to the exploration boundary point of the exploration boundary cluster based on the least squares method; determining a point to be explored among all spatial locations in the current scene based on the fitted line and the cluster center, wherein the connecting line segment between the point to be explored and the cluster center is perpendicular to the fitted line and the length of the connecting line segment is a preset value.

[0031] like Figure 3 As shown, in some embodiments, when the robot body is located at the target exploration point, multiple sets of detection data can be obtained by sensors detecting the current scene in the target exploration direction, where the target exploration direction is the direction from the target exploration point to the corresponding cluster center.

[0032] like Figure 3 As shown, in some embodiments, it is assumed that the exploration boundary cluster corresponds to n exploration boundary points with coordinates (x1, y1), (x2, y2)...(x...). n ,y n The fitted line is represented as y = ax + b, and the predicted value of the fitted line is... The error with each exploration boundary point is The sum of squared errors can be expressed as:

[0033]

[0034] Furthermore, a and b can be obtained by minimizing the sum of squared errors. Specifically, by taking the partial derivatives of a and b with respect to S and setting them equal to zero, we can obtain:

[0035]

[0036] If the fitted line is perpendicular to the line segment connecting the point to be explored and the cluster center, then the heading angle corresponding to the connecting line segment is... Two heading angles that differ by 180° are obtained.

[0037] Based on this exploration of the boundary cluster's cluster center (x c ,y c Candidate exploration points (x) are obtained according to the following formula. z ,y z ):

[0038] x z =x c +rcos(θ+π);

[0039] y z =y c +rsin(θ+π);

[0040] Where r is the robot radius, and since there are two heading angles, two candidate exploration points are obtained, one of which is in the detected state (illustrated as a valid exploration point) and the other is in the undetected state (illustrated as an invalid exploration point). The candidate exploration point in the detected state is taken as the unexplored point of this exploration boundary cluster. When the unexplored point is the target exploration point, its corresponding heading angle is the target exploration direction, so as to make the sensor detection more efficient.

[0041] In the method according to this embodiment, a target exploration point is determined from one or more identified points to be explored. The point to be explored closest to the robot body can be selected as the target exploration point, or the point to be explored farthest from the robot body can be selected, or a point to be explored can be randomly selected as the target exploration point. Alternatively, a shortest path algorithm (e.g., Dijkstra's algorithm) can be used to select the point to be explored with the shortest path from all the points to be explored as the target exploration point.

[0042] In the method according to this embodiment, as the robot body is driven to the target exploration point, the sensors continuously detect the current scene to obtain corresponding detection data. The map information of the current scene can be continuously updated, and the information of the point to be explored can also be continuously updated. If the updated map information indicates that the exploration value of the target exploration point has been obtained, the robot body can no longer be driven to the current target exploration point. Instead, the target exploration point can be switched to another of one or more points to be explored, and the robot body can be driven to the switched target exploration point.

[0043] In some embodiments, driving the robot body to the target exploration point may further include: after the state of all position points within the detectable range corresponding to the target exploration point has been updated to detected, updating the target exploration point to another of one or more points to be explored. Here, the detectable range can be set according to actual conditions. For example, the detectable range may be the cluster center corresponding to the target exploration point, all exploration boundary points in the exploration boundary cluster corresponding to the target exploration point, or exploration boundary points within a preset radius circle of the cluster center corresponding to the target exploration point. Further, when all position points within the detectable range corresponding to the target exploration point are recorded as obstacle position points (hit) or non-exploration boundary points (border), the state of all position points within the detectable range corresponding to the target exploration point can be considered updated to detected.

[0044] In some embodiments, driving the robot body to the target exploration point may further include: updating the target exploration point to another of one or more exploration points if there is an obstacle in the current scene that prevents the robot body from going to the target exploration point.

[0045] In the method according to this embodiment, relevant information about the point to be explored can be recorded in the form of a list, including the location coordinates of the point, whether exploration has been completed, and the number of times the point has been explored. Specifically, the point is considered to have been explored and is no longer considered a point to be explored if the robot body reaches the point or if the status of all points within the detectable range of the point is updated to "detected"; otherwise, exploration is not completed. The number of times the point to be explored refers to the number of times the point has been used as the current target exploration point. The list changes as the target exploration points are updated and can be used as a basis for determining the next target exploration point.

[0046] Figure 4 A schematic flowchart illustrating an example of a robot autonomous exploration and mapping method 400 according to an embodiment of the present invention is shown. Figure 4 As shown, in some embodiments, the control process of the robot autonomous exploration mapping method 400 includes:

[0047] S401: The robot starts at its initial position and rotates 360 degrees around itself. Using a LiDAR sensor, it quickly scans the surrounding environment to generate an initial map and map information. Based on the initial map and map information, it quickly identifies points to be explored around the initial position. A list of points to be explored is used to record their coordinates and the number of exploration attempts. The robot's pose at the initial position is also recorded.

[0048] S402: Use Dijkstra's algorithm to find the shortest path to the point to be explored in the list of points to be explored as the target exploration point, and drive the robot body to start from the current position and navigate to the target exploration point.

[0049] S403: During navigation, map information is continuously updated. When the status of a location point within the detectable range of the target exploration point changes to "detected", the current exploration point is moved from the unexplored list to the explored list, and S402 is repeated.

[0050] S404: If there are obstacles in the current scene that prevent the robot from reaching the target exploration point, move the current target exploration point to the repeat exploration list and increase the exploration count by one, repeating S402.

[0051] S405: When the list to be explored is empty, restore the points to be explored that have been explored less than 3 times in the repeated exploration list to the list to be explored, and repeat S402.

[0052] S406: When the repeatable exploration list is empty or all the points to be explored have been explored at least 3 times, the exploration is complete, the map is generated and output, and the navigation returns to the initial position.

[0053] In the method according to this embodiment, the boundary obtained through an adaptive clustering algorithm has high uniformity. Simultaneously, the points to be explored generated based on this uniform boundary accurately fall within the known space, effectively avoiding the problem in traditional exploration where points fall into unknown or unreachable areas due to blurred boundaries or misjudgments, significantly reducing ineffective exploration. This approach ensures the rationality of spatial division through uniform boundaries and improves the targeting and efficiency of exploration by leveraging the layout of points to be explored within the known space, significantly optimizing the execution effect of spatial exploration tasks. By dynamically monitoring the status of points to be explored, the exploration completion status of each point can be updated in real time and quickly; points that are temporarily unreachable are specifically recorded and postponed for re-exploration, achieving a reasonable prioritization of exploration and reducing time loss caused by ineffective attempts at temporarily unreachable locations.

[0054] Figure 5 A schematic diagram of a computer system is shown, which can realize the method and apparatus for autonomous exploration and mapping of a robot according to embodiments of the present invention. It should be understood that... Figure 5 The computer system 500 shown is merely an example and should not be construed as limiting the functionality and scope of use of the method and apparatus for autonomous exploration and mapping of robots according to embodiments of the present invention.

[0055] like Figure 5 As shown, the computer system 500 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the computer system 500. The processing device 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0056] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, cameras, accelerometers, gyroscopes, sensors, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, motors, electronic speed controllers, etc.; storage devices 508 including, for example, flash cards; and communication devices 509. Communication device 509 allows computer system 500 to communicate wirelessly or wiredly with other devices to exchange data. Although... Figure 5A computer system 500 with various devices is shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have instead. Figure 5 Each box shown can represent a device or multiple devices as needed.

[0057] In particular, according to some embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer programs. For example, a computer-readable medium is provided having a computer program stored thereon, the computer program comprising methods for executing... Figure 1 The program code shown is for a method of autonomous exploration and mapping for a robot. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it implements the functional units defined in the apparatus for autonomous exploration and mapping of a robot according to an embodiment of the present invention.

[0058] It should be noted that the computer-readable medium according to embodiments of the present invention may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. The computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. The computer-readable storage medium according to embodiments of the present invention may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. Furthermore, the computer-readable signal medium according to embodiments of the present invention may include a data signal propagated in baseband or as part of a carrier wave, wherein computer-readable program code is carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (Radio Frequency), etc., or any suitable combination thereof.

[0059] Computer program code for performing operations according to embodiments of the present invention can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0060] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0061] This invention can be implemented in other specific forms without departing from its spirit and essential characteristics. For example, the algorithm described in a particular embodiment can be modified without departing from the basic spirit of the invention. Therefore, the present embodiments are to be regarded as exemplary rather than limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and all changes falling within the meaning and scope of the claims and their equivalents are thus included within the scope of the invention.

Claims

1. A method for autonomous exploration and mapping by a robot, comprising: Based on multiple sets of detection data obtained by sensors installed on the robot body to detect the current scene, the map information of the current scene is updated. The map information of the current scene is used to indicate whether each location point in the current scene has been detected or not detected. Based on the map information of the current scene, find one or more points to be explored among the location points in the current scene that are in the state of being detected; For any one of the one or more target exploration points, drive the robot body to the target exploration point, and update the map information of the current scene based on multiple sets of detection data obtained by the sensors during the robot body's journey to the target exploration point. And generate a map of the current scene based on the map information of the current scene. The process of updating the map information of the current scene includes: based on each set of detection data, determining the obstacle location point in the current scene corresponding to that set of detection data; recording the location point between the robot's main body and the obstacle location point in the current scene as a spatial location point; and updating the status of the obstacle location point and the spatial location point to "detected". Finding one or more points to be explored among the locations in the current scene that are in the detected state includes: Each spatial location point in the current scene whose state is undetected at least one of its adjacent locations is recorded as an exploration boundary point; Clustering all exploration boundary points in the current scene yields one or more exploration boundary clusters; For each of the one or more exploration boundary clusters, perform the following: Cluster centers are determined based on the exploration boundary points corresponding to the exploration boundary cluster, and fitted straight lines corresponding to the exploration boundary points of the exploration boundary cluster are determined based on the least squares method. The two heading angles of the connecting line segment between the point to be explored and the cluster center, perpendicular to the fitted line, are determined as follows: , t=0,1; Based on formula , Determine two candidate exploration points corresponding to the two heading angles, where ( ) represents the location of the cluster center, r is the robot radius, ( () indicates the location of the candidate exploration point; The candidate exploration point whose status is "explored" among the two candidate exploration points is taken as the exploration point to be explored corresponding to the exploration boundary cluster.

2. The method according to claim 1, further comprising: The state of each location point in the current scene is initialized to undetected.

3. The method according to claim 1, wherein, When the robot body is located at the target exploration point, the multiple sets of detection data are obtained by the sensor detecting the current scene in the target exploration direction, where the target exploration direction is the direction from the target exploration point to the corresponding cluster center.

4. The method according to claim 1, wherein, Also includes: Before clustering all exploration boundary points in the current scene to obtain one or more exploration boundary clusters, a radius outlier filtering algorithm is used to filter all exploration boundary points in the current scene.

5. The method according to claim 1, wherein, Driving the robot body to the target exploration point also includes: After the status of all locations within the detectable range corresponding to the target exploration point is updated to be detected, the target exploration point is updated to another of the one or more points to be explored.

6. The method according to claim 1, wherein, Driving the robot body to the target exploration point also includes: When there is an obstacle in the current scene that prevents the robot from reaching the target exploration point, the target exploration point is updated to another one of the one or more exploration points.

7. A device for autonomous exploration and mapping of robots, comprising: processor; as well as A memory having stored computer-executable instructions, wherein, when executed by the processor, the computer-executable instructions cause the processor to perform the method of autonomous exploration and mapping of a robot as described in any one of claims 1 to 6.

8. A computer-readable storage medium having stored thereon computer-executable instructions, wherein, When executed by a processor, the computer-executable instructions cause the processor to perform the method of autonomous exploration and mapping of a robot as described in any one of claims 1 to 6.

9. A computer program product comprising computer-executable instructions, wherein, When executed by a processor, the computer-executable instructions cause the processor to perform the method of autonomous exploration and mapping of a robot as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Indoor map building method for improving robot path planning efficiency

    CN104898660A

  • Multi-unmanned-system cooperative autonomous exploration method and device based on boundary guide points

    CN114384911A