Robot positioning and deviation rectifying method and related device

By constructing the relative relationship between the target sub-map and the base map, the robot position deviation is corrected, and the problem of low accuracy of positioning and deviation correction in the prior art is solved, and efficient positioning and deviation correction is achieved when environmental changes are changed without affecting the normal task execution of the robot.

CN120259620APending Publication Date: 2025-07-04IFLYTEK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510191402.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-20
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing robot positioning and deviation correction methods are not very accurate, especially when the overall environment changes, it is difficult to effectively correct the robot position deviation, and frequent updates of global maps are expensive to calculate.

Method used

By detecting the positioning deviation of the robot, controlling the robot's movement to build a target subgraph of the local environment, and correcting the deviation based on the relative relationship between the target subgraph and the base map, using the matching of the local environmental point cloud data and the overall environmental base map to achieve the final position correction.

Benefits of technology

In the overall environment part or unchanged, positioning and deviation correction can be achieved without updating the base map, which improves the accuracy of positioning and deviation correction, and does not affect the normal operation of the robot during the construction of the target sub-map.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120259620A_ABST
    Figure CN120259620A_ABST
Patent Text Reader

Abstract

The invention discloses a robot positioning deviation correction method and a related device. The robot positioning deviation correction method comprises the steps that it is detected that a robot has positioning deviation; the robot is controlled to move, a target sub-graph of a local environment where the robot is located is constructed based on first point cloud data collected by the robot in the moving process, and at least part of the first point cloud data in the target sub-graph is matched with a base graph of the whole environment; based on the first relative relation between the target sub-graph and the base graph, the final pose of the robot under the target sub-graph is corrected, and the final pose of the robot under the base graph is obtained. According to the scheme, positioning deviation correction can be achieved under the conditions that the whole environment is partially changed and the whole environment is not changed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of robot autonomous navigation, and particularly to a robot positioning and deviation correction method, a robot positioning and deviation correction device, an electronic device, and a computer-readable storage medium. Background Art

[0002] Currently, autonomous positioning and navigation robots are often used to complete established work tasks. For example, cleaning robots are used to complete cleaning tasks, handling robots are used to complete handling tasks, and inspection robots are used to complete inspection tasks.

[0003] Autonomous positioning and navigation technology is used to help robots move autonomously in the overall environment to complete established tasks. Since there may be positioning deviations of the robot during the autonomous positioning and navigation process, it is necessary to correct the pose of the robot to ensure the normal progress of the task.

[0004] However, the existing positioning and deviation correction methods have low accuracy. Summary of the Invention

[0005] This application provides a robot positioning and deviation correction method, a robot positioning and deviation correction device, an electronic device, and a computer-readable storage medium, which can solve the problem of low accuracy of the existing positioning and deviation correction methods.

[0006] This application provides a robot positioning and deviation correction method, including: detecting that the robot has a positioning deviation; controlling the movement of the robot, and based on the first point cloud data collected by the robot during the movement, constructing a target sub-map of the local environment where the robot is located, where the target sub-map includes a first number of frames of the first point cloud data, and a second number of frames of the first point cloud data in the target sub-map matches the base map of the overall environment, and the second number is less than or equal to the first number; based on the first relative relationship between the target sub-map and the base map, correcting the final pose of the robot under the target sub-map to obtain the final pose of the robot under the base map.

[0007] This application provides a robot positioning and deviation correction device, including: a detection module, a map construction module, and a deviation correction module. Among them, the detection module is used to detect that the robot has a positioning deviation. The map construction module is used to control the movement of the robot, and based on the first point cloud data collected by the robot during the movement, construct a target sub-map of the local environment where the robot is located, where at least part of the first point cloud data in the target sub-map matches the base map of the overall environment. The deviation correction module is used to correct the final pose of the robot under the target sub-map based on the first relative relationship between the target sub-map and the base map to obtain the final pose of the robot under the base map.

[0008] The present application provides an electronic device, including a memory and a processor. The processor is configured to execute program instructions stored in the memory to implement the above-mentioned robot positioning and deviation correction method.

[0009] The present application provides a computer-readable storage medium, on which program instructions are stored. When the program instructions are executed by a processor, the above-mentioned robot positioning and deviation correction method is implemented.

