Relocation method of self-moving device

By adjusting the position of the self-mobile device, the scanning range of the lidar sensor covers 360°, the relocation failure caused by the limited observation angle of the sunken lidar is solved and the relocation accuracy is improved.

CN120215480APending Publication Date: 2025-06-27HONGYANG HOME APPLIANCES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311825784.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-27
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

Due to the limited observation angle of the sinking lidar, the surrounding environment information obtained by the sweeping robot during repositioning is incomplete, which increases the probability of repositioning failure, resulting in low accuracy of the repositioning result verification.

Method used

By adjusting the position of the self-mobile device during multiple repositioning, the difference between the first heading angle and the second heading angle is greater than the mutual periphery angle of the first preset angle, so that the scanning range of the lidar sensor covers 360°, thereby extracting complete environmental information.

Benefits of technology

It improves the accuracy of relocation, reduces the probability of relocation failure, and ensures the normal progress of the robot's subsequent work.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120215480A_ABST
    Figure CN120215480A_ABST
Patent Text Reader

Abstract

The invention relates to a repositioning method of a self-moving device, the self-moving device is provided with a laser radar sensor whose observation range is a first preset angle, and the first preset angle is less than 270 degrees. According to the method and the device, the self-moving equipment pose during multiple repositioning is adjusted, and the difference between the first course angle during first repositioning and the second course angle during second repositioning is controlled to be greater than the mutual circumference angle of the first preset angle, so that when the self-moving equipment moves from the first pose to the second pose for repositioning, the self-moving equipment can be repositioned; the scanning range of the laser radar sensor on the self-moving equipment can be ensured to cover 360 degrees around the self-moving equipment, so that complete environment information is extracted, and the repositioning accuracy is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of robotics, and particularly to a method for relocating a self - moving device. Background Art

[0002] During the operation of an automatic mapping floor - cleaning robot, the robot will inevitably lose its current pose information due to reasons such as getting out of trouble or being moved, that is, lose its position and angle in the global map. At this time, the robot will perform a relocating process to re - obtain the current pose information, otherwise the robot will not be able to continue working properly.

[0003] Generally, during the relocating process, the floor - cleaning robot obtains local environmental information or local map information around itself through environmental perception devices such as lidar, and further matches the local environmental information or local map information with the global map. When the matching degree between the two is low, it is considered that the relocating fails this time.

[0004] However, for a floor - cleaning robot equipped with a downward - mounted lidar, due to structural limitations, the observation angle of the lidar is limited and cannot observe the environment 360°. The surrounding environmental information obtained by the floor - cleaning robot during relocating is incomplete, increasing the probability of relocating failure, resulting in a low accuracy rate for verifying the relocating result, and the subsequent work of the robot will be greatly affected. Summary of the Invention

[0005] To solve the above - mentioned technical problems, the present disclosure provides a method for relocating a self - moving device to reduce the probability of relocating failure.

[0006] In a first aspect, an embodiment of the present disclosure provides a method for relocating a self - moving device. A lidar sensor with an observation range of a first preset angle is installed on the self - moving device, and the first preset angle is less than 270°. The method includes:

[0007] Step (1), obtaining a first relocating result of the self - moving device at a first pose in a local map and a verification result of the first relocating result. The first pose includes a first heading angle in the current map. The first relocating result includes a first relocating pose of the self - moving device in the global map.

[0008] Step (2), if it is determined according to the verification result that the accuracy of the first relocating result is greater than or equal to a first threshold, determining that the relocating task corresponding to the first relocating result is successful.

[0009] Step (3), if it is determined according to the verification result that the accuracy of the first repositioning result is less than the first threshold, then control the self-mobile device to move to the second pose according to the local map, where the second pose includes a second heading angle; the absolute value of the difference between the first heading angle and the second heading angle is greater than the circumferential angle of the first preset angle; control the self-mobile device to reposition at the second pose, and repeat the above steps (1) to (3) until the repositioning task is successful.

[0010] In some embodiments, the controlling the self-mobile device to move to the second pose includes:

[0011] Determine the second heading angle according to the first preset angle;

[0012] Determine the obstacle points in the environmental information collected by the self-mobile device in the first pose;

[0013] Determine the target moving direction of the self-mobile device according to the distance values between the self-mobile device and at least one obstacle point;

[0014] Control the self-mobile device to move a preset distance in the target moving direction and rotate to the second heading angle.

[0015] In some embodiments, the determining the target moving direction of the self-mobile device according to the distance values between the self-mobile device and at least one obstacle point includes:

[0016] Determine at least one preset area around the self-mobile device;

[0017] For each of the preset areas, determine the distance values between the self-mobile device and the obstacle points in the preset area according to the environmental information collected by the self-mobile device in the first pose;

[0018] Determine the middle direction of the preset area with the smallest distance value as the target moving direction of the self-mobile device.

[0019] In some embodiments, the determining the distance values between the self-mobile device and the obstacle points in the preset area for each of the preset areas according to the environmental information collected by the self-mobile device in the first pose includes:

[0020] Divide the preset area into multiple preset sub-areas;

[0021] For each of the preset sub-areas, use the minimum value of the distances between the self-mobile device and the obstacle points in the preset sub-area as the distance value between the obstacle points in the preset sub-area and the self-mobile device;

[0022] Calculate the average value of the distance values between the obstacle points in multiple preset sub-regions in the preset region and the self-moving device to obtain the distance value between the self-moving device and the obstacle points in the preset region.

[0023] In some embodiments, controlling the self-moving device to move a preset distance in the target moving direction includes:

[0024] When the self-moving device collides with an obstacle during the process of moving in the target moving direction, control the self-moving device to bypass the obstacle and then continue to move in the target moving direction.

[0025] In some embodiments, if it is determined according to the verification result that the accuracy of the first relocalization result is less than the first threshold, then controlling the self-moving device to move to the second pose according to the local map includes:

