Robot closed-loop optimization method and device and robot

By filtering and matching point cloud data with specific markers, the problem of high computational overhead in closed-loop optimization algorithms under ultra-large scenarios is solved, achieving efficient and fast positioning accuracy and real-time performance, and shortening the solution time.

CN121018533APending Publication Date: 2025-11-28BEIJING INDEMIND TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511152622.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-18
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

When facing ultra-large-scale scenarios, existing technologies suffer from high computational overhead in closed-loop optimization algorithms, making it difficult to achieve efficient and fast closed-loop solutions, and real-time performance and computational efficiency cannot be guaranteed.

Method used

By acquiring real-time robot positioning information, filtering and matching historical point cloud data with specific markers, calculating matching scores using the intensity values ​​of the point cloud data, narrowing down the range to be matched, and further performing matching within the accuracy range of the optimal matching result to obtain the final matching result, which is then passed to the solution module for closed-loop optimization.

Benefits of technology

In ultra-large scenarios, it improves positioning accuracy and real-time performance, and shortens the closed-loop search and solution time. Experimental data shows that the search time and solution time can be reduced to one-fifth of the original time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121018533A_ABST
    Figure CN121018533A_ABST
Patent Text Reader

Abstract

The invention discloses a robot closed-loop optimization method and device and a robot, and the method comprises the steps: obtaining the real-time positioning information of the robot, and obtaining the current point cloud data in a preset range of the positioning information; judging whether historical point cloud data with a specific mark exists in the historical point cloud data in the preset range or not; if the historical point cloud data with the specific mark exists, gradually matching the current point cloud data with the historical point cloud data with the specific mark, and obtaining a plurality of first matching scores according to a first intensity value of the current point cloud data and a second intensity value of the historical point cloud data with the specific mark, taking a matching result corresponding to the maximum score in the plurality of first matching scores as an optimal matching result; in the precision range corresponding to the optimal matching result, matching is further executed according to robot position information obtained after matching, and a final matching result is obtained; and transmitting the final matching result to a resolving module to obtain a resolving result, and performing closed-loop optimization operation according to the resolving result. By adopting the technical scheme, the range of the to-be-matched point cloud data is narrowed, the data processing efficiency is improved, and the real-time performance under the condition of relatively high positioning precision in the face of a super-large scene can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of artificial intelligence, and in particular, to a closed-loop optimization method and device for a robot and the robot. BACKGROUND

[0002] In a robot control system, implementing closed-loop correction refers to obtaining state information of the robot during task execution through sensors or other detection devices, and feeding back the information to the control system, so as to realize real-time control and adjustment of the robot during task execution. Specifically, closed-loop correction adjusts the action of the robot according to the deviation between the actual output and the preset target, so as to ensure that the robot completes the task in the expected manner.

[0003] In current positioning algorithm research, eliminating accumulated drift error has always been an important topic, and how to quickly and efficiently implement closed-loop correction (eliminate accumulated drift error) plays a very important role in improving the real-time positioning accuracy of the robot.

[0004] In related technologies, the main methods used are multi-sensor fusion optimization method, optimization method combined with deep learning, etc., each of which has advantages and disadvantages in actual use.

[0005] In the traditional closed-loop optimization algorithm, the calculation overhead is large, and it is difficult to achieve efficient and fast closed-loop calculation when the scene becomes large. The optimization method combined with deep learning is the current mainstream development direction, but the training cost is high in the early stage, and the real-time performance and calculation efficiency cannot be well guaranteed in the case of a super large scene (more than 10,000 square meters). SUMMARY

[0006] The main purpose of the present application is to disclose a closed-loop optimization method, device and robot, to at least solve the problems in the related art that the calculation overhead of the closed-loop optimization algorithm is large, it is difficult to achieve efficient and fast closed-loop calculation when the scene becomes large, and the real-time performance and calculation efficiency cannot be well guaranteed in the case of a super large scene.

[0007] According to one aspect of the present application, a closed-loop optimization method for a robot is provided.