[0010] In the above solution, when it is detected that the robot has a positioning deviation, the robot is controlled to move, and based on the first point cloud data collected during the movement, a target sub-map of the local environment where the robot is located is constructed; based on the first relative relationship between the target sub-map and the base map, the final pose of the robot under the target sub-map is corrected to obtain the final pose of the robot under the base map. At least part of the first point cloud data in the target sub-map matches the base map. When only part of the first point cloud data in the target sub-map matches the base map, it means that part of the overall environment has changed. The robot is controlled to move from the changed part of the environment to the unchanged part of the environment and a target sub-map is constructed to achieve positioning deviation correction. When all the first point cloud data in the target sub-map matches the base map, it means that the overall environment has not changed, and positioning deviation correction can also be achieved based on the target sub-map. Therefore, the robot positioning and deviation correction method provided by the present application can achieve positioning deviation correction in the case of partial change of the overall environment and no change of the overall environment without updating the base map during the positioning deviation correction stage. In addition, during the period when the robot constructs the target sub-map, the normal operation of the robot is not delayed.

[0011] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and do not limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The drawings herein are incorporated into the specification and constitute a part of this specification. These drawings illustrate embodiments consistent with the present application and, together with the specification, are used to explain the technical solutions of the present application.

[0013] Figure 1 is a schematic flowchart of an embodiment of the robot positioning and deviation correction method provided by the present application;

[0014] Figure 2 is a schematic diagram of the first relative relationship of the present application;

[0015] Figure 3 is a schematic flowchart of an embodiment of the robot positioning and deviation correction method provided by the present application;

[0016] Figure 4 is Figure 3 a specific flowchart of S22 in

[0017] Figure 5It is a schematic structural diagram of an embodiment of the software architecture of the robot positioning and deviation correction method provided by this application;

[0018] Figure 6 It is a schematic flowchart of implementing the robot positioning and deviation correction method based on the software architecture in this application;

[0019] Figure 7 It is a schematic structural diagram of an embodiment of the robot positioning and deviation correction device in this application;

[0020] Figure 8 It is a schematic structural diagram of an embodiment of the electronic device in this application;

[0021] Figure 9 It is a schematic structural diagram of an embodiment of the computer-readable storage medium in this application. Specific Embodiments

[0022] The following will combine the accompanying drawings of the specification to elaborate in detail on the solutions of the embodiments of this application.

[0023] In the following description, specific details such as specific system structures, interfaces, and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand this application.

[0024] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the preceding and following associated objects. Furthermore, the term "multiple" in this article means two or more. In addition, the term "at least one" in this article represents any one of multiple or any combination of at least two of multiple. For example, including at least one of A, B, and C can represent including any one or more elements selected from the set composed of A, B, and C.

[0025] To facilitate the understanding of this application, before formally introducing the embodiments of this application, the technical terms and inventive concepts of this application will be introduced first:

[0026] The robot is equipped with sensors for environmental perception, such as at least one of a lidar (LIDAR), an inertial measurement unit (IMU), an odometer, and a vision sensor. The odometer can be used to estimate the position change of the robot in a short time. The inertial measurement unit can be used to estimate the attitude change of the robot. The lidar can be used to emit laser pulses into the overall environment where the robot is located. When these laser pulses encounter obstacles, they will be reflected, and the lidar will receive the returned optical signals. By measuring the time difference between the emission and reception of the laser, the distance to the obstacle can be calculated, obtaining ranging points representing the obstacle to form a global map of the overall environment.

[0027] Robot autonomous positioning and navigation technology refers to realizing map construction, path planning, and motion control based on the sensors carried by the robot, so that the robot can complete the established tasks in the overall environment.

[0028] Map construction refers to constructing a global map of the robot's overall environment (also referred to as the base map later).

[0029] Path planning refers to planning the working path of the robot in the overall environment based on the global map. The working path is a sequence composed of several target poses.

[0030] Motion control refers to controlling the movement of the robot based on the planned working path, that is, controlling the robot to sequentially reach each target pose in the working path to complete the work task.

[0031] The following takes a household sweeping robot as an example for illustration:

[0032] The sweeping robot obtains the global map of the home environment based on the lidar. The global map indicates the cleanable areas of the home environment. The sweeping robot plans the global path for performing the cleaning task in the area to be cleaned based on the pre-constructed global map. The global path is a sequence of the robot's target poses, and the starting target pose is the initial pose of the robot. The robot moves along the global path and performs the cleaning action. When encountering an obstacle, it re-plans the local path of the local environment. The starting pose of the local path is the current pose of the robot, and the final pose point of the local path is the target pose on the global path to avoid obstacles and complete the cleaning normally.