[0026] If it is determined according to the verification result that the accuracy of the first relocalization result is less than or equal to the second threshold, it is determined that the relocalization task corresponding to the first relocalization result fails, and the second threshold is less than the first threshold;

[0027] If it is determined according to the verification result that the accuracy of the first relocalization result is less than the first threshold and greater than the second threshold, then control the self-moving device to move to the second pose according to the local map.

[0028] In some embodiments, before controlling the self-moving device to move to the second pose, it further includes:

[0029] Judge whether there is historical pose relocalization information in the preset storage space. The historical pose relocalization information includes the historical pose under the local map and the historical relocalization result corresponding to the historical pose. The historical relocalization result includes the historical relocalization pose of the self-moving device under the global map, and the accuracy of the historical relocalization result is less than the first threshold and greater than the second threshold;

[0030] If there is no historical pose relocalization information, store the first pose and the first relocalization result as historical pose relocalization information in the preset storage space;

[0031] If there is historical pose relocalization information, perform a secondary verification on the first relocalization result according to the first pose, the first relocalization pose, and the historical pose relocalization information, and determine whether to control the self-moving device to move to the second pose according to the secondary verification result.

[0032] In some embodiments, the method of repositioning the first repositioning result according to the first pose, the first repositioning pose, and the historical pose repositioning information, and determining whether to control the self-mobile device to move to the second pose according to the local map based on the result of the secondary verification includes:

[0033] Calculate the local pose difference according to the first pose and the historical pose;

[0034] Calculate the global pose difference according to the first repositioning pose and the historical repositioning pose;

[0035] If the difference between the local pose difference and the global pose difference is less than the pose difference threshold, it is determined that the repositioning task corresponding to the first repositioning result is successful;

[0036] If the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, control the self-mobile device to move to the second pose according to the local map.

[0037] In some embodiments, after the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, it further includes:

[0038] Replace the historical pose repositioning information with the first pose repositioning information, where the first pose repositioning information includes the first pose and the first repositioning result.

[0039] In some embodiments, the local pose difference includes a local position difference and a local angle difference, and the global pose difference includes a global position difference and a global angle difference. Before the difference between the local pose difference and the global pose difference is less than the pose difference threshold, it further includes:

[0040] If the difference between the local position difference and the global position difference is less than the preset position difference threshold, and the difference between the local angle difference and the global angle difference is less than the preset angle difference threshold, it is determined that the difference between the local pose difference and the global pose difference is less than the pose difference threshold.

[0041] The self-mobile device repositioning method provided by the embodiments of the present disclosure controls the difference between the first heading angle and the second heading angle to be greater than the circumferential angle of the first preset angle by adjusting the pose of the self-mobile device during multiple repositionings, so that when the self-mobile device moves from the first pose to the second pose, it can ensure that the scanning range of the lidar sensor on the self-mobile device covers 360° around the self-mobile device, so as to extract complete environmental information and improve the repositioning accuracy. Description of the Drawings

[0042] The accompanying drawings herein are incorporated into and constitute a part of this specification, showing embodiments consistent with the present disclosure and, together with the specification, are used to explain the principles of the present disclosure.

[0043] To more clearly illustrate the technical solutions in the embodiments of the present disclosure or in the prior art, the following briefly introduces the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0044] Figure 1A 、 1B Schematic structural diagram of a self - moving device provided by an embodiment of the present disclosure;

[0045] Figure 2 Flowchart of a relocalization method provided by an embodiment of the present disclosure;

[0046] Figure 3 Schematic diagram of a preset area provided by an embodiment of the present disclosure;

[0047] Figure 4 Schematic diagram of a self - moving device bypassing provided by an embodiment of the present disclosure;

[0048] Figure 5 Schematic diagram of pose comparison provided by an embodiment of the present disclosure;

[0049] Figure 6 Flowchart of a relocalization method provided by another embodiment of the present disclosure;

[0050] Figure 7 Schematic structural diagram of a relocalization result verification device provided by an embodiment of the present disclosure;

[0051] Figure 8 Schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. Detailed implementation manners

[0052] To be able to more clearly understand the above - mentioned objects, features, and advantages of the present disclosure, the following further describes the solutions of the present disclosure. It should be noted that, without conflict, the embodiments of the present disclosure and the features in the embodiments can be combined with each other.

[0053] In the following description, many specific details are set forth to fully understand the present disclosure, but the present disclosure can also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only a part of the embodiments of the present disclosure, rather than all of the embodiments.

[0054] The embodiments of the present disclosure provide a relocalization method for a self - moving device. The following introduces this method in combination with specific embodiments.

[0055] Figure 1A 、 Figure 1B is a schematic structural diagram of a self - moving device provided by an embodiment of the present disclosure. As shown in Figure 1A , this self - moving device is an intelligent floor - cleaning robot. Different from common floor - cleaning robots with protruding lidar, the lidar of this floor - cleaning robot is sunken inside the body, and the laser light emitted by the lidar is emitted through a lidar outlet opened on the side of the body. The observation range of the lidar is determined according to the position of the lidar and the opening angle of the lidar outlet. As shown in Figure 1B , due to the structural limitation of the lidar outlet, the observation range of this lidar is 220°, which is less than 270°.

[0056] Figure 2 is a flowchart of a relocalization method provided by an embodiment of the present disclosure. This method can be applied to self - moving devices, such as intelligent floor - cleaning robots, etc. Specifically, as shown in Figure 1A 、 1B , a lidar sensor with a scanning range of a first preset angle is installed, and the first preset angle is less than 270°. It can be understood that the relocalization method provided by the embodiments of the present disclosure can also be applied in other scenarios. Other environmental perception devices with a perception angle less than 270° can also be installed on the self - moving device. The embodiments of the present disclosure are only described by taking the above - mentioned lidar sensor as an example.