[0008] The robot closed loop optimization method according to the present application comprises: acquiring real-time positioning information of a robot, and acquiring current point cloud data within a predetermined range of the positioning information; determining whether there is historical point cloud data with a specific mark in historical point cloud data within the predetermined range; if there is historical point cloud data with a specific mark, gradually matching the current point cloud data with the historical point cloud data with a specific mark, acquiring a plurality of first matching scores according to a first intensity value of the current point cloud data and a second intensity value of the historical point cloud data with a specific mark, and taking a matching result corresponding to a maximum score in the plurality of first matching scores as an optimal matching result; within a precision range corresponding to the optimal matching result, further performing matching according to robot position information obtained after matching to obtain a final matching result; and delivering the final matching result to a solving module to obtain a solving result, and performing a closed loop optimization operation according to the solving result.

[0009] According to another aspect of the present application, a robot closed loop optimization device is provided.

[0010] The robot closed loop optimization device according to the present application comprises: an acquisition module for acquiring real-time positioning information of a robot, and acquiring current point cloud data within a predetermined range of the positioning information; a determination module for determining whether there is historical point cloud data with a specific mark in historical point cloud data within the predetermined range; a first matching module for, when there is historical point cloud data with a specific mark, gradually matching the current point cloud data with the historical point cloud data with a specific mark, acquiring a plurality of first matching scores according to a first intensity value of the current point cloud data and a second intensity value of the historical point cloud data with a specific mark, and taking a matching result corresponding to a maximum score in the plurality of first matching scores as an optimal matching result; a second matching module for, within a precision range corresponding to the optimal matching result, further performing matching according to robot position information obtained after matching to obtain a final matching result; and a closed loop optimization module for delivering the final matching result to a solving module to obtain a solving result, and performing a closed loop optimization operation according to the solving result.

[0011] According to still another aspect of the present application, a robot is provided.

[0012] The robot according to the present application comprises: a memory and a processor, the memory is used for storing computer execution instructions, and the processor is used for executing the computer execution instructions stored in the memory, so that the robot performs the method according to any one of the above.

[0013] According to the robot closed loop optimization method, device and robot provided by the application, based on the current real-time positioning of the robot, the historical point cloud data within a certain range is acquired, if there is historical point cloud data with specific markers in the historical point cloud data, the matching of the historical point cloud data with special records is preferentially performed, then the matching is further performed according to the robot position information obtained after the matching within the accuracy range corresponding to the optimal matching result, the final matching result is obtained, the range of the point cloud data to be matched is reduced, the data processing efficiency is improved, and the real-time performance under the condition of good positioning accuracy in the case of a super large scene can be ensured. BRIEF DESCRIPTION OF DRAWINGS

[0014] Figure 1 is a flowchart of the robot closed loop optimization method according to an embodiment of the application;

[0015] Figure 2 is a flowchart of the robot closed loop optimization method according to a preferred embodiment of the application;

[0016] Figure 3 is a structural block diagram of the robot closed loop optimization device according to an embodiment of the application;

[0017] Figure 4 is a structural block diagram of the robot closed loop optimization device according to a preferred embodiment of the application;

[0018] Figure 5 is a structural block diagram of the robot according to a preferred embodiment of the application. DETAILED DESCRIPTION

[0019] The specific implementation mode of the application will be described in detail below with reference to the accompanying drawings of the specification.

[0020] According to an embodiment of the application, a robot closed loop optimization method is provided.

[0021] Figure 1 is a flowchart of the robot closed loop optimization method according to an embodiment of the application. As shown in Figure 1 , the robot closed loop optimization method comprises:

[0022] Step S101: acquiring real-time positioning information of the robot, and acquiring current point cloud data within a predetermined range of the positioning information;

[0023] Step S102: determining whether there is historical point cloud data with specific markers in the historical point cloud data within the predetermined range;

[0024] Step S103: If there is historical point cloud data with specific labels, the current point cloud data is matched step by step with the historical point cloud data with specific labels. Multiple first matching scores are obtained based on the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with specific labels. The matching result corresponding to the maximum score among the multiple first matching scores is taken as the optimal matching result.

[0025] Step S104: Within the accuracy range corresponding to the above optimal matching result, further matching is performed based on the robot position information obtained after matching to obtain the final matching result;

[0026] Step S105: Pass the final matching result to the solution module to obtain the solution result, and perform closed-loop optimization operation based on the solution result.