[0033] During the process of controlling the movement of the robot, the robot's motion control module controls the robot to move to the previous target pose on the working path. The robot's positioning module determines the real-time positioning pose of the robot based on the real-time data collected by the sensors. The motion control module determines whether it has reached the previous target pose according to the real-time positioning pose provided by the positioning module. When it is determined that the robot has reached the previous target pose on the working path, the robot's motion control module controls the robot to continue moving to the next target pose on the working path.

[0034] Robot positioning deviation refers to factors such as possible slipping, tilting, occlusion, and partial changes in the overall environment during the movement of the robot. These factors will cause the real-time positioning pose provided by the robot's positioning module to deviate from the actual pose of the robot.

[0035] If the robot's motion is continued to be controlled according to the real-time positioning pose provided by the positioning module, it will cause the robot's motion path to deviate from the planned working path and the task cannot be completed normally. For example, after a sweeping robot has a positioning deviation and no positioning correction is performed on it, behaviors such as repeated cleaning and missed cleaning may occur, affecting the cleaning efficiency and coverage rate. Therefore, it is necessary to perform positioning correction on the robot.

[0036] Robot positioning correction refers to correcting the real-time positioning pose provided by the positioning module when there is a deviation between the real-time positioning pose provided by the positioning module and the actual pose of the robot.

[0037] In the related art, the positioning correction method includes positioning correction based on map matching. Specifically, a global map of the overall environment is constructed in advance; during the operation of the robot, the lidar point cloud data obtained by the robot in real time is matched with the global map to determine the actual pose of the robot in the global map. When there is a deviation between the real-time positioning pose provided by the positioning module and the actual pose, positioning correction is performed.

[0038] Through long-term research by the inventors of the present application, it is found that the positioning correction based on map matching in the related art has at least the following technical problems:

[0039] 1. On the one hand, when the overall environment changes, the lidar point cloud data obtained by the robot in the overall environment in real time may not match the global map, resulting in the inability to determine the actual pose of the robot in the global map. At this time, the positioning correction method based on map matching fails.

[0040] 2. On the other hand, in order to avoid non-matching, it is necessary to update the global map in a timely manner. However, some overall environments do not support global map updates, or the global map is not updated in a timely manner, or the computational cost of updating the global map is high.

[0041] Figure 1 It is a schematic flowchart of an embodiment of the robot positioning correction method provided by the present application. As Figure 1 shown, in this embodiment, the robot positioning correction method may include the following steps:

[0042] S1: It is detected that the robot has a positioning deviation.

[0043] The execution subject of the robot positioning correction method of the present application can be the robot or other electronic devices outside the robot.

[0044] The positioning deviation of the robot means that during the process of controlling the robot's movement using the planned working path, there is a deviation between the real-time positioning pose provided by the positioning module and the actual pose. There are at least two reasons for the deviation. One is the robot's own reasons, including robot slippage, robot tilt, blocked robot vision, etc. The other is partial change in the overall environment where the robot works. For example, moving furniture in a home environment will cause partial change in the home environment.

[0045] In some embodiments, it is possible to determine whether the change amounts of the robot's pose estimated based on different sensors are consistent, and determine that the robot has a positioning deviation when they are inconsistent. For example, when the change amount of the robot's pose estimated after the fusion of the inertial measurement unit and the odometer is inconsistent with the change amount of the robot's pose estimated by the lidar, it is determined that the robot has a positioning deviation. Another example is that when the change amounts of the robot's pose estimated by the vision sensor and the lidar are inconsistent, it is determined that the robot has a positioning deviation.

[0046] In some embodiments, it is possible to determine whether the second point cloud data collected by the lidar at the actual pose can be matched with the base map. When it cannot be matched, it is determined that there is a positioning deviation. Here, the base map is the global map of the overall environment. In this case, S1 may include: obtaining the fifth number of frames of the second point cloud data continuously collected by the robot; in response to all the fifth number of frames of the second point cloud data being matched with the base map, determining that the robot has no positioning deviation; in response to there being second point cloud data that is not matched with the base map, determining that the robot has a positioning deviation. The second point cloud data being matched with the base map means that the matching score between the second point cloud data and the base map is greater than the score threshold. The fifth number is greater than or equal to 1.

[0047] S2: Control the movement of the robot, and based on the first point cloud data collected by the robot during the movement, construct a target sub-map of the local environment where the robot is located.

[0048] Among them, at least part of the first point cloud data in the target sub-map is matched with the base map of the overall environment.