[0057] The following introduces the relocalization method shown in Figure 1. The specific steps included in this method are as follows:

[0058] S201. Obtain the first relocalization result of the self - moving device at the first pose in the local map and the verification result of the first relocalization result. The first pose includes the first heading angle in the current map; the first relocalization result includes the first relocalization pose of the self - moving device in the global map.

[0059] Those skilled in the art can understand that generally, the mid - line of the robot's field of view is the forward direction of the robot. The heading angle of the robot is the angle of the robot's forward direction on the map where the robot is located. As shown in Figure 1B , the current heading angle of this robot is 90°.

[0060] When starting relocalization, the self - moving device creates a local map based on the surrounding environment information collected by the laser sensor, and matches the collected surrounding environment information with the global map, so as to obtain the search - matching pose of the self - moving device at the first pose, that is, the first relocalization result.

[0061] After that, the first relocalization result is verified to determine the accuracy of the first relocalization result according to the verification result.

[0062] For example, since the global map has been pre-calibrated horizontally and vertically, based on the first relocalization result, the self-moving device converts the acquired laser point cloud into the global map coordinate system, determines whether the line segments in the laser point cloud are in the horizontal or vertical direction, and thus determines the accuracy of the first relocalization result according to the proportion of the line segments in the horizontal or vertical direction. Specifically, the higher the proportion of the line segments in the horizontal or vertical direction, the higher the accuracy of the first relocalization result; the lower the proportion of the line segments in the horizontal or vertical direction, the lower the accuracy of the first relocalization result.

[0063] For another example, obtain the pose information of the self-moving device at the historical credible moment and the pose information of the self-moving device at the relocalization moment, calculate the theoretical heading angle difference of the self-moving device by taking the difference between the two pose information, and calculate the actual heading angle difference of the self-moving device by taking the difference between the gyroscope information of the self-moving device at the historical credible moment and the gyroscope information of the self-moving device at the relocalization moment, and determine the accuracy of the first relocalization result based on the similarity between the theoretical heading angle difference and the actual heading angle difference. Specifically, the higher the similarity between the theoretical heading angle difference and the actual heading angle difference, the higher the accuracy of the first relocalization result; the lower the similarity between the theoretical heading angle difference and the actual heading angle difference, the lower the accuracy of the first relocalization result.

[0064] It can be understood that other methods can also be used to calculate the accuracy of the first relocalization result, and the embodiments of the present disclosure do not limit this.

[0065] After determining the accuracy of the first relocalization result according to the verification result of the first relocalization result, determine the next step to be executed according to the accuracy of the first relocalization result.

[0066] Specifically, if the accuracy of the first relocalization result is greater than or equal to the first threshold, execute S202; or, if the accuracy of the first relocalization result is less than the first threshold, execute S203-S104.

[0067] S202. If it is determined according to the verification result that the accuracy of the first relocalization result is greater than or equal to the first threshold, it is determined that the relocalization task corresponding to the first relocalization result is successful.

[0068] If the accuracy of the first relocalization result is greater than or equal to the first threshold, it is considered that the credibility of the first relocalization result is relatively high, and it is directly determined that this relocalization operation is successful.

[0069] S203. If it is determined according to the verification result that the accuracy of the first relocalization result is less than the first threshold, the self-mobile device is controlled to move to the second pose according to the local map, where the second pose includes a second heading angle on the current map; the self-mobile device is controlled to perform relocalization again at the second pose, and the above steps are repeatedly executed.

[0070] If the accuracy of the first relocalization result is less than the first threshold, the credibility of the first relocalization result is generally average. It is necessary to control the self-mobile device to move to the second pose and perform the relocalization operation again to obtain the second relocalization result.

[0071] In some embodiments, the first pose includes a first heading angle, and the second pose includes a second heading angle. Specifically, the absolute value of the difference between the first heading angle and the second heading angle is greater than the reciprocal angle of the first preset angle.

[0072] Wherein, if the sum of two angles in the same plane is 360°, these two angles are reciprocal angles to each other. The absolute value of the difference between the first heading angle and the second heading angle is greater than the reciprocal angle of the first preset angle. Therefore, when the self-mobile device is controlled to move from the first pose to the second pose, it can ensure that the scanning range of the lidar sensor on the self-mobile device covers 360° around the self-mobile device.

[0073] For example, the difference between the first heading angle and the second heading angle can be 180°, that is, the orientations of the self-mobile robot are opposite in two adjacent relocalizations.

[0074] It should be noted that even if the observation range of the robot is less than 180 degrees, according to the solution disclosed in the present application, after performing relocalization multiple times by looping through steps (1) to (3), it can also ensure that the scanning range of the lidar sensor on the self-mobile device covers 360° around the self-mobile device.

[0075] In some embodiments, in addition to the first threshold, a second threshold can be added. The first threshold is greater than the second threshold, that is, the first threshold has a more stringent requirement for the accuracy of the first relocalization result than the second threshold. If the accuracy of the first relocalization result is less than or equal to the second threshold, it is considered that the credibility of the first relocalization result is low, and it is directly determined that this relocalization operation fails. If the accuracy of the first relocalization result is less than the first threshold and greater than the second threshold, the credibility of the first relocalization result is generally average, and it is impossible to directly determine whether this relocalization operation is successful or failed. Therefore, the self-mobile device is controlled to move to the second pose and perform the relocalization operation again to obtain the second relocalization result.

[0076] By setting a relatively stricter first threshold and a relatively looser second threshold to determine whether the relocalization operation fails, when the accuracy of the relocalization result is between the first threshold and the second threshold, control the self-mobile device to adjust its pose and then perform relocalization again, without easily negating a relocalization operation, reducing the probability of relocalization failure on the basis of ensuring the accuracy of relocalization result verification.