[0027] The closed-loop optimization algorithms used in related technologies have high computational overhead, making it difficult to achieve efficient and fast closed-loop solutions when the scene becomes larger. Optimization methods combined with deep learning are currently the mainstream development direction, but the initial training cost is high, and real-time performance and computational efficiency cannot be well guaranteed when facing ultra-large scenes (exceeding 10,000 square meters). Figure 1 The robot closed-loop optimization method shown above acquires historical point cloud data within a certain range based on the robot's current real-time positioning. If there are historical point cloud data with specific tags in these historical point cloud data, these historical point cloud data with special records are matched first. Then, within the accuracy range corresponding to the above optimal matching result, further matching is performed based on the robot position information obtained after matching to obtain the final matching result. This narrows down the range of point cloud data to be matched, improves data processing efficiency, and can ensure real-time performance with good positioning accuracy even in ultra-large scenes (e.g., scenes exceeding 10,000 square meters).

[0028] Preferably, in step S101, before acquiring the robot's real-time positioning information and the current point cloud data within the predetermined range of the positioning information, the following processing may be included: acquiring raw point cloud intensity data, performing distance correction and incident angle correction on the acquired raw point cloud intensity data; determining whether specific point cloud data (e.g., high-reflection point cloud, etc.) exists in the current scene based on the corrected point cloud intensity data; if specific point cloud data exists, binding the specific point cloud data to the specific tag.

[0029] In the method, determining whether the specific point cloud data exists in the current scene according to the corrected point cloud intensity data can further include the following processing: determining whether there is one or more groups of point cloud intensity data in the corrected point cloud intensity data, and the intensity difference between the one or more groups of point cloud intensity data and other groups of point cloud intensity data in the current scene is greater than or equal to a first predetermined threshold value; and if so, determining that the specific point cloud data exists in the current scene.

[0030] For example, the matching of some areas where mirrors, glass and the like are located will have a higher weight score because the probability of change in the scene of these areas is low. Based on real-time positioning information of the robot, historical point cloud data within a predetermined range is obtained, and if there is specific marked point cloud data (for example, a state record marked as high reflection point cloud) in the historical point cloud data, the specific marked point cloud data is preferentially matched. In this way, the range of point cloud data to be matched can be reduced, and the data processing efficiency can be improved. In particular, in the case of a super large scene (for example, a scene of more than 10,000 square meters), real-time performance under good positioning accuracy can be ensured.

[0031] Preferably, before step S101, the following processing can also be included: dividing the obtained historical point cloud data into multiple groups; for each group of historical point cloud data, first selecting a point cloud data point with the maximum intensity value in the group, and determining whether the difference between the intensity value of the point cloud data point and the intensity average of other point cloud data points in the group exceeds a second predetermined threshold value; when the difference between the intensity value of the point cloud data point and the intensity average of other point cloud data points in the group exceeds the second predetermined threshold value, selecting the intensity average of the other point cloud data points as the representative data of the group of historical point cloud data; and when the difference between the intensity value of the point cloud data point and the intensity average of other point cloud data points in the group does not exceed the second predetermined threshold value, selecting the point cloud data point with the maximum intensity value as the representative data of the group of historical point cloud data.

[0032] In the preferred implementation process, selective non-maximum suppression of small areas can be used, that is, each small area is left with only a certain proportion of point cloud data by selection, so that the quality and distribution of point cloud data for calculation can obtain better calculation results.

[0033] Preferably, in step S103, obtaining a plurality of first matching scores according to the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with the specific mark can further include the following processing:

[0034] Converting the position information of the historical point cloud data with the specific mark from the world coordinate system to the robot coordinate system;

[0035] According to the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with the specific mark, a plurality of first matching scores are obtained by the following method:

[0036] Score1 = ∑KDeta(Intensity(x i )-Intensity(x refi )) 2

[0037] wherein, Score1 represents the first matching score corresponding to each matching, P is a parameter related to the distance from the hit point, Intensity(x i ) represents the intensity value of the i-th current point cloud data, and Intensity(x refi ) represents the intensity value of the historical point cloud data corresponding to the i-th current point cloud data.

[0038] Preferably, in step S104, within the accuracy range corresponding to the optimal matching result, further matching is performed according to the robot position information obtained after matching to obtain a final matching result, which can further include the following processing:

[0039] Based on the optimal matching result, a plurality of reference parameters (such as displacement, rotation angle, intensity value, etc.) are involved in the overall scoring system as reference items to obtain a plurality of second matching scores by the following method:

[0040] Score 2 = K1*∑DetaFunc1(x i )+K2*∑DetaFunc2(x i )+...+K n *∑DetaFunc n (x i )