[0049] It is understandable that there is a positioning deviation in the robot, and it is necessary to determine the actual pose of the robot in the base map. If the positioning deviation is caused by the robot itself, the actual pose is known relative to the base map, and the first point cloud data obtained at the actual pose can be matched with the base map, so that the actual pose of the robot can be determined. However, if the positioning deviation is caused by a partial change in the overall environment, the actual pose is unknown relative to the base map, and the first point cloud data obtained at the actual pose may not be able to be matched with the base map, thus the actual pose of the robot cannot be determined. In S2, controlling the robot to move to construct the target sub-map is equivalent to controlling the robot to move from the changed part (unknown environment) of the overall environment to the unchanged part (known environment) of the overall environment, that is, controlling the robot to move from the unknown area in the base map to the known area, so that it can be matched with the base map.

[0050] Controlling the robot to move means controlling the robot to move in the obstacle-free area of the overall environment. The movement mode can be turning in place, moving forward, etc.

[0051] Generally speaking, when all the first point cloud data in the target sub-map are matched with the base map, it means that the overall environment has not changed, and all the first point cloud data obtained by the continuous movement of the robot can be matched with the base map. When only part of the first point cloud data in the target sub-map is matched with the base map, it means that the overall environment has changed partially, and the first point cloud data obtained by the robot moving to the known pose needs to be matched with the base map.

[0052] S3: Based on the first relative relationship between the target sub-map and the base map, correct the final pose of the robot under the target sub-map to obtain the final pose of the robot under the base map.

[0053] The final pose of the robot under the target sub-map refers to the final actual pose of the robot relative to the target sub-map, that is, when the robot has completed constructing the target sub-map, the actual pose relative to the target sub-map. The final pose of the robot under the base map refers to the final actual pose of the robot relative to the base map, that is, when the robot has completed constructing the target sub-map, the actual pose relative to the base map. Among them, the last frame of the first point cloud data in the target sub-map can be matched with the target sub-map to obtain the final pose of the robot under the target sub-map.

[0054] The first relative relationship can be a transformation matrix T. This transformation matrix T includes the translation part (t) and the rotation matrix (R) of the target sub-map relative to the base map. Figure 2 It is a schematic diagram of the first relative relationship of this application. Referring to Figure 2 together, the first relative relationship can be expressed as:

[0055]

[0056] Among them, T m1m2 represents the first relative relationship, TWm1 Represents the robot pose under the base map m1, T Wm2 Represents the robot pose under the target sub-map m2.

[0057] In some embodiments, the target sub-map can be matched with the base map to obtain a first relative relationship. In some embodiments, the part to be matched corresponding to the target sub-map in the base map can be determined; the target sub-map is matched with the part to be matched to obtain a first relative relationship. The part to be matched is the sub-region in the base map that coincides with the target sub-map. For example, the sub-region in the base map corresponding to the second number of frames of the first point cloud data that matches the base map in the target sub-map can be determined as the part to be matched. It can be understood that directly matching the target sub-map with the entire base map requires a large computational resource overhead, has low matching efficiency, and is prone to falling into a local optimal solution. On the contrary, only matching the part to be matched corresponding to the target sub-map in the base map can reduce the computational resource overhead, has high matching efficiency, and will not fall into a local optimal solution.

[0058] In some embodiments, the first relative relationship is the first relative relationship between the first point cloud data that matches the base map and the base map. In this case, the first relative relationship can be obtained during the process of constructing the target sub-map. And the matching can be either a fine match or a coarse match. The way of coarse matching can be but is not limited to Fast-CSM (branch and bound scan matching), and the way of fine matching can be but is not limited to ICP.

[0059] In some embodiments, the robot motion can be continuously controlled, and the target sub-map can be updated based on the fourth number of frames of the third point cloud data collected by the robot during the motion process; and the first relative relationship can be obtained based on the fourth number of frames of the third point cloud data. The third point cloud data refers to the data obtained by continuously controlling the robot motion after constructing the target sub-map in S2, and the third point cloud data will be updated to the target sub-map. In this case, the first relative relationship is obtained based on the fourth number of frames of the third point cloud data.

[0060] In some embodiments, obtaining the first relative relationship based on the third point cloud data includes: coarsely matching the fourth number of frames of the third point cloud data with the base map to obtain a second relative relationship; finely matching the fourth number of frames of the third point cloud data with the base map based on the second relative relationship to obtain the first relative relationship. The fourth number is greater than or equal to 1.

[0061] In some embodiments, the second relative relationship can also be directly used as the first relative relationship.