[0077] In one embodiment, after controlling the self-mobile device to move to the second pose, control the self-mobile device to perform relocalization again at the second pose to obtain a second relocalization result of the self-mobile device at the second pose, and also verify the second relocalization result to obtain a verification result of the second relocalization result.

[0078] If it is determined according to the verification result of the second relocalization result that the accuracy of the second relocalization result is greater than or equal to the first threshold, it is determined that the relocalization task corresponding to the second relocalization result is successful. If it is determined according to the verification result of the second relocalization result that the accuracy of the second relocalization result is less than the first threshold, control the self-mobile device to move to the third pose according to the local map. The third pose includes a third heading angle, and the difference between the second heading angle and the third heading angle is also greater than the mutual circumference angle of the first preset angle; control the self-mobile device to perform relocalization again at this third pose, and so on.

[0079] In some embodiments, record the number of times corresponding to the current relocalization operation each time a relocalization operation is performed. When the above steps loop more than a preset number of times, that is, when the number of relocalizations exceeds the preset number of times, determine that the relocalization task fails.

[0080] In some embodiments, if the self-mobile device still fails to relocalize after multiple pose changes (the number of relocalizations exceeds the preset number of times), control the self-mobile device to return to the position at the first relocalization. Specifically, the self-mobile device creates a local map in real time according to the surrounding environment information during the relocalization process, and controls the self-mobile device to return to the position at the first relocalization according to the local map after the relocalization fails, avoiding the user being unable to find the self-mobile device due to multiple pose changes.

[0081] In an embodiment of the present disclosure, a first relocalization result of a self - moving device at a first pose in a local map and a verification result of the first relocalization result are obtained. The first pose includes a first heading angle; the first relocalization result includes a first relocalization pose of the self - moving device in a global map. If it is determined according to the verification result that the accuracy of the first relocalization result is greater than or equal to a first threshold, it is determined that the relocalization task corresponding to the first relocalization result is successful. If it is determined according to the verification result that the accuracy of the first relocalization result is less than the first threshold, the self - moving device is controlled to move to a second pose according to the local map. The second pose includes a second heading angle; the difference between the first heading angle and the second heading angle is greater than a circumferential angle of the first preset angle. The self - moving device is controlled to perform relocalization again at the second pose, and the above steps are repeatedly executed. By adjusting the pose of the self - moving device during multiple relocalizations and controlling the difference between the first heading angle and the second heading angle to be greater than the circumferential angle of the first preset angle, when the self - moving device moves from the first pose to the second pose, it can ensure that the scanning range of the lidar sensor on the self - moving device covers 360° around the self - moving device, so as to extract complete environmental information and improve the relocalization accuracy.

[0082] In addition, by setting a more stringent first threshold and a relatively loose second threshold to determine whether the relocalization operation fails, when the accuracy of the relocalization result is between the first threshold and the second threshold, the self - moving device is controlled to adjust its pose and then perform relocalization again, without easily negating a relocalization operation, which reduces the probability of relocalization failure on the basis of ensuring the accuracy of relocalization result verification.

[0083] On the basis of the above - mentioned embodiment, the controlling the self - moving device to move to the second pose includes: determining obstacle points in the environmental information collected by the self - moving device at the first pose; determining the target moving direction of the self - moving device according to the distance values between the self - moving device and at least one obstacle point; after controlling the self - moving device to move a preset distance in the target moving direction, rotating to the second heading angle.

[0084] When starting relocalization, the self - moving device starts a new thread to create a local map of a preset area range around the location where the self - moving device is located, and at the same time performs search matching and relocalization operations in the global map according to the collected environmental information.

[0085] When the accuracy of the first relocalization result is less than the first threshold and greater than the second threshold, it is necessary to control the self - moving device to move to the second pose and then perform relocalization operations again. During this process, first, the moving direction of the self - moving device from the first pose to the second pose is determined.

[0086] In some embodiments, the self - moving device is controlled to move in a direction that is relatively open, that is, a direction with fewer obstacles, greater distances to obstacles, or no obstacles.

[0087] Specifically, determining the target moving direction of the self - moving device according to the distance value between the self - moving device and at least one obstacle point includes: determining at least one preset area around the self - moving device; for each of the preset areas, determining the distance value between the self - moving device and the obstacle points in the preset area according to the environmental information collected by the self - moving device in the first pose; and determining the middle direction of the preset area with the smallest distance value as the target moving direction of the self - moving device.

[0088] According to the local map, the area around the self - moving device is divided into at least one preset area, the distance values between the obstacle points in each preset area and the self - moving device are determined to find out the distribution of obstacles in the preset area, and further, a preset area with the smallest distance value between the self - moving device and the obstacle points in the preset area is determined as a relatively open preset area, and the self - moving device is controlled to move in the middle direction of this preset area.

[0089] In some embodiments, for each of the preset areas, determining the distance value between the self - moving device and the obstacle points in the preset area according to the environmental information collected by the self - moving device in the first pose includes: calculating the average value of the distance values between each obstacle point in the preset area and the self - moving device to obtain the distance value between the self - moving device and the obstacle points in the preset area; or obtaining the minimum value of the distance values between each obstacle point in the preset area and the self - moving device to obtain the distance value between the self - moving device and the obstacle points in the preset area.

[0090] In some embodiments, for each of the preset areas, determining the distance value between the self - moving device and the obstacle points in the preset area according to the environmental information collected by the self - moving device in the first pose includes: dividing the preset area into multiple preset sub - areas; for each of the preset sub - areas, taking the minimum value of the distances between the self - moving device and each obstacle point in the preset sub - area as the distance value between the obstacle points in the preset sub - area and the self - moving device; and calculating the average value of the distance values between the obstacle points in the multiple preset sub - areas in the preset area and the self - moving device to obtain the distance value between the self - moving device and the obstacle points in the preset area.