[0041] wherein, Score2 represents the second matching score corresponding to each matching, xi represents the i-th point cloud data, Func() represents the matching data under each reference parameter, K represents the weight value corresponding to each reference parameter respectively, and n represents the number of the plurality of reference parameters.

[0042] The matching result corresponding to the maximum score in the plurality of second matching scores is taken as the final matching result.

[0043] For example, when the plurality of reference parameters include displacement, rotation angle, and intensity value, within the accuracy range corresponding to the optimal matching result, further matching is performed according to the robot position information obtained after matching to obtain a final matching result, which can further include the following processing:

[0044] In the displacement accuracy range corresponding to the optimal matching result, by adjusting the displacement step, a plurality of displacement corresponding scores are obtained, and the position information corresponding to the highest score in the plurality of displacement corresponding scores is selected as the position optimal solution, wherein the intensity value is associated with the displacement (i.e., the intensity value corresponds to the position information);

[0045] In the position corresponding to the position optimal solution, in the direction angle accuracy range corresponding to the optimal matching result, by adjusting the rotation angle step, a plurality of direction angles corresponding scores are obtained, and the direction information corresponding to the highest score in the plurality of direction angle corresponding scores is selected as the direction optimal solution, wherein the intensity value is associated with the direction angle (i.e., the intensity value corresponds to the direction angle).

[0046] The preferred embodiments are further described below. Figure 2 The preferred embodiments are further described below.

[0047] Figure 2 is a flowchart of a robot closed-loop optimization method according to a preferred embodiment of the present application. As shown in Figure 2 , the robot closed-loop optimization method comprises the following steps:

[0048] Step S201: The robot runs in a super large environment scene (for example, a scene of more than 10,000 square meters), detects surrounding environment data through multiple sensors (vision sensor, laser radar, TOF, etc.).

[0049] Step S202: The robot obtains surrounding environment images through a vision sensor, can scan object surfaces through a laser radar to obtain a large number of coordinate points of the object surfaces to form point cloud data. Also, a ToF sensor can be used to emit light pulses and measure the time required for light to return from emission to return to calculate distances and generate point cloud data.

[0050] Step S203: Obtain historical point cloud data to be matched and process. Specifically, according to the intensity information of the obtained point cloud data, it is judged whether there is a specific point cloud (for example, a high reflection point cloud, etc.) in the current scene. The specific process is as follows:

[0051] 1. Obtain original point cloud intensity data;

[0052] 2. Distance correction and incidence angle correction are performed on the obtained original point cloud intensity data to eliminate the influence of non-material factors through correction.

[0053] The distance correction formula is as follows:

[0054] I corrected =I raw ·R 2 / R ref 2

[0055] wherein R is the actual distance, R ref is the reference distance (e.g. sensor calibration value), I raw is the intensity data of the point cloud before correction;

[0056] The above incidence angle correction formula is as follows:

[0057] I corrected = I raw / cos(θ)

[0058] wherein θ is the angle between the surface normal and the laser beam, I raw is the intensity data of the point cloud before correction.

[0059] 3. Based on the corrected intensity data of the point cloud, it is determined whether there is a specific point cloud in the current scene. Specifically, if the intensity of a group of point cloud data in the corrected intensity data of the point cloud is obviously different from the intensity of other point cloud data in the current scene, for example, the intensity of the group of point cloud data is obviously higher than the intensity of other point cloud data in the current scene, or the intensity of the group of point cloud data is obviously lower than the intensity of other point cloud data in the current scene, that is, the absolute value of the difference between the intensity of the group of point cloud data and the intensity of other point cloud data in the current scene is greater than or equal to a predetermined intensity threshold, it is determined that there is a specific point cloud (e.g. high reflection point cloud) in the current scene.

[0060] 4. If it is determined that there is a specific point cloud in the current scene based on the intensity information of the current point cloud, the specific point cloud can be recorded as a special point cloud to be matched, that is, the specific point cloud data is bound with the above-mentioned specific mark, and the special state information of the specific point cloud data is recorded.

[0061] 5. After the above-mentioned conditions are met, selective non-maximum suppression of small regions is used, that is, each small region is selected to leave only a certain proportion of point cloud data, so as to ensure that the quality and distribution of the point cloud for calculation can obtain better calculation results.