[0062] Through the implementation of this embodiment (S1 - S4), when a positioning deviation of the robot is detected, the robot's movement is controlled, and based on the first point cloud data collected during the movement, a target sub - map of the local environment where the robot is located is constructed; based on the first relative relationship between the target sub - map and the base map, the final pose of the robot under the target sub - map is corrected to obtain the final pose of the robot under the base map. At least part of the first point cloud data in the target sub - map matches the base map. When part of the first point cloud data in the target sub - map matches the base map, it means that part of the overall environment has changed. The robot is controlled to move from the changed part of the environment to the unchanged part of the environment and a target sub - map is constructed to achieve positioning correction. When all the first point cloud data in the target sub - map matches the base map, it means that the overall environment has not changed, and positioning correction can also be achieved based on the target sub - map. Therefore, the robot positioning correction method provided by this application can achieve positioning correction in the case of partial change of the overall environment and unchanged overall environment without updating the base map during the positioning correction stage. In addition, during the period when the robot constructs the target sub - map, the normal operation of the robot is not delayed.

[0063] Figure 3 It is a schematic flowchart of an embodiment of the robot positioning correction method provided by this application. This embodiment is a further expansion of S2. As Figure 3 shown, S2 may include the following steps:

[0064] S21: Construct a current sub - map using the currently collected first point cloud data.

[0065] The currently collected first point cloud data refers to the first point cloud data that has been collected during the process of controlling the robot's movement.

[0066] In some embodiments, the movement that the robot has currently generated can be divided into multiple movement cycles. The first point cloud data that has been collected is the first point cloud data collected in all movement cycles. The robot can collect at least one frame of first point cloud data within one movement cycle. The movement cycle can be divided according to at least one of the movement duration, movement distance, and the number of frames of the first point cloud data collected. For example, collecting 3 frames of first point cloud data is one movement cycle. Another example is that collecting 1 frame of first point cloud data is one movement cycle.

[0067] S22: Determine whether the current sub - map meets the positioning correction condition. In response to meeting the positioning correction condition, execute S23; in response to not meeting the positioning correction condition, execute S24.

[0068] In some embodiments, the positioning correction conditions include: the number of frames of the first point cloud data in the current sub - map that match the base map reaches a first quantity (positioning correction condition 1), or the number of sequences of the first point cloud data in the current sub - map that match the base map reaches a second quantity (positioning correction condition 2).

[0069] In some embodiments, the positioning and deviation correction condition further includes that the pose change amount of the robot under the current sub-map and the base map satisfies the odometer constraint (positioning and deviation correction condition 3). The first point cloud data of the first frame in the current sub-map that matches the base map can be respectively matched with the base map and the current sub-map to obtain the initial pose of the robot under the base map and the initial pose of the robot under the current sub-map. The latest frame of the first point cloud data in the current sub-map is respectively matched with the base map and the current sub-map to obtain the final pose of the robot under the base map and the final pose of the robot under the current sub-map. The change amount of the final pose of the robot under the base map relative to the initial pose, that is, the pose change amount of the robot relative to the base map. The change amount of the final pose of the robot under the current sub-map relative to the initial pose, that is, the pose change amount of the robot relative to the current sub-map. The pose change amount of the robot satisfying the odometer constraint means that the pose change amount of the robot under the current sub-map and the base map is consistent with the pose change amount recorded by the odometer, and the pose change amount of the robot under the base map is consistent with the pose change amount recorded by the odometer.

[0070] In some embodiments, the positioning and deviation correction condition includes positioning and deviation correction condition 1. The number of frames of the first point cloud data in the current sub-map that matches the base map can be determined in units of frames to see if it reaches the first quantity.

[0071] In some embodiments, the positioning and deviation correction condition includes positioning and deviation correction condition 2. The number of sequences of the first point cloud data in the current sub-map that matches the base map can be determined in units of sequences to see if it reaches the second quantity. As Figure 4 shown, in this case, S22 may include S221 - S223.

[0072] S221: Determine whether the number of sequences of the first point cloud data in the current sub-map that matches the base map reaches the second quantity. In response to reaching the second quantity, execute S222. In response to not reaching the second quantity, execute S223.

[0073] In some embodiments, the step of matching the first point cloud data sequence with the base map includes: in response to each piece of the first point cloud data in the first point cloud data sequence matching the base map, determining that the first point cloud data sequence matches the base map; in response to there being some first point cloud data in the first point cloud data sequence that does not match the base map, determining that the first point cloud data sequence does not match the base map.