[0091] Specifically, the preset area is divided into a plurality of preset sub-areas according to a preset angular resolution. For example, each preset area covers a sector area with a central angle of 45° centered on the self-mobile device. The preset angular resolution is set to 1°. The preset area is divided into a plurality of preset sub-areas according to the preset angular resolution, that is, the preset area of the sector with a central angle of 45° is evenly divided into 45 preset sub-areas of sectors. Further, the distance between each obstacle point and the self-mobile device in each preset sub-area is calculated, and the distance between the obstacle point and the self-mobile device in this preset sub-area is determined according to the obstacle point closest to the self-mobile device. Finally, the average value of the distances between the obstacle points and the self-mobile device in the 45 preset sub-areas in the preset area of each sector with a central angle of 45° is calculated to obtain the distance between the obstacle points and the self-mobile device in this preset area.

[0092] Figure 3 FIG. is a schematic diagram of a preset area provided by an embodiment of the present disclosure. As Figure 3 shown, the area around the self-mobile device is divided into 8 preset areas, which are respectively denoted as preset area 1 to preset area 8. Further, the distance between the obstacle points and the self-mobile device in each preset area is determined. The preset area 8 is determined from the 8 preset areas as the preset area with the largest distance between the obstacle points and the self-mobile device, and the middle direction of the preset area 8 is used as the target moving direction of the self-mobile device.

[0093] Based on the above embodiment, controlling the self-mobile device to move a preset distance in the target moving direction includes: when the self-mobile device collides with an obstacle during the process of moving in the target moving direction, controlling the self-mobile device to bypass the obstacle and then continue to move in the target moving direction.

[0094] Figure 4 FIG. is a schematic diagram of the self-mobile device bypassing provided by an embodiment of the present disclosure. As Figure 4 shown, during the process of the self-mobile device moving in the target moving direction determined in the above embodiment, it collides with an obstacle. In order to avoid changing the moving direction of the self-mobile device as much as possible, the self-mobile device is controlled to bypass the obstacle according to a certain bypass strategy and then continue to turn to the target moving direction for movement. For example, the self-mobile device can follow the trajectory shown in Figure 4 to execute the right-edge strategy to bypass the obstacle; or, the self-mobile device can also execute the left-edge strategy to bypass the obstacle; or, the self-mobile device can also bypass the obstacle according to other bypass strategies, which are not limited in the embodiments of the present disclosure.

[0095] In the embodiments of the present disclosure, based on the ambient information of the self - moving device, after a single relocalization fails, the target direction (e.g., the relatively open direction around the self - moving device) is determined according to the local map, and then the self - moving device is controlled to explore in the target direction to facilitate the next relocalization operation, further improving the robustness and accuracy of the relocalization verification.

[0096] Meanwhile, in the embodiments of the present disclosure, if the self - moving device fails in the relocalization operation within the preset time after leaving the charging station, due to the existence of the local map, the self - moving device can still return to the charging station according to the local map.

[0097] In some embodiments, before controlling the self - moving device to move to the second pose, the method further includes: determining whether there is historical pose relocalization information in the preset storage space, where the historical pose relocalization information includes the historical pose under the local map and the corresponding historical relocalization result, the historical relocalization result includes the historical relocalization pose of the self - moving device under the global map, and the accuracy of the historical relocalization result is less than the first threshold and greater than the second threshold; if there is no historical pose relocalization information, then store the first pose and the first relocalization result as historical pose relocalization information in the preset storage space; if there is historical pose relocalization information, then perform a secondary verification on the first relocalization result according to the first pose, the first relocalization pose, and the historical pose relocalization information, and determine whether to perform the subsequent action of controlling the self - moving device to move to the second pose according to the result of the secondary verification.

[0098] The historical pose relocalization information is the relocalization information of the self - moving device at a historical moment, which at least includes the historical pose of the self - moving device during relocalization at the historical moment, the corresponding historical relocalization result, and the accuracy of the historical relocalization result, and the accuracy of the historical relocalization result is less than the first threshold and greater than the second threshold. Specifically, the historical relocalization result can be obtained from the previous relocalization operation. Since the accuracy of the historical relocalization result is less than the first threshold and greater than the second threshold, it cannot be directly determined whether the relocalization fails. Therefore, the self - moving device is controlled to move to the second pose for the next relocalization operation.

[0099] When there is no historical pose relocalization information in the preset storage space, it indicates that the previous relocalization operation (i.e., the relocalization operation at the first pose) is the first relocalization operation of this relocalization task. Then, the first pose and its corresponding first relocalization result are stored in the preset storage space, and then the self - moving device is controlled to move to the second pose for the next relocalization operation.

[0100] When there is historical pose repositioning information in the preset storage space, it indicates that before the last repositioning operation, there was an earlier historical repositioning operation for this repositioning task, and the historical repositioning result corresponding to the historical repositioning operation is less than the first threshold and greater than the second threshold. It is not yet possible to directly determine whether the repositioning fails. At this time, the first repositioning result is verified according to the first pose, the first repositioning result, and the historical pose repositioning information.

[0101] The following describes the secondary verification process of the first repositioning result in combination with specific embodiments.

[0102] In some embodiments, the secondary verification of the first repositioning result according to the first pose, the first repositioned pose, and the historical pose repositioning information includes: calculating the local pose difference according to the first pose and the historical pose; calculating the global pose difference according to the first repositioned pose and the historical repositioned pose; if the difference between the local pose difference and the global pose difference is less than the pose difference threshold, it is determined that the repositioning task corresponding to the first repositioning result is successful; or, if the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, the historical pose repositioning information is replaced with the first pose repositioning information, and the first pose repositioning information includes the first pose and the first repositioning result.