[0062] wherein the above-mentioned selective non-maximum suppression refers to dividing the obtained point cloud data into multiple groups, and determining a data in each group to replace the whole group of data, for reducing the data amount. Specifically, for each group, the point cloud data point with the maximum intensity in the current group is first selected, when the difference between the intensity and the average intensity of other point cloud data exceeds a predetermined threshold, the point cloud data corresponding to the average intensity of other data is selected as the representative data of the group, and when the difference between the intensity and the average intensity of other data does not exceed the predetermined threshold, the point cloud data corresponding to the maximum intensity value is selected as the representative data of the group.

[0063] Step S204: match the current point cloud data with the historical point cloud data. Specifically, the following steps are included:

[0064] 1. First, perform preliminary matching to narrow the range of point cloud data to be matched and improve data processing efficiency.

[0065] A general understanding in this step is that the amount of environmental data change in the same scene will not be large. Therefore, based on this general understanding, the historical point cloud data to be matched can be filtered according to the intensity information of the point cloud data.

[0066] First, based on the current real-time positioning of the robot, historical point cloud data within a certain range is obtained. If there is a specific marker (for example, a marker for high-reflective point cloud state records, etc.) in these historical point cloud data, the matching of this part of the point cloud data with the specific marker is prioritized. For example, the probability of change in the area where some mirrors, glass, etc. are located in the scene is relatively low, so the matching of this part will have a higher weight score.

[0067] According to the filtered point cloud intensity information, the score of the current frame point cloud data is obtained. Specifically, the following processing is included:

[0068] (1) First, convert the position information of the filtered historical point cloud data to be matched from the world coordinate system to the robot coordinate system.

[0069] x ref =Projection(T wx p refi )

[0070] where x 2 represents the position information of the historical point cloud data to be matched in the robot coordinate system, p result represents the position information of the historical point cloud data to be matched in the world coordinate system, and T represents the conversion relationship.

[0071] (2) In all filtered point cloud data, according to the difference information between the intensity information of each point cloud data and the intensity information of the historical point cloud data corresponding to the point cloud data, the matching score is calculated by the following formula.

[0072] The matching score formula is as follows:

[0073] Score 1=∑KDeta(Intensity(xi)-Intensity(x -1 )) funci

[0074] Wherein, Score1 represents the matching score corresponding to each matching, P is a parameter related to the distance from the hit point, Intensity(xi) represents the intensity value of the i-th point cloud data, and Intensity(xrefi) represents the intensity value of the historical point cloud data corresponding to the i-th point cloud data.

[0075] Wherein, the historical point cloud data corresponding to the i-th point cloud data can be multiple, and specifically, the historical point cloud data closest to the point cloud data can be obtained one by one by adjusting the step size. Therefore, multiple matching scores can be obtained by step-by-step matching, and Score1 represents the matching score corresponding to single matching. The matching result corresponding to the maximum score in the multiple matching scores obtained above is taken as the best matching result.

[0076] 2. After the above preliminary matching is performed, multi-condition robot matching is further performed according to the robot position.

[0077] After the above coarse matching is performed, multi-condition robot matching can be further performed according to the robot position, for example, the entire feasible solution space is divided into smaller and smaller subsets one by one, for each subset after each division, further matching is performed according to the predicted position of the robot after the coarse matching is performed, in the present matching process, more reference parameters (such as displacement, rotation angle, intensity value, etc.) are taken as reference items to participate in the overall scoring system, and dynamic adjustment guidance of the reference weight of each part is given according to the actual algorithm solution result.

[0078] Score2=K1*∑DetaFunc1(xi)+K2*∑DetaFunc2(xi)+...+Kn*∑DetaFuncn(xi)

[0079] Ki=Distance(T result -1 *T funci )

[0080] Wherein, Score2 represents the matching score corresponding to each matching, xi represents the i-th point cloud data, Func() represents the matching data under each reference parameter, K represents the weight value corresponding to each reference parameter respectively, and n represents the number of the above multiple reference parameters. result represents the pose information of the historical point cloud data, T funci represents the pose information of the point cloud data to be matched, and Distance represents the norm distance.

[0081] Through multiple matching, multiple matching scores Score2 can be obtained, and the matching result corresponding to the maximum score in the multiple matching scores Score2 is taken as the final matching result.