[0074] In some embodiments, the first point cloud data sequence includes a continuous third quantity of frames of the first point cloud data. The step of matching the first point cloud data sequence with the base map includes: fusing the third quantity of frames of the first point cloud data in the first point cloud data sequence to obtain fused point cloud data; in response to the fused point cloud data matching the base map, determining that the first point cloud data sequence matches the base map; in response to the fused point cloud data not matching the base map, determining that the first point cloud data sequence does not match the base map.

[0075] S222: Determine that the positioning and deviation correction conditions are met.

[0076] S223: Determine that the positioning and deviation correction conditions are not met.

[0077] In response to the positioning and deviation correction conditions being met, execute S23. In response to the positioning and deviation correction conditions not being met, execute S24.

[0078] S23: Determine that the current sub-map is the target sub-map.

[0079] S24: Determine that the current sub-map is not the target sub-map.

[0080] In some embodiments, in response to the positioning and deviation correction conditions being met, the robot can be controlled to stop collecting the first point cloud data. In response to the positioning and deviation correction conditions not being met, the robot can be controlled to continue collecting the first point cloud data to update the current sub-map, and the steps after constructing the current sub-map using the currently collected first point cloud data are repeatedly executed.

[0081] In some embodiments, after S2, it further includes: merging the target sub-map and the base map based on the first relative relationship. It can be understood that when the overall environment where the robot works changes, merging the target sub-map and the base map can update the base map in a timely manner. Thus, while the robot is performing the work task, the changes in the overall environment are updated to the base map, ensuring that the robot does not need to perform positioning and deviation correction when it subsequently enters the changed part of the overall environment. In addition, compared with directly using the second relative relationship obtained by rough matching as the first relative relationship, the first relative relationship obtained by fine matching has higher accuracy, and when used for merging the base map and the target sub-map, it can improve the accuracy and consistency of the merged base map.

[0082] In some embodiments, after S1, it further includes: determining whether the robot is in the positioning and deviation correction state; in response to the robot not being in the positioning and deviation correction state, execute S2 - S3. The robot's positioning and deviation correction state refers to the state where the robot is performing the positioning and deviation correction task. For example, constructing the target sub-map.

[0083] In some embodiments, the robot positioning and deviation correction method provided in this application further includes: during the construction of the target sub-map, determining whether the robot is in the repositioning state; in response to the robot being in the repositioning state, end the construction of the target sub-map. The repositioning state refers to the state where the robot restarts to obtain its initial pose. For example, when the sweeping robot is picked up, returns to the base station, or cancels the execution of the work task, the repositioning state will be triggered.

[0084] To facilitate the understanding of this application, the robot positioning and deviation correction method provided in this application is described below by way of a specific example:

[0085] Figure 5It is a schematic structural diagram of an embodiment of the software architecture of the robot positioning and deviation correction method provided by this application. As Figure 5 shown, the software architecture includes a positioning deviation detection module, a target sub-map construction module, a target sub-map and base map matching module, and a target sub-map and base map merging and deviation correction module.

[0086] Figure 6 It is a schematic flowchart of the robot positioning and deviation correction method implemented based on the software architecture of this application.

[0087] As Figure 6 shown, the robot positioning and deviation correction method includes:

[0088] 1. Positioning deviation detection module

[0089] (1) During the process of controlling the movement of the robot using the planned working path, determine whether the robot has a positioning deviation based on the fifth number of frames of second point cloud data continuously collected by the robot.

[0090] (2) Determine whether the robot is already in the positioning and deviation correction state.

[0091] If the robot is not in the positioning and deviation correction state, proceed to (3); if it is in the positioning and deviation correction state, end.

[0092] 2. Target sub-map construction module

[0093] (3) Control the robot to continue moving, construct a target sub-map during the continuous movement of the robot, and the robot normally executes the work task during the continuous movement.

[0094] Specifically, during the continuous movement of the robot, update one frame of first point cloud data to the current sub-map; when there are 3 sequences of first point cloud data accumulated in the sub-map that match the base map, and under these 3 sequences of first point cloud data, the pose change amount of the robot satisfies the odometer constraint, use the current sub-map as the target sub-map and end the construction of the target sub-map.

[0095] (4) During the construction of the target sub-map, if the robot is not in the repositioning state, continue to construct the target sub-map; if it is in the repositioning state, end.

[0096] 3. Target sub-map and base map matching module

[0097] (5) Obtain the first relative relationship between the target sub-map and the base map.

[0098] Continue to control the movement of the robot, obtain the third point cloud data of the fourth number of frames, and update the target submap using the third point cloud data of the fourth number of frames. Then, perform a rough match (fast-CSM match) between the third point cloud data of the fourth number of frames and the base map to obtain the second relative relationship between the target submap and the base map. Based on the second relative relationship, perform a fine match (ICP) between the third point cloud data of the fourth number of frames and the base map to obtain the first relative relationship between the target submap and the base map.