[0103] Figure 5 This is a schematic diagram of pose comparison provided by the embodiments of the present disclosure. As Figure 5 shown, in two repositioning operations, local pose information a, b and global pose information A, B are obtained respectively. Since the coordinate systems of the local map based on the local pose difference and the global map based on the global pose difference are different, it is necessary to decompose the local pose difference and the global pose difference into two dimensions of position and angle to measure their differences respectively. That is, the local pose difference includes a local position difference and a local angle difference, and the global pose difference includes a global position difference and a global angle difference.

[0104] The local pose difference is the difference between the first pose and the historical pose. Specifically, the first pose includes a first position and a first heading angle, and the historical pose includes a historical position and a historical heading angle; correspondingly, the local pose difference includes a local position difference and a local angle difference. Calculating the local pose difference according to the first pose and the historical pose includes: calculating the local position difference according to the first position and the historical position, and calculating the local angle difference according to the first heading angle and the historical heading angle.

[0105] The global pose difference is the difference between the first relocalization result and the historical relocalization result. Specifically, the first relocalization result includes the first relocalization position and the first relocalization heading angle, and the historical relocalization result includes the historical relocalization position and the historical relocalization heading angle; correspondingly, the global pose difference includes the global position difference and the global angle difference. Calculating the global pose difference according to the first relocalization result and the historical relocalization result includes: calculating the global position difference according to the first relocalization position and the historical relocalization position, and calculating the global angle difference according to the first relocalization heading angle and the historical relocalization heading angle.

[0106] After calculating the local pose difference and the global pose difference, the first relocalization result is verified according to whether the difference between the local pose difference and the global pose difference is less than the pose difference threshold. Since the first pose and the historical pose are recorded by the sensors of the self-moving device, and the first relocalization result and the historical relocalization result are obtained by the self-moving device through the matching search of the global map, the closer the local pose difference is to the global pose difference, the higher the credibility of the first relocalization result; the greater the difference between the local pose difference and the global pose difference, the lower the credibility of the first relocalization result.

[0107] Specifically, if the difference between the local pose difference and the global pose difference is less than the pose difference threshold, it is determined that the relocalization task corresponding to the first relocalization result is successful; or, if the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, the historical pose relocalization information is replaced with the first pose relocalization information, and the first pose relocalization information includes the first pose and the first relocalization result.

[0108] Among them, the difference between the local pose difference and the global pose difference includes the position difference and the angle difference. If both the position difference and the angle difference are less than the pose difference threshold, it is considered that the difference between the local pose difference and the global pose difference is less than the pose difference threshold; correspondingly, if both the position difference and the angle difference are greater than or equal to the pose difference threshold, it is considered that the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold.

[0109] Denote the first pose as (x1, y1, theta1), where x1 and y1 are the first position and theta1 is the first heading angle; denote the historical pose as (x2, y2, theta2), where x2 and y2 are the historical position and theta2 is the historical heading angle; denote the first relocalization result as (X1, Y1, THETA1), where X1 and Y1 are the first relocalization position and THETA1 is the first relocalization heading angle; denote the historical relocalization result as (X2, Y2, THETA2), where X2 and Y2 are the historical relocalization position and THETA2 is the historical relocalization heading angle.

[0110] Further calculation gives the local pose difference sub(x2 - x1, y2 - y1, theta2 - theta1), where x2 - x1 and y2 - y1 are the local position differences, and theta2 - theta1 is the local angle difference; the global pose difference SUB(X2 - X1, Y2 - Y1, THETA2 - THETA1) is calculated, where X2 - X1 and Y2 - Y1 are the global position differences, and THETA2 - THETA1 is the global angle difference.

[0111] After that, calculate the difference between the local pose difference and the global pose difference, including the position difference distance_diff and the angle angle_diff. The specific calculation process is as follows:

[0112] distance diff = abs(SEGMENT LENGTH - segment length )

[0113]

[0114]

[0115] angle_diff = abs((THETA2 - THETA1) - (theta2 - theta1))

[0116] In the embodiments of the present disclosure, the pose differences of the two relocalization results are compared and verified, as well as the pose differences of the self - moving device in the local map at the corresponding moments of the two relocalizations, to verify the relocalization results, further improving the accuracy of the verification of the relocalization results.

[0117] Figure 6 For another embodiment of the present disclosure, the flowchart of the relocalization method is as Figure 6 shown. The method includes the following steps:

[0118] S601. Reset the relocalization count to 0.

[0119] S602. Control the self - moving device to perform a relocalization operation at the current pose, and increment the relocalization count by one.

[0120] Specifically, obtain the current environmental data of the self - moving device, construct a local map, and search and match in the global map to obtain the relocalization result.

[0121] S603. Determine whether the accuracy of the relocalization result is greater than the first threshold. If so, execute S610; if not, execute S604.

[0122] S604. Determine whether the accuracy of the relocalization result is greater than a second threshold. If so, execute S608; if not, execute S605.

[0123] S605. Delete the current relocalization result.

[0124] S606. Determine whether the current number of relocalizations is greater than a preset number. If so, execute S611; if not, execute S607.

[0125] S607. Control the self - moving device to move to the next pose.

[0126] S608. Verify the relocalization result according to the historical pose relocalization information to obtain a verification result.

[0127] Specifically, for the specific process of verifying the relocalization result according to the historical pose relocalization information, refer to the verification process of the first relocalization result in the above - mentioned embodiments, which will not be elaborated here.

[0128] S609. Determine whether the relocalization result passes the verification. If so, execute S610; if not, execute S606.

[0129] S610. Determine that the relocalization is successful.

[0130] S611. Determine that the relocalization fails.

[0131] In the embodiments of the present disclosure, a more stringent first threshold and a relatively loose second threshold are set to determine whether the relocalization operation fails. When the accuracy of the relocalization result is between the first threshold and the second threshold, the self - moving device is controlled to adjust its pose and then perform relocalization again, without easily negating a relocalization operation. On the basis of ensuring the accuracy of the relocalization result verification, the probability of relocalization failure is reduced.