[0082] For example, the displacement, the rotation angle, and the intensity value associated with the displacement and the rotation angle are selected as reference items to participate in the overall scoring system. Within the displacement accuracy range of the coarse matching, the displacement is adjusted by a set displacement step to obtain multiple matching scores, the displacement corresponding to the highest score is selected as the best displacement, and the rotation angle matching is performed under the best displacement. Within the rotation angle accuracy range obtained through the coarse matching, the rotation angle is adjusted by a preset rotation angle step to obtain multiple matching scores, and the rotation angle corresponding to the highest score is selected as the best rotation angle. The best displacement, the best rotation angle, and the intensity value corresponding to the displacement and the rotation angle are taken as the final matching result. Through the above processing, a more accurate matching value can be determined within the range obtained through the coarse matching, and the matching accuracy is further improved.

[0083] Step S205: The matching result is transmitted to a solving module, which can be an actual optimizer in an algorithm or a deep learning solving inference model, and a solving result is obtained, and closed-loop optimization is performed according to the solving result.

[0084] According to the above processing scheme, the closed-loop searching and solving time under large scene running can be effectively compressed. According to experimental data, the searching time and the solving time can be compressed to one fifth of the original time. The original solving time is about 1 s, and in particular in the case of long-time running, the average time of the latest algorithm is about 200 ms.

[0085] According to the embodiment of the present application, a robot closed-loop optimization device is provided.

[0086] Figure 3 is a structural block diagram of the robot closed-loop optimization device according to the embodiment of the present application. As shown in Figure 3As shown, the robot closed-loop optimization device comprises: an acquisition module 30, configured to acquire real-time positioning information of a robot, and acquire current point cloud data within a predetermined range of the positioning information; a judgment module 32, configured to judge whether there is historical point cloud data with a specific mark in historical point cloud data within the predetermined range; a first matching module 34, configured to, when there is historical point cloud data with a specific mark, gradually match the current point cloud data with the historical point cloud data with a specific mark, acquire a plurality of first matching scores according to a first intensity value of the current point cloud data and a second intensity value of the historical point cloud data with a specific mark, and take a matching result corresponding to a maximum score in the plurality of first matching scores as an optimal matching result; a second matching module 36, configured to, within a precision range corresponding to the optimal matching result, further perform matching according to robot pose information obtained after matching to obtain a final matching result; and a closed-loop optimization module 38, configured to deliver the final matching result to a solving module to obtain a solving result, and perform a closed-loop optimization operation according to the solving result.

[0087] The robot closed-loop optimization device is adopted Figure 3 As shown, the robot closed-loop optimization device comprises: an acquisition module 30, configured to acquire real-time positioning information of a robot, and acquire current point cloud data within a predetermined range of the positioning information; a judgment module 32, configured to judge whether there is historical point cloud data with a specific mark in historical point cloud data within the predetermined range; a first matching module 34, configured to, when there is historical point cloud data with a specific mark, gradually match the current point cloud data with the historical point cloud data with a specific mark, acquire a plurality of first matching scores according to a first intensity value of the current point cloud data and a second intensity value of the historical point cloud data with a specific mark, and take a matching result corresponding to a maximum score in the plurality of first matching scores as an optimal matching result; a second matching module 36, configured to, within a precision range corresponding to the optimal matching result, further perform matching according to robot pose information obtained after matching to obtain a final matching result; and a closed-loop optimization module 38, configured to deliver the final matching result to a solving module to obtain a solving result, and perform a closed-loop optimization operation according to the solving result.

[0088] Preferably, as Figure 4 As shown, the robot closed-loop optimization device can further comprise: a correction module 40, configured to acquire original point cloud intensity data, and perform distance correction and incident angle correction on the acquired original point cloud intensity data; a determination module 42, configured to determine whether there is specific point cloud data in a current scene according to the corrected point cloud intensity data, wherein the determination module judges whether there is one or more groups of point cloud intensity data in the corrected point cloud intensity data, and the intensity difference between the one or more groups of point cloud intensity data and other point cloud intensity data in the current scene is greater than or equal to a first predetermined threshold value, and if so, it is determined that the specific point cloud data exists in the current scene; and a binding module 44, configured to, when the determination module determines that the specific point cloud data exists in the current scene, bind the specific point cloud data with the specific mark.

[0089] It should be noted that the specific details of the robot closed-loop optimization device described above can be referred to Figures 1 to 2 The corresponding description and effects in the embodiments shown are understood, and will not be repeated here.

[0090] According to the embodiment of the application, a robot is also provided.

