Robot autonomous exploration mapping method and device
By updating map information and using adaptive clustering algorithms, the robot's autonomous exploration mapping method solves the problem of unreachable exploration points in complex environments, improving exploration efficiency and the performance of spatial tasks.
Patent Information
- Application Number
- CN202511115497.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-08
- Publication Date
- 2025-11-21
AI Technical Summary
Existing robot mapping methods may not be able to reach exploration points generated in complex environments, thus affecting exploration effectiveness and efficiency.
By updating map information based on multiple sets of detection data, the robot determines the points to be explored and drives the robot to the target exploration point. The robot uses sensors for continuous detection to generate a scene map and adopts an adaptive clustering algorithm to optimize the selection of the points to be explored and the path planning.
It improves the robot's exploration efficiency in complex environments, ensures that the points to be explored fall within the known space, reduces ineffective exploration behavior, and optimizes the performance of spatial tasks.
Smart Images

Figure CN120991828A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of robots, in particular to a method and device for robot autonomous exploration mapping. BACKGROUND
[0002] With the development of science and technology, the application of robot technology is more and more widely. Among the many key technologies of robots, mapping technology is particularly important and is the basis for robots to realize autonomous navigation and execute tasks. The exploration effect and efficiency of the traditional robot mapping method are easily affected by the environment. SUMMARY
[0003] According to the robot autonomous exploration mapping method of the embodiment of the present application, the method comprises: updating the map information of the current scene based on the multiple sets of detection data obtained by detecting the current scene based on the sensors arranged on the robot body, the map information of the current scene being used to indicate the state of each position point in the current scene as having been detected or not having been detected; finding one or more exploration points in the position points in the current scene whose state is having been detected based on the map information of the current scene; for any one target exploration point in the one or more exploration points, driving the robot body to the target exploration point, and updating the map information of the current scene based on the multiple sets of detection data obtained by detecting the current scene by the sensors during 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.
[0004] According to the robot autonomous exploration mapping device of the embodiment of the present application, the device comprises: a processor; and a memory having computer executable instructions stored thereon, wherein the computer executable instructions, when executed by the processor, cause the processor to execute the above-mentioned robot autonomous exploration mapping method.
[0005] According to the computer readable storage medium of the embodiment of the present application, the computer readable storage medium has computer executable instructions stored thereon, wherein the computer executable instructions, when executed by the processor, cause the processor to execute the above-mentioned robot autonomous exploration mapping method.
[0006] According to the computer program product of the embodiment of the present application, the computer program product comprises computer executable instructions, wherein the computer executable instructions, when executed by the processor, cause the processor to execute the above-mentioned robot autonomous exploration mapping method. BRIEF DESCRIPTION OF DRAWINGS
[0007] The present application can be better understood from the following description of specific embodiments thereof, given by way of example only and with reference to the accompanying drawings in which:
[0008] Figure 1 A flowchart of the method for robot autonomous exploration mapping according to the embodiment of the present application is shown.
[0009] Figure 2 An example schematic diagram of a position point of a current scene is shown according to an embodiment of the present application.
[0010] Figure 3 A local example schematic diagram related to exploration boundary cluster is shown according to an embodiment of the present application.
[0011] Figure 4 An example flow schematic diagram of a method of robot autonomous exploration mapping is shown according to an embodiment of the present application.
[0012] Figure 5 A schematic diagram of a computer system that can implement the method and device of robot autonomous exploration mapping according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0013] Features and exemplary embodiments of various aspects of the present application will be described below in detail. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one skilled in the art that the present application can be practiced without some or all of these specific details. The description of the embodiments is merely intended to provide a better understanding of the present application by showing examples of the present application. The present application is not in any way limited to any specific configuration and algorithm set forth below, but covers any modification, replacement and improvement of elements, components and algorithms without departing from the spirit of the present application. In the accompanying drawings and the following description, well-known structures and techniques are not shown in order to avoid unnecessary obscuring of the present application.
[0014] The existing robot mapping method does not consider the surrounding environment factors when generating a new exploration point. Once the on-site environment is relatively complex, the generated exploration point may be in an area that the robot cannot actually reach, resulting in the exploration effect and efficiency of the robot being affected.
[0015] In view of the above problems, the method and device of robot autonomous exploration mapping according to an embodiment of the present application are proposed, which updates the map information of the current scene through multiple sets of detection data, determines the to-be-explored point in the position point whose state is detected, and further determines the target exploration point, so as to ensure that the robot body can go to the target exploration point for scene detection, and improve the exploration efficiency of the robot.
[0016] Figure 1 A flow schematic diagram of the method 100 of robot autonomous exploration mapping according to an embodiment of the present application is shown. As shown in the figure, the method 100 of robot autonomous exploration mapping includes the following steps. 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 is shown according to an embodiment of the present invention. 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 a search boundary point not belonging to any search boundary cluster as a cluster center in a preset order, the preset order can be from right to left and then from top to bottom, or other order, which is not limited here, for example, the index number of each search boundary point can be calculated as index = x + y * width, where x and y are the horizontal and vertical coordinates of the search boundary point respectively, and are positive integers, and width is an integer coefficient greater than 1, at this time the preset order can be set as the index number from small to large;
[0024] (2) Search outwardly based on the cluster for a search boundary point not belonging to any search boundary cluster, and calculate the distance between the search boundary point and the cluster center, when the distance is less than a preset minimum distance (for example, the minimum passing distance of the robot, and the minimum passing distance of a robot with a diameter of 0.5 meters is generally 0.7 meters)
[0025] Assign it to the search boundary cluster;
[0026] (3) Calculate the mean value of all search boundary points in the search boundary cluster as a new cluster center;
[0027] (4) Repeat (2) and (3) until no new search boundary point is assigned to the search boundary cluster or the number of search boundary points in the search boundary cluster reaches a maximum value, and the search boundary cluster ends. The maximum value can be determined based on the length of the search boundary and the grid resolution of the two-dimensional map, for example, the length of the search boundary is 2.0 meters, the grid resolution is 0.05, and the maximum value is 2.0 / 0.05 = 40.
[0028] (5) Perform (1) to create a new cluster until all search boundary points are assigned to the corresponding search boundary cluster.
[0029] In the method according to the embodiment, the state of the position point, especially the spatial position point (miss), is that the robot body should be able to reach. The state of the cluster center is uncertain, which can be detected (i.e., a spatial position point or an obstacle position point) or not detected, so the cluster center cannot be directly used as a to-be-explored point that the robot body can reach. To ensure that the robot body can reach the to-be-explored point, a to-be-explored point can be found based on the cluster center in the position point with a detected state, for example, the nearest position point with a detected state to the cluster center is taken as a to-be-explored point, or the position point with a detected state near the cluster center is taken as a to-be-explored point which is most convenient to explore the search boundary cluster of the cluster center.
[0030] Figure 3 A local example diagram related to the search boundary cluster according to an embodiment of the application is shown. As shown in FIG. 1, the search boundary cluster is a cluster of search boundary points, and the cluster center is a search boundary point in the cluster. Figure 3In some embodiments, as shown, determining a to-be-explored point corresponding to the exploration boundary cluster among all spatial position points in the current scene based on the cluster center can include: determining a fitted straight line of the exploration boundary points corresponding to the exploration boundary cluster based on a least square method; determining a to-be-explored point among all spatial position points in the current scene based on the fitted straight line and the cluster center, the to-be-explored point being perpendicular to the fitted straight line with respect to a connecting line segment between the to-be-explored point and the cluster center, and the length of the connecting line segment being a preset value.
[0031] As shown in FIG. 1, in some embodiments, the robot 100 can include a robot body 110, a plurality of sensors 120, a processor 130, and a memory 140. Figure 3 In some embodiments, as shown, when the robot body is located at the target exploration point, the plurality of sets of detection data can be obtained by the sensors detecting the current scene in a target exploration direction, the target exploration direction being a direction in which the target exploration point points to the corresponding cluster center.
[0032] As shown in FIG. 2, in some embodiments, the robot 200 can include a robot body 210, a plurality of sensors 220, a processor 230, and a memory 240. Figure 3 In some embodiments, as shown, assuming that the exploration boundary cluster corresponds to n exploration boundary points with coordinates (x1, y1), (x2, y2),... (xn, yn) respectively, and the fitted straight line is represented as y = ax + b, the prediction value of the fitted straight line is n n , and the error of each exploration boundary point with respect to the fitted straight line is The error square sum can be represented as:
[0033]
[0034] Further, a and b can be obtained by minimizing the error square sum. Specifically, by taking the partial derivative of S with respect to a and b respectively and setting the partial derivatives equal to zero, the following can be obtained:
[0035]
[0036] The fitted straight line is perpendicular to a connecting line segment between the to-be-explored point and the cluster center, and thus the heading angle corresponding to the connecting line segment is Two heading angles that differ by 180° are obtained.
[0037] Based on the cluster center (x c , y c ) of the exploration boundary cluster, a candidate exploration point (x z , y z ) can be obtained according to the following formula:
[0038] x z = x c + r cos (θ + π) ;
[0039] y z = y c + r sin (θ + π) ;
[0040] wherein r is the radius of the robot, since there are two heading angles, two candidate exploration points are obtained, one of which is in the state of having been explored (illustrated as a valid exploration point), and the other is in the state of not having been explored (illustrated as an invalid exploration point), and the candidate exploration point in the state of having been explored is taken as the to-be-explored point of the exploration boundary cluster. When the to-be-explored point is the target exploration point, the corresponding heading angle is the target exploration direction, so that the exploration of the sensor is more efficient.
[0041] In the method according to the embodiment, the target exploration point is determined from the one or more to-be-explored points, and the to-be-explored point closest to the robot body can be selected as the target exploration point, or the to-be-explored point farthest from the robot body or a to-be-explored point selected at random can be selected as the target exploration point, or a shortest path algorithm (for example, the Dijkstra algorithm) can be used to select the to-be-explored point with the shortest path from all the to-be-explored points as the target exploration point.
[0042] In the method according to the embodiment, in the process of driving the robot body to the target exploration point, the sensor will continue to explore the current scene to obtain corresponding exploration data, the map information of the current scene can be continuously updated, and the information of the to-be-explored point 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, the target exploration point can be switched to another one of the one or more to-be-explored points, 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 can further include: after the states of all position points in a detectable range corresponding to the target exploration point are updated to having been explored, updating the target exploration point to another one of the one or more to-be-explored points. Here, the detectable range can be set according to actual conditions, for example, the detectable range can be the cluster center corresponding to the target exploration point, or 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 in the detectable range corresponding to the target exploration point are recorded as obstacle position points hit or non-exploration boundary points miss, it can be considered that the states of all position points in the detectable range corresponding to the target exploration point are updated to having been explored.
[0044] In some embodiments, driving the robot body to the target exploration point can further include: in the case where an obstacle in the current scene blocks the robot body from going to the target exploration point, updating the target exploration point to another one of the one or more to-be-explored points.
[0045] In the method according to the embodiment, the related information of the to-be-explored point can be recorded in the form of a list, including the position coordinates of the to-be-explored point, whether the exploration of the to-be-explored point is completed, the number of explorations of the to-be-explored point, and the like. In the case where the state of the robot body reaching the to-be-explored point or all the position points in the detectable range of the to-be-explored point is updated to be detected, it is considered that the exploration of the to-be-explored point is completed, and the to-be-explored point is no longer a to-be-explored point, otherwise the exploration is not completed. The number of explorations refers to the number of times of taking the to-be-explored point as the current target exploration point, the list changes with the update of the target exploration point, and can be used as a basis for determining the next target exploration point.
[0046] Figure 4 An example flowchart of the method 400 of autonomous exploration mapping of the robot according to the embodiment of the application is shown. As shown in the figure, in some embodiments, the control process of the method 400 of autonomous exploration mapping of the robot includes: Figure 4
[0047] S401: The robot is at an initial position, rotates 360 degrees around itself, quickly scans the surrounding environment with the help of a laser radar sensor, and generates an initial map and map information. According to the initial map and map information, find out the to-be-explored points around the initial position quickly, use a to-be-explored list to record the position coordinates and the number of explorations of the to-be-explored points, and record the robot pose of the initial position.
[0048] S402: Use the Dijkstra algorithm to find the to-be-explored point with the shortest path in the to-be-explored list 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: Update the map information during navigation, when the state of the position points in the detectable range of the target exploration point changes to be detected, move the current exploration point from the to-be-explored list to the explored list, and repeat S402.
[0050] S404: In the case where there is an obstacle in the current scene blocking the robot body from going to the target exploration point, move the current target exploration point to the repeated exploration list, and increase the number of explorations by one, and repeat S402.
[0051] S405: When the to-be-explored list is empty, restore the to-be-explored points with the number of explorations less than 3 times in the repeated exploration list to the to-be-explored list, and repeat S402.
[0052] S406: When the repeated exploration list is empty or the number of explorations of all the to-be-explored points in the repeated exploration list is not less than 3 times, the exploration is completed, a map is generated and output, and the navigation returns to the initial position.
[0053] In the method according to the embodiment, the boundary finally obtained through the adaptive clustering algorithm has high uniformity. Meanwhile, the to-be-explored points generated based on the uniform boundary are accurately located in the known space, effectively avoiding the problem that the to-be-explored points fall into the unknown or unreachable region due to the fuzzy or misjudged boundary in the traditional exploration, and greatly reducing the invalid exploration behavior. This way not only guarantees the rationality of the space division through the uniform boundary, but also improves the pertinence and efficiency of the exploration with the help of the to-be-explored point layout in the known space, significantly optimizing the execution effect of the space exploration task. Through dynamic monitoring of the state of the to-be-explored points, the exploration completion of each to-be-explored point can be updated in real time and quickly; the to-be-explored points that cannot be reached temporarily are specially recorded and re-explored at the end, realizing the reasonable ordering of the exploration priority and reducing the time loss caused by invalid attempts to reach the position points temporarily unreachable.
[0054] Figure 5 A schematic diagram of a computer system that can implement the method and device for robot autonomous exploration mapping according to the embodiments of the present application is shown. It should be understood that, Figure 5 The computer system 500 shown is only one example of a computer system that can implement the method and device for robot autonomous exploration mapping according to the embodiments of the present application, and should not be construed as limiting the function and scope of use of the method and device for robot autonomous exploration mapping according to the embodiments of the present application.
[0055] As Figure 5 shown, the computer system 500 can include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 501 that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 502 or loaded from a storage device 508 into a random access memory (RAM) 503. Various programs and data required for the operation of the computer system 500 are also stored in the RAM 503. The processing device 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0056] Generally, the following devices can be connected to the I / O interface 505: an input device 506 including, for example, a touch screen, a touchpad, a camera, an accelerometer, a gyroscope, a sensor, etc.; an output device 507 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, a motor, an electronic speed controller, etc.; a storage device 508 including, for example, a flash card, etc.; and a communication device 509. The communication device 509 can allow the computer system 500 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 5The computer system 500 is shown with a variety of devices coupled to the bus 505, but it is understood that any or all of the devices can be optional. More or fewer devices can alternatively be implemented. Figure 5 Each block denoted in the flowcharts can represent a device, or a plurality of devices, as desired.
[0057] In particular, the processes described above with reference to the flowcharts can be implemented as a computer program according to some embodiments of the present application. For example, a computer readable medium is provided, having stored thereon a computer program comprising instructions for performing the above described functions in the device for robot autonomous exploration mapping according to embodiments of the present application. Figure 1 The program code shown is for a method for robot autonomous exploration mapping. In such an embodiment, the computer program can be downloaded and installed from the network via the communication device 509, or installed from the storage device 508, or installed from the ROM 502. When the computer program is executed by the processing device 501, the above described functional units defined in the device for robot autonomous exploration mapping according to embodiments of the present application are implemented.
[0058] It is noted that the computer readable medium according to embodiments of the present application can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. The computer readable storage medium according to embodiments of the present application can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus, or device. In addition, the computer readable signal medium according to embodiments of the present application can include a computer readable program code propagated on or through a carrier wave, in baseband or passed as part of a carrier wave. Such a propagated computer readable signal medium can take many forms, including but not limited to, electro-magnetic, optical, or any suitable combination thereof. Computer readable signal medium can be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code contained in the computer readable medium can be transmitted by any suitable medium, including but not limited to, wire, cable, RF, and any suitable combination thereof.
[0059] Computer program code for carrying out operations of embodiments of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0060] The computer program instructions can also be loaded onto a computer or other programmable information processing apparatus to cause a series of operations to be performed on the computer or other programmable information processing apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable information processing apparatus implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0061] The present application can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. For example, the algorithms described in the specific embodiments can be modified without departing from the essential spirit of the application. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.
Claims
1. A method for robot autonomous exploration mapping, comprising: 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 detected or undetected; finding one or more to-be-explored points in the current scene based on the map information of the current scene, the one or more to-be-explored points being in the current scene and having a detected state; 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 during the robot body going to the target exploration point; generating a map of the current scene based on the map information of the current scene.
2. The method of claim 1, further comprising: initializing the state of each position point in the current scene as undetected.
3. The method of claim 1, wherein, updating the map information of the current scene comprises: based on each set of detection data in the plurality of sets of detection data, determining an obstacle position point in the current scene corresponding to the set of detection data, recording position points between the robot body and the obstacle position point in the current scene as space position points, and updating the states of the obstacle position point and the space position points as detected.
4. The method of claim 3, wherein, finding the one or more to-be-explored points in the current scene having the detected state comprises: recording each space position point in the current scene having a state of at least one adjacent position point as an exploration boundary point; 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 exploration boundary points corresponding to the exploration boundary cluster, and determining a to-be-explored point corresponding to the exploration boundary cluster among all space position points in the current scene based on the cluster center.
5. The method of claim 4, wherein, determining the to-be-explored point corresponding to the exploration boundary cluster among all space position points in the current scene based on the cluster center comprises: determining a fitting straight line of the exploration boundary points corresponding to the exploration boundary cluster based on a least square method; determining a to-be-explored point among all space position points in the current scene based on the fitting straight line and the cluster center, a connection line segment between the to-be-explored point and the cluster center being perpendicular to the fitting straight line and a length of the connection line segment being a preset value.
6. The method of claim 5, wherein, when the robot body is located at the target exploration point, the plurality of sets of detection data are obtained by the sensor detecting the current scene in a target exploration direction, the target exploration direction being a direction of the target exploration point pointing to the corresponding cluster center.
7. The method of claim 4, wherein, further comprising: 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 by a radius outlier filtering algorithm.
8. The method of claim 1, wherein, driving the robot body to the target exploration point further comprises: After states of all position points in the detectable range corresponding to the target exploration point are updated to be detected, the target exploration point is updated to another one of the one or more to-be-explored points.
9. The method of claim 1, wherein, Driving the robot body to the target exploration point further includes: When the current scene has an obstacle blocking the robot body from going to the target exploration point, updating the target exploration point to another one of the one or more to-be-explored points.
10. An apparatus for robot autonomous exploration and mapping, comprising: a processor; and a memory having computer executable instructions stored thereon, wherein the computer executable instructions, when executed by the processor, cause the processor to perform the method for robot autonomous exploration and mapping of any one of claims 1 to 9.
11. A computer-readable storage medium having stored thereon computer- executable instructions, wherein, The computer executable instructions, when executed by the processor, cause the processor to perform the method for robot autonomous exploration and mapping of any one of claims 1 to 9.
12. A computer program product comprising computer-executable instructions, wherein, The computer executable instructions, when executed by the processor, cause the processor to perform the method for robot autonomous exploration and mapping of any one of claims 1 to 9.
Citation Information
Patent Citations
Indoor map building method for improving robot path planning efficiency
CN104898660A
Boundary exploration autonomous mapping method based on curve fitting and target point neighborhood planning
CN110531760A
Multi-unmanned-system cooperative autonomous exploration method and device based on boundary guide points
CN114384911A
Boundary exploration method based on hierarchical structure
CN118330671A
Road scene point cloud identification method and system suitable for inspection robot
CN118887641A