[0132] Figure 7 This is a schematic structural diagram of the relocalization device provided by the embodiments of the present disclosure. The relocalization device may be the self - moving device as described in the above embodiments, or the relocalization device may be a component or assembly in the self - moving device. The relocalization device provided by the embodiments of the present disclosure can execute the processing flow provided by the relocalization method embodiments, such as Figure 7As shown in the figure, the relocating device 70 includes: a first obtaining module 71, a first determining module 72, a second determining module 73, and a control module 74; wherein, the first obtaining module 71 is configured to obtain a first relocating result of the self-moving device at a first pose under a local map and a verification result of the first relocating result, the first pose including a first heading angle; the first relocating result includes a first relocating pose of the self-moving device under a global map; the first determining module 72 is configured to determine that the relocating is successful if the accuracy of the first relocating result is greater than or equal to a first threshold; the second determining module 73 is configured to, if it is determined according to the verification result that the accuracy of the first relocating result is less than the first threshold, control the self-moving device to move to a second pose according to the local map, the second pose including a second heading angle; the difference between the first heading angle and the second heading angle is greater than a circumferential angle of the first preset angle; the control module 74 is configured to control the self-moving device to relocate again at the second pose, and repeat the above steps.

[0133] Optionally, the second determining module 73 includes a first determining unit 731, a second determining unit 732, and a control unit 733; the first determining unit 731 is configured to determine the second heading angle according to the first preset angle and determine obstacle points in the environmental information collected by the self-moving device at the first pose; the second determining unit 732 is configured to determine a target moving direction of the self-moving device according to distance values between the self-moving device and at least one obstacle point; the control unit 733 is configured to control the self-moving device to move a preset distance in the target moving direction and rotate to the second heading angle.

[0134] Optionally, the second determining unit 732 is configured to determine at least one preset area around the self-moving device; for each of the preset areas, determine distance values between the self-moving device and obstacle points in the preset area according to the environmental information collected by the self-moving device at the first pose; determine an intermediate direction of the preset area with the smallest distance value as the target moving direction of the self-moving device.

[0135] Optionally, the second determining unit 732 is specifically configured to divide the preset area into a plurality of preset sub-areas; for each of the preset sub-areas, use the minimum value of the distances between the self-moving device and each obstacle point in the preset sub-area as the distance value between the obstacle points in the preset sub-area and the self-moving device; calculate an average value of the distance values between the obstacle points in the plurality of preset sub-areas in the preset area and the self-moving device to obtain the distance value between the self-moving device and the obstacle points in the preset area.

[0136] Optionally, the control unit 733 is configured to control the self-mobile device to bypass the obstacle and then continue to move in the target moving direction when the self-mobile device collides with an obstacle during the movement in the target moving direction.

[0137] Optionally, the second determination unit 732 is configured to determine that the relocalization task corresponding to the first relocalization result fails if it is determined according to the verification result that the accuracy of the first relocalization result is less than or equal to a second threshold, where the second threshold is less than the first threshold; and to control the self-mobile device to move to the second pose according to the local map if it is determined according to the verification result that the accuracy of the first relocalization result is less than the first threshold and greater than the second threshold.

[0138] Optionally, the relocalization result verification device 70 further includes a judgment module 75, and the judgment module 75 includes a judgment unit 751, a storage unit 752, and a verification unit 753; the judgment unit 751 is configured to judge whether there is historical pose relocalization information in a preset storage space, where the historical pose relocalization information includes the historical pose under the local map and the historical relocalization result corresponding to the historical pose, the historical relocalization result includes the historical relocalization pose of the self-mobile device under the global map, and the accuracy of the historical relocalization result is less than the first threshold and greater than the second threshold; the storage unit 752 is configured to store the first pose and the first relocalization result as the historical pose relocalization information in the preset storage space if there is no historical pose relocalization information; the verification unit 753 is configured to perform a secondary verification on the first relocalization result according to the first pose, the first relocalization result, and the historical pose relocalization information if there is historical pose relocalization information, and to determine whether to control the self-mobile device to move to the second pose according to the secondary verification result.

[0139] Optionally, the verification unit 753 is configured to calculate a local pose difference according to the first pose and the historical pose; calculate a global pose difference according to the first relocalization pose and the historical relocalization pose; and determine that the relocalization task corresponding to the first relocalization result is successful if the difference between the local pose difference and the global pose difference is less than a pose difference threshold.

[0140] Optionally, the verification unit 753 is further configured to replace the historical pose relocalization information with the first pose relocalization information if the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, where the first pose relocalization information includes the first pose and the first relocalization result.

[0141] Optionally, the local pose difference includes a local position difference and a local angle difference, and the global pose difference includes a global position difference and a global angle difference. The verification unit 753 is further configured to determine that the difference between the local pose difference and the global pose difference is less than the pose difference threshold if the difference between the local position difference and the global position difference is less than a preset position difference threshold, and the difference between the local angle difference and the global angle difference is less than a preset angle difference threshold.

[0142] Figure 7 The relocating device of the illustrated embodiment can be used to execute the technical solution of the above method embodiment, and its implementation principle and technical effect are similar, which will not be elaborated here.

[0143] Figure 8 The following is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. The electronic device can be a self-mobile device as described in the above embodiment. The electronic device provided by the embodiment of the present disclosure can execute the processing flow provided by the relocating method embodiment, as Figure 8 shown, the electronic device 80 includes: a memory 81, a processor 82, a computer program, and a communication interface 83; wherein, the computer program is stored in the memory 81 and is configured to be executed by the processor 82 to perform the relocating method as described above.

[0144] In addition, an embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored, and the computer program is executed by a processor to implement the relocating result verification method described in the above embodiment.