[0091] Figure 5 is a structural block diagram of the robot according to the embodiment of the application. As shown in the figure, the robot according to the application comprises a memory 50 and a processor 52, wherein the memory 50 is configured to store computer execution instructions; and the processor 52 is configured to execute the computer execution instructions stored in the memory, so that the robot performs the robot closed-loop optimization method provided in the above embodiment. Figure 5

[0092] The processor 52 can be a central processing unit (CPU). The processor 52 can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. chips, or combinations of the above-mentioned chips.

[0093] The memory 50 is a non-transitory computer readable storage medium, which can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as the program instructions / modules corresponding to the robot full coverage operation method in the embodiment of the application. The processor executes various functions of the processor and data processing by running the non-transitory software programs, instructions and modules stored in the memory.

[0094] The memory 50 can include a program storage area and a data storage area, wherein the program storage area can store an operating system and at least one application required by a function; the data storage area can store data created by the processor and the like. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 50 can optionally include a memory remotely arranged with respect to the processor, and these remote memories can be connected to the processor through a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.

[0095] ​The one or more modules are stored in the memory 50 and, when executed by the processor 52, perform the steps of Figures 1 to 2 the robot closed loop optimization method in the illustrated embodiment.

[0096] It should be noted that the specific details of the robot can be understood by referring to the corresponding description and effects of the embodiments Figures 1 to 2 illustrated in the embodiments, which will not be described here.

[0097] In summary, by means of the above-mentioned embodiments of the present application, when matching the current point cloud data with the historical point cloud data, the point cloud data with specific markers is matched first, a large amount of data is effectively screened, the range of the point cloud data to be matched is reduced, the data input into the actual algorithm calculation is reduced, and within the accuracy range of the optimal matching result obtained by the initial matching, the matching is further performed according to the robot position information obtained after the matching to obtain the final matching result, which greatly improves the positioning accuracy and can guarantee the real-time performance under the condition of better positioning accuracy in the case of facing a super large scene (for example, a scene of more than 10000 square meters). At the same time, a better initial value is calculated by means of light intensity, position, point cloud shape and other information, the calculation speed of the entire algorithm is accelerated in this way, and in order to make the entire system universal, a dynamic weight adjustment method is proposed, which can make the algorithm adapt to more complex scenes.

[0098] The above disclosure is only a few specific embodiments of the present application, but the present application is not limited thereto, and any changes that can be thought of by those skilled in the art should fall within the scope of the present application.

Claims

1. A robot closed-loop optimization method, characterized in that, include: Obtain the robot's real-time positioning information, and obtain the current point cloud data within a predetermined range of the positioning information; Determine whether there is historical point cloud data with a specific marker in the historical point cloud data within the predetermined range; If historical point cloud data with specific labels exists, the current point cloud data is matched step by step with the historical point cloud data with specific labels. Multiple first matching scores are obtained based on the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with specific labels. The matching result corresponding to the maximum score among the multiple first matching scores is taken as the optimal matching result. Within the accuracy range corresponding to the optimal matching result, further matching is performed based on the robot position information obtained after matching to obtain the final matching result; The final matching result is passed to the solution module to obtain the solution result, and closed-loop optimization operation is performed based on the solution result.

2. The method according to claim 1, characterized in that, Before acquiring the robot's real-time positioning information and acquiring the current point cloud data within a predetermined range of the positioning information, the process also includes: Obtain raw point cloud intensity data, and perform distance correction and incident angle correction on the obtained raw point cloud intensity data; Based on the corrected point cloud intensity data, determine whether specific point cloud data exists in the current scene; If specific point cloud data exists, then the specific point cloud data is bound to the specific tag.

3. The method according to claim 2, characterized in that, Based on the corrected point cloud intensity data, determining whether specific point cloud data exists in the current scene includes: Determine whether there is one or more sets of point cloud intensity data in the corrected point cloud intensity data whose intensity difference with other point cloud intensity data in the current scene is greater than or equal to a first predetermined threshold. If it exists, then it is determined that the specific point cloud data exists in the current scene.

4. The method according to claim 1, characterized in that, Before acquiring the robot's real-time positioning information and acquiring the current point cloud data within a predetermined range of the positioning information, the process includes: The acquired historical point cloud data is divided into multiple groups; For each group of historical point cloud data, first select the point cloud data point with the largest intensity value in the group, and determine whether the difference between the intensity value of the point cloud data point and the average intensity value of other point cloud data points in the group exceeds the second predetermined threshold. When the difference between the intensity value of the point cloud data point and the average intensity value of other point cloud data points in the group exceeds the second predetermined threshold, the point cloud data corresponding to the average intensity value of the other point cloud data points is selected as the representative data of the historical point cloud data in the group. When the difference between the intensity value of a point cloud data point and the average intensity value of other point cloud data points in the group does not exceed the second predetermined threshold, the point cloud data point with the largest intensity value is selected as the representative data of the group of historical point cloud data.