[0099] 4. Target Submap and Base Map Merging and Rectification Module

[0100] (6) Rectify the final pose of the robot under the target submap based on the first relative relationship to obtain the final pose of the robot under the base map.

[0101] (7) Merge the target submap and the base map to update the base map.

[0102] In the above specific example, first, it is necessary to detect the positioning deviation of the robot according to the matching situation between the second point cloud data of the fifth number of frames and the base map. After detecting the positioning deviation, immediately construct the target submap. The machine works normally during the construction of the target submap. Secondly, during the construction of the target submap, match the current submap and the base map. When 3 sequences of the first point cloud data in the current submap match the base map, the current submap is used as the target submap, and the construction of the target submap ends. Finally, fuse the target submap and the base map, and apply the first relative relationship between the target submap and the base map to the final pose of the robot under the target submap to achieve positioning rectification.

[0103] Through the above method, the positioning rectification of the robot can be realized, enabling the robot to complete the work task normally. Moreover, even if the overall environment changes partially, the robot can be guided to the unchanged part of the overall environment by constructing the target submap to achieve positioning rectification. In addition, merging the target submap and the base map can realize the automatic update of the base map and provide an updated base map in a timely manner for subsequent positioning, thereby maintaining the long-term robustness of the robot's positioning.

[0104] Figure 7 is a schematic structural diagram of an embodiment of the robot positioning rectification device of the present application. As Figure 7 shown, the robot positioning rectification device 40 includes a detection module 41, a map construction module 42, and a rectification module 43.

[0105] Among them, the detection module 41 is used to detect the positioning deviation of the robot.

[0106] The map construction module 42 is used to control the movement of the robot and construct a target submap of the local environment where the robot is located based on the first point cloud data collected by the robot during the movement. Among them, at least part of the first point cloud data in the target submap matches the base map of the overall environment.

[0107] The deviation correction module 43 is configured to correct the final pose of the robot under the target sub - graph based on the first relative relationship between the target sub - graph and the base map, so as to obtain the final pose of the robot under the base map.

[0108] For other detailed descriptions of the robot positioning and deviation correction device 40, please refer to the foregoing method embodiments, which will not be elaborated here.

[0109] Figure 8 It is a schematic structural diagram of an embodiment of an electronic device of the present application. As Figure 8 shown, the electronic device 50 includes a memory 51 and a processor 52. The processor 52 is configured to execute program instructions stored in the memory 51 to implement the steps in any of the foregoing method embodiments. In a specific implementation scenario, the electronic device 50 may include, but is not limited to: a robot, a microcomputer, a server. In addition, the electronic device 50 may also include a carrying device such as a laptop computer, a tablet computer, etc., which will not be limited here.

[0110] Specifically, the processor 52 is configured to control itself and the memory 51 to implement the steps in any of the foregoing method embodiments. The processor 52 may also be referred to as a CPU (Central Processing Unit). The processor 52 may be an integrated circuit chip with signal processing capabilities. The processor 52 may also be a general - purpose processor, a digital signal processor (DSP), an application - specific integrated circuit (ASIC), a field - programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general - purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Additionally, the processor 52 may be implemented jointly by integrated circuit chips.

[0111] Please refer to Figure 9 , Figure 9 It is a schematic structural diagram of an embodiment of a computer - readable storage medium of the present application. The computer - readable storage medium 60 has program instructions 61 stored thereon. When the program instructions 61 are executed by a processor, the steps in any of the foregoing method embodiments are implemented.

[0112] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the methods described in the foregoing method embodiments. The specific implementation can refer to the description of the foregoing method embodiments. For the sake of brevity, it will not be elaborated here.

[0113] The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments. For their similarities, reference can be made to each other. For the sake of brevity, they will not be elaborated herein.

[0114] In several embodiments provided in the present application, it should be understood that the disclosed methods and apparatuses can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, units or components can be combined or integrated into another system, or some features can be ignored or not executed. For another image position, the coupling or direct coupling or communication connection between the phases shown or discussed can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.

[0115] In addition, in each embodiment of the present application, each functional unit can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods in various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes.

Claims