[0145] In addition, an embodiment of the present disclosure further provides a computer program product, which includes a computer program or instruction, and when the computer program or instruction is executed by a processor, it implements the relocating result verification method as described above.

[0146] It should be noted that in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variation thereof is intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or also includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including a..." does not exclude the existence of additional identical elements in the process, method, article or device including the element.

[0147] The above are only specific embodiments of the present disclosure, enabling those skilled in the art to understand or implement the present disclosure. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to these embodiments described herein, but rather will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A relocating method for a self - moving device, characterized in that, A lidar sensor with an observation range of a first preset angle is installed on the self - moving device, and the first preset angle is less than 270°. The method includes: Step (1), obtaining a first relocalization result of the self - moving device at a first pose in the local map and a verification result of the first relocalization result. The first pose includes a first heading angle in the current map; the first relocalization result includes the first relocalization pose of the self - moving device in the global map. Step (2), if it is determined according to the verification result that the accuracy of the first relocalization result is greater than or equal to a first threshold, determining that the relocalization task corresponding to the first relocalization result is successful. Step (3), if it is determined according to the verification result that the accuracy of the first relocalization result is less than the first threshold, controlling the self - moving device to move to a second pose according to the local map. The second pose includes a second heading angle in the current map; the absolute value of the difference between the first heading angle and the second heading angle is greater than the complementary angle of the first preset angle; controlling the self - moving device to relocalize again at the second pose, and repeating the above steps (1) to (3) until the relocalization task is successful.

2. The method according to claim 1, wherein The controlling the self - moving device to move to the second pose includes: Determining the second heading angle according to the first preset angle. Determining the obstacle points in the environmental information collected by the self - moving device at the first pose. Determining the target moving direction of the self - moving device according to the distance values between the self - moving device and at least one obstacle point. Controlling the self - moving device to move a preset distance in the target moving direction and rotate to the second heading angle.

3. The method according to claim 2, wherein The determining the target moving direction of the self - moving device according to the distance values between the self - moving device and at least one obstacle point includes: Determining at least one preset area around the self - moving device. For each of the preset areas, determining the distance value between the self - moving device and the obstacle points in the preset area according to the environmental information collected by the self - moving device at the first pose. Determining the intermediate direction of the preset area with the smallest distance value as the target moving direction of the self - moving device.

4. The method according to claim 3, wherein The for each of the preset areas, determining the distance value between the self - moving device and the obstacle points in the preset area according to the environmental information collected by the self - moving device at the first pose includes: Dividing the preset area into multiple preset sub - areas. For each of the preset sub - areas, taking the minimum value of the distances between the self - moving device and each obstacle point in the preset sub - area as the distance value between the obstacle points in the preset sub - area and the self - moving device. Calculating the average value of the distance values between the obstacle points in the multiple preset sub - areas in the preset area and the self - moving device to obtain the distance value between the self - moving device and the obstacle points in the preset area.

5. The method according to claim 2, wherein The controlling the self - moving device to move a preset distance in the target moving direction includes: When the self - moving device collides with an obstacle during the movement in the target movement direction, control the self - moving device to bypass the obstacle and then continue to move in the target movement direction.

6. The method according to claim 1, wherein The step of controlling the self - moving device to move to the second pose according to the local map if it is determined that the accuracy of the first re - positioning result is less than the first threshold based on the verification result includes: If it is determined that the accuracy of the first re - positioning result is less than or equal to the second threshold based on the verification result, it is determined that the re - positioning task corresponding to the first re - positioning result fails, where the second threshold is less than the first threshold; If it is determined that the accuracy of the first re - positioning result is less than the first threshold and greater than the second threshold based on the verification result, control the self - moving device to move to the second pose according to the local map.

7. The method according to claim 6, characterized in that, Before controlling the self - moving device to move to the second pose, the method further includes: Judging whether there is historical pose re - positioning information in the preset storage space. The historical pose re - positioning information includes the historical pose under the local map and the corresponding historical re - positioning result. The historical re - positioning result includes the historical re - positioning pose of the self - moving device under the global map, and the accuracy of the historical re - positioning result is less than the first threshold and greater than the second threshold; If there is no historical pose re - positioning information, store the first pose and the first re - positioning result as historical pose re - positioning information in the preset storage space; If there is historical pose re - positioning information, perform secondary verification on the first re - positioning result according to the first pose, the first re - positioning pose, and the historical pose re - positioning information, and determine whether to control the self - moving device to move to the second pose according to the secondary verification result.

8. The method according to claim 7, wherein The step of performing secondary verification on the first re - positioning result according to the first pose, the first re - positioning pose, and the historical pose re - positioning information, and determining whether to control the self - moving device to move to the second pose according to the secondary verification result includes: Calculate the local pose difference according to the first pose and the historical pose; Calculate the global pose difference according to the first re - positioning pose and the historical re - positioning pose; If the difference between the local pose difference and the global pose difference is less than the pose difference threshold, it is determined that the re - positioning task corresponding to the first re - positioning result is successful; If the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, control the self - moving device to move to the second pose according to the local map.

9. The method according to claim 8, wherein After the difference between the local pose difference and the global pose difference is greater than or equal to the pose difference threshold, the method further includes: Replace the historical pose re - positioning information with the first pose re - positioning information, where the first pose re - positioning information includes the first pose and the first re - positioning result.

10. The method according to claim 8, wherein The local pose difference includes a local position difference and a local angle difference, and the global pose difference includes a global position difference and a global angle difference. Before the difference between the local pose difference and the global pose difference is less than the pose difference threshold, the method further includes: If the difference between the local position difference and the global position difference is less than a preset position difference threshold, and the difference between the local angle difference and the global angle difference is less than a preset angle difference threshold, it is determined that the difference between the local pose difference and the global pose difference is less than the pose difference threshold.