5. The method according to claim 1, characterized in that, Multiple first matching scores are obtained based on the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with specific tags, including: The location information of the historical point cloud data with specific markers is transformed from the world coordinate system to the robot coordinate system; Based on the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with specific tags, multiple first matching scores are obtained in the following manner: Score1=∑PDeta(Intensity(x i )-Intensity(x refi )) 2 Where Score1 represents the first matching score for each match, P is a parameter related to the distance to the hit point, and Intensity(x) i Intensity(x) represents the intensity value of the i-th current point cloud data. refi ) represents the intensity value of the historical point cloud data corresponding to the i-th current point cloud data.

6. The method according to claim 1, characterized in that, Within the accuracy range corresponding to the optimal matching result, further matching is performed based on the robot position information obtained after matching, resulting in the following final matching results: Based on the optimal matching result, multiple reference parameters are incorporated into the overall scoring system as reference items in the following manner to obtain multiple second matching scores; Score 2=K1*∑DetaFunc1(x i )+K2*∑DetaFunc2(x i )+...+K n *∑DetaFunc n (x i ) Where Score2 represents the second matching score corresponding to each match, xi represents the i-th point cloud data, Func() represents the matching data under each reference parameter, K represents the weight value corresponding to each reference parameter, and n represents the number of the multiple reference parameters. The matching result corresponding to the highest score among the multiple second matching scores is taken as the final matching result.

7. The method according to claim 6, characterized in that, When the multiple reference parameters include displacement, rotation angle, and intensity value, within the accuracy range corresponding to the optimal matching result, further matching is performed based on the robot position information obtained after matching, resulting in a final matching result including: Within the displacement accuracy range corresponding to the optimal matching result, by adjusting the displacement step size, multiple scores corresponding to displacements are obtained, and the position information corresponding to the highest score among the multiple displacement scores is selected as the optimal position solution, wherein the intensity value is related to the displacement; At the position corresponding to the optimal solution, within the directional angle accuracy range corresponding to the optimal matching result, by adjusting the rotation angle step size, scores corresponding to multiple directional angles are obtained, and the directional information corresponding to the highest score among the multiple directional angles is selected as the optimal directional solution, wherein the intensity value is associated with the directional angle.

8. A robot closed-loop optimization device, characterized in that, include: The acquisition module is used to acquire the robot's real-time positioning information and acquire the current point cloud data within a predetermined range of the positioning information; The judgment module is used to determine whether there is historical point cloud data with a specific mark in the historical point cloud data within the predetermined range; The first matching module is used to match the current point cloud data with the historical point cloud data with the specific label step by step when there is historical point cloud data with a specific label. It obtains multiple first matching scores based on the first intensity value of the current point cloud data and the second intensity value of the historical point cloud data with the specific label, and takes the matching result corresponding to the maximum score among the multiple first matching scores as the optimal matching result. The second matching module is used to perform further matching based on the robot pose information obtained after matching within the accuracy range corresponding to the optimal matching result, so as to obtain the final matching result. The closed-loop optimization module is used to pass the final matching result to the solution module to obtain the solution result, and perform closed-loop optimization operation based on the solution result.

9. The apparatus according to claim 8, characterized in that, Also includes: The correction module is used to acquire raw point cloud intensity data and perform distance correction and incident angle correction on the acquired raw point cloud intensity data; The determining module is used to determine whether specific point cloud data exists in the current scene based on the corrected point cloud intensity data. The determining module judges whether there is one or more sets of point cloud intensity data in the corrected point cloud intensity data whose intensity difference with other point cloud intensity data in the current scene is greater than or equal to a first predetermined threshold. If so, it is determined that the specific point cloud data exists in the current scene. The binding module is used to bind the specific point cloud data to the specific tag when the determining module determines that the specific point cloud data exists in the current scene.

10. A robot comprising: Memory and processor, characterized in that, The memory is used to store computer-executed instructions; The processor is configured to execute computer execution instructions stored in the memory, causing the robot to perform the method as described in any one of claims 1 to 7.