1. A robot positioning and deviation correction method, characterized in that Including: Detecting that there is a positioning deviation of the robot; Controlling the movement of the robot, and constructing a target sub-map of the local environment where the robot is located based on the first point cloud data collected by the robot during the movement, wherein at least part of the first point cloud data in the target sub-map matches the base map of the overall environment; Based on the first relative relationship between the target sub-map and the base map, correcting the final pose of the robot under the target sub-map to obtain the final pose of the robot under the base map.

2. The method according to claim 1, wherein The constructing a target sub-map of the local environment where the robot is located based on the first point cloud data collected by the robot during the movement includes: Constructing a current sub-map using the currently collected first point cloud data; Determining whether the current sub-map meets the positioning correction condition, where the positioning correction condition includes that the number of frames of the first point cloud data that match the base map in the current sub-map reaches a first quantity, or the number of sequences of the first point cloud data that match the base map in the current sub-map reaches a second quantity; In response to meeting the positioning correction condition, determining the current sub-map as the target sub-map.

3. The method according to claim 2, wherein The constructing a target sub-map of the local environment where the robot is located based on the first point cloud data collected by the robot during the movement further includes: In response to meeting the positioning correction condition, controlling the robot to stop collecting the first point cloud data; In response to not meeting the positioning correction condition, controlling the robot to continue collecting the first point cloud data to update the current sub-map, and repeating the steps of constructing the current sub-map using the currently collected first point cloud data and the subsequent steps.

4. The method according to claim 2, wherein The determining whether the current sub-map meets the positioning correction condition includes: Judging whether the number of sequences of the first point cloud data that match the base map in the current sub-map reaches the second quantity; In response to reaching the second quantity, determining that the positioning correction condition is met; In response to not reaching the second quantity, determining that the positioning correction condition is not met.

5. The method according to claim 4, wherein The first point cloud data sequence includes a third quantity of consecutive frames of the first point cloud data. The step of matching the first point cloud data sequence with the base map includes: Fusing the third quantity of frames of the first point cloud data in the first point cloud data sequence to obtain fused point cloud data; In response to the fused point cloud data matching the base map, determining that the first point cloud data sequence matches the base map; In response to the fused point cloud data not matching the base map, determining that the first point cloud data sequence does not match the base map.

6. The method according to claim 2, characterized in that, The positioning correction condition further includes: the pose change amount of the robot under the current sub-map and the base map satisfies the odometer constraint.

7. The method according to claim 1, characterized in that, Before the correcting the final pose of the robot under the target sub-map based on the first relative relationship between the target sub-map and the base map to obtain the final pose of the robot under the base map, it includes: Determining the part to be matched in the base map corresponding to the target sub-map; Matching the target sub-map with the part to be matched to obtain the first relative relationship.

8. The method according to claim 1, wherein Before correcting the final pose of the robot under the target subgraph based on the first relative relationship between the target subgraph and the base map to obtain the final pose of the robot under the base map, it includes: Continuing to control the movement of the robot, updating the target subgraph based on the fourth number of frames of the third point cloud data collected by the robot during the movement; and obtaining the first relative relationship based on the fourth number of frames of the third point cloud data.

9. The method according to claim 8, wherein The obtaining the first relative relationship based on the fourth number of frames of the third point cloud data includes: Coarsely matching the fourth number of frames of the third point cloud data with the base map to obtain a second relative relationship; Based on the second relative relationship, finely matching the fourth number of frames of the third point cloud data with the base map to obtain the first relative relationship.

10. The method according to claim 1, wherein The method further includes: Merging the target subgraph and the base map based on the first relative relationship.

11. The method according to claim 1, characterized in that, The detecting that the robot has a positioning deviation includes: Obtaining the fifth number of frames of the second point cloud data continuously collected by the robot; In response to all of the second point cloud data in the fifth number of frames matching the base map, determining that the robot has no positioning deviation; In response to there being second point cloud data that does not match the base map, determining that the robot has a positioning deviation.

12. A robot positioning and deviation correction device, characterized in that, It includes: A detection module for detecting that the robot has a positioning deviation; A map construction module for controlling the movement of the robot and constructing a target subgraph of the local environment where the robot is located based on the first point cloud data collected by the robot during the movement, wherein at least part of the first point cloud data in the target subgraph matches the base map of the overall environment; An error correction module for correcting the final pose of the robot under the target subgraph based on the first relative relationship between the target subgraph and the base map to obtain the final pose of the robot under the base map.

13. An electronic device, characterized in that, It includes a memory and a processor, and the processor is used to execute the program instructions stored in the memory to implement the method according to any one of claims 1 to 11.

14. A computer-readable storage medium having program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, the method according to any one of claims 1 to 11 is implemented.