Robot positioning switching method, device, equipment and medium

CN116990845BActive Publication Date: 2026-10-13SHANGHAI MUANT ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310936591.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-27
Publication Date
2026-10-13
Estimated Expiration
2043-07-27

AI Technical Summary

Technical Problem

[0003]其中,slam定位依赖于预先构建的定位地图,但是在构建定位地图的过程中,不可避免会存在地图形变的问题

Benefits of technology

[0020]本发明实施例的技术方案,判断机器人的当前状态是否满足定位切换条件;若不满足,则采用绝对定位方法确定机器人的当前绝对定位结果,将当前绝对定位结果作为机器人的目标定位结果;若满足,则根据机器人在当前定位切换位置处获取的第一传感器数据构建相对定位地图,并基于相对定位地图确定后续行驶过程中的相对定位结果,根据相对定位结果确定机器人的目标定位结果。本技术方案,基于机器人的当前状态确定采用绝对定位方式或者相对定位方式,能够更好地满足实际应用场景中对机器人的不同定位精度要求,从而提高定位精度。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116990845B_ABST
    Figure CN116990845B_ABST
Patent Text Reader

Abstract

Embodiments of the application disclose a positioning switching method, device, equipment and medium for a robot. The method comprises: determining whether a current state of the robot meets a positioning switching condition; if not, determining a current absolute positioning result of the robot by using an absolute positioning method, and taking the current absolute positioning result as a target positioning result of the robot; and if yes, constructing a relative positioning map according to first sensor data obtained by the robot at a current positioning switching position, determining a relative positioning result in a subsequent driving process based on the relative positioning map, and determining a target positioning result of the robot according to the relative positioning result. The technical solution can better meet different positioning accuracy requirements of the robot in actual application scenarios by determining whether to use an absolute positioning method or a relative positioning method based on the current state of the robot, thereby improving positioning accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot positioning technology, and in particular to a robot positioning switching method, apparatus, device, and medium. Background Technology

[0002] With the development of robot positioning technology, people have put forward higher requirements for robot positioning accuracy. At present, absolute positioning methods (such as SLAM or RTK GPS) are often used for robot positioning.

[0003] SLAM positioning relies on a pre-built positioning map, but map distortion is inevitable during map construction. During robot end-effector identification and retrieval, this distortion can cause a certain degree of absolute deviation in robot operation, thus affecting positioning accuracy.

[0004] RTK GPS positioning experiences significant accuracy degradation when satellite signals are weak or obstructed. In such cases, obstacles perceived by the robot may appear to move in the absolute coordinate system, potentially leading to abnormal obstacle avoidance and affecting the robot's positioning accuracy.

[0005] In summary, for some special scenarios with high accuracy requirements, such as robots navigating narrow passages and picking up goods at the last mile, existing absolute positioning methods cannot meet the accuracy requirements. Summary of the Invention

[0006] This invention provides a robot positioning switching method, device, equipment, and medium. Based on the robot's current state, it determines whether to use an absolute positioning method or a relative positioning method, which can better meet the different positioning accuracy requirements of the robot in actual application scenarios, thereby improving positioning accuracy.

[0007] According to one aspect of the present invention, a method for switching the positioning of a robot is provided, the method comprising:

[0008] Determine whether the robot's current state meets the positioning switching conditions;

[0009] If the conditions are not met, the absolute positioning method is used to determine the current absolute positioning result of the robot, and the current absolute positioning result is used as the target positioning result of the robot.

[0010] If the conditions are met, a relative positioning map is constructed based on the first sensor data obtained by the robot at the current positioning switching position, and the relative positioning result in the subsequent driving process is determined based on the relative positioning map. The target positioning result of the robot is then determined based on the relative positioning result.

[0011] According to another aspect of the present invention, a positioning switching device for a robot is provided, comprising:

[0012] The positioning switching condition judgment module is used to determine whether the robot's current state meets the positioning switching conditions.

[0013] An absolute positioning module is used to determine the robot's current absolute positioning result if the conditions are not met, and to use the current absolute positioning result as the robot's target positioning result.

[0014] The relative positioning module is used to construct a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position if the conditions are met, determine the relative positioning result in the subsequent driving process based on the relative positioning map, and determine the target positioning result of the robot based on the relative positioning result.

[0015] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0016] At least one processor; and

[0017] A memory communicatively connected to the at least one processor; wherein,

[0018] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the robot positioning switching method according to any embodiment of the present invention.

[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the robot positioning switching method according to any embodiment of the present invention.

[0020] The technical solution of this invention determines whether the robot's current state meets the positioning switching conditions. If not, an absolute positioning method is used to determine the robot's current absolute positioning result, which is then used as the robot's target positioning result. If the conditions are met, a relative positioning map is constructed based on the first sensor data acquired by the robot at the current positioning switching location. The relative positioning result during subsequent movement is determined based on the relative positioning map, and the robot's target positioning result is determined based on the relative positioning result. This technical solution, by determining whether to use absolute or relative positioning based on the robot's current state, can better meet the different positioning accuracy requirements of the robot in practical application scenarios, thereby improving positioning accuracy.

[0021] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1 This is a flowchart of a robot positioning switching method according to Embodiment 1 of the present invention;

[0024] Figure 2 This is a flowchart of a robot positioning switching method according to Embodiment 2 of the present invention;

[0025] Figure 3 This is a schematic diagram of the positioning switching device for a robot according to Embodiment 3 of the present invention;

[0026] Figure 4 This is a schematic diagram of the structure of an electronic device that implements a robot positioning switching method according to an embodiment of the present invention. Detailed Implementation

[0027] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0028] It should be noted that the terms "first," "second," "target," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0029] Example 1

[0030] Figure 1 This is a flowchart of a robot positioning switching method provided in Embodiment 1 of the present invention. This embodiment is applicable to situations where robot positioning switching is required. The method can be executed by a robot positioning switching device, which can be implemented in hardware and / or software. This robot positioning switching device can be configured in an electronic device with data processing capabilities. For example... Figure 1 As shown, the method includes:

[0031] S110, determine whether the robot's current state meets the positioning switching conditions.

[0032] In this embodiment, considering actual application scenarios, different positioning accuracy requirements are placed on the robot in different situations. Specifically, under normal circumstances, such as when the robot is moving on a road, the positioning accuracy requirement is relatively low, and absolute positioning can meet the accuracy requirements. In special circumstances, such as when the robot is navigating narrow passages or retrieving goods at the robot's end effector, the positioning accuracy requirement is higher, and absolute positioning cannot meet the accuracy requirements. In this case, it is necessary to switch to relative positioning to improve positioning accuracy. Therefore, it is first necessary to determine whether the robot's current state meets the positioning switching conditions.

[0033] For example, the aforementioned special cases can be used as the basis for determining whether the positioning switching conditions are met. When the robot is in one of these special cases, it can be determined that the robot's current state meets the positioning switching conditions, and it needs to switch to relative positioning mode; otherwise, it can be determined that the robot's current state does not meet the positioning switching conditions, and the absolute positioning mode remains unchanged. Furthermore, the areas where relative positioning needs to be activated can be pre-marked on the map. If the robot's current location is within the pre-marked relative positioning area, it can be determined that the robot's current state meets the positioning switching conditions, and it needs to switch to relative positioning mode.

[0034] S120, if not satisfied, then the absolute positioning method is used to determine the current absolute positioning result of the robot, and the current absolute positioning result is used as the target positioning result of the robot.

[0035] In this embodiment, when it is determined that the robot's current state does not meet the positioning switching conditions, an absolute positioning method is used to determine the robot's current absolute positioning result, which is then used as the robot's target positioning result. The current absolute positioning result can refer to the robot's positioning result determined using the absolute positioning method at the current moment. The target positioning result can serve as the robot's final positioning result and can be used to characterize the robot's absolute pose information at the current moment. For example, the absolute positioning method can be a laser SLAM algorithm or a GPS signal fusion algorithm.

[0036] S130, if satisfied, then construct a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position, determine the relative positioning result in the subsequent driving process based on the relative positioning map, and determine the target positioning result of the robot based on the relative positioning result.

[0037] In this embodiment, when it is determined that the robot's current state meets the positioning switching conditions, a relative positioning map is first constructed based on the first sensor data acquired by the robot at the current positioning switching location. The current positioning switching location can refer to the positioning switching location at the current moment. Optionally, constructing the relative positioning map based on the first sensor data acquired by the robot at the current positioning switching location includes: determining the first reflector point cloud data based on the first sensor data; and constructing the relative positioning map based on the first reflector point cloud data.

[0038] In this embodiment, when constructing a relative positioning map, the laser reflection intensity of each point cloud is first determined based on the data from the first sensor. If the laser reflection intensity is greater than a preset intensity threshold, the corresponding point cloud can be identified as a reflector point cloud, thereby obtaining the first reflector point cloud data. Then, the first reflector point cloud data is converted into two dimensions, and a relative positioning map is constructed based on the two-dimensional first reflector point cloud data, thereby improving positioning accuracy.

[0039] In this embodiment, optionally, before constructing a relative positioning map based on the first reflector point cloud data, the method further includes: determining the number of first reflectors based on the clustering results of the first reflector point cloud data, and determining whether the number of first reflectors is greater than or equal to a first quantity threshold; if so, constructing a relative positioning map based on the first reflector point cloud data, and determining the type of the relative positioning map as a reflector map; otherwise, extracting first feature point cloud data that satisfies the characteristics of a reference fixed object from the first sensor data, constructing a relative positioning map based on the first feature point cloud data, and determining the type of the relative positioning map as a reference feature map.

[0040] In this embodiment, to improve the accuracy of the relative positioning map construction, before constructing the relative positioning map based on the first reflector point cloud data, the number of first reflectors can be determined based on the clustering results of the first reflector point cloud data, and the number of first reflectors can be used to determine whether to use the first reflector point cloud data to construct the relative positioning map. It should be noted that if the number of first reflectors is small, the accuracy of the constructed relative positioning map may be poor, thus affecting the subsequent relative positioning accuracy; if the number of first reflectors is large, it can ensure that the accuracy of the constructed relative positioning map is high, thereby guaranteeing the subsequent relative positioning accuracy.

[0041] Specifically, after determining the number of first reflectors, this number is compared with a first quantity threshold. The first quantity threshold can be a pre-set reference value for the number of first reflectors, which can be set according to actual needs. If the number of first reflectors is greater than or equal to the first quantity threshold, it indicates a large number of first reflectors. In this case, a relative positioning map can be directly constructed based on the first reflector point cloud data, and the type of the relative positioning map is determined to be a reflector map.

[0042] If the number of first reflectors is less than the first quantity threshold, it indicates that the number of first reflectors is small. In this case, considering the accuracy of the relative positioning map, a relative positioning map can be constructed by using a reference fixed object (such as a pillar or wall in the environment). Specifically, firstly, first feature point cloud data that meets the characteristics of the reference fixed object is extracted from the first sensor data. Then, the first feature point cloud data is 2D converted, and a relative positioning map is constructed based on the 2D first feature point cloud data. The type of the relative positioning map is determined to be a reference feature map. The extraction method of the first feature point cloud data is as follows: (1) Traverse the point cloud data in the first sensor data and rasterize it using a 2cm×2cm grid. (2) For each point cloud data P, calculate the grid into which it falls. If x = int Px / 0.02 and y = int Py / 0.02, it indicates that the point cloud data P falls into the grid map Ogm(x,y). (3) If the number of point clouds in Ogm(x,y) is greater than a certain threshold, it is considered that the point cloud in the grid meets the relative positioning requirements. Extract the point clouds from all grid cells that meet the conditions as feature point clouds, and thus obtain the first feature point cloud data.

[0043] This solution determines whether to construct a reflector map or refer to a feature map as a relative positioning map based on the number of first reflectors. This avoids the problem of poor accuracy in the relative positioning map due to too few first reflectors, ensuring the accuracy of the relative positioning map so that the robot can be accurately positioned subsequently based on the relative positioning map.

[0044] In this embodiment, optionally, before constructing a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position, the method further includes: controlling the robot to remain stationary at the current positioning switching position for a preset time period; obtaining reference absolute positioning results corresponding to multiple time points of the robot within the preset time period, and determining the positioning result of the current positioning switching position based on the average value of the reference absolute positioning results, as the relative positioning starting positioning result when constructing the relative positioning map.

[0045] In this embodiment, before constructing the relative positioning map based on the first sensor data acquired by the robot at the current positioning switching location, it is necessary to control the robot to remain stationary at the current positioning switching location for a preset time period. The preset time period can be set according to actual needs, and this embodiment is not limited to it. Then, reference absolute positioning results corresponding to multiple time points of the robot within the preset time period are obtained, and the starting relative positioning result for constructing the relative positioning map is determined based on the average value of the reference absolute positioning results. The reference absolute positioning results can refer to the absolute positioning results corresponding to multiple time points of the robot within the preset time period. For example, the average value of the reference absolute positioning results can be directly used as the starting relative positioning result.

[0046] After the relative positioning map is constructed, the relative positioning results during subsequent driving can be determined based on the relative positioning map. Optionally, determining the relative positioning results during subsequent driving based on the relative positioning map includes: determining the second sensor data acquired by the robot during subsequent driving and determining the type of relative positioning map; if the type of relative positioning map is a reflector map, then determining the second reflector point cloud data from the second sensor data; based on the clustering results of the second reflector point cloud data, determining the number of reflector matches where the second reflector in the second reflector point cloud data successfully matches the first reflector in the first reflector point cloud data; if the number of reflector matches is greater than or equal to a second number threshold, then determining the relative positioning result corresponding to the second sensor data based on the initial relative positioning result during relative positioning map construction and the robot's relative movement information; if the number of reflector matches is less than the second number threshold... If the threshold is reached, the process of constructing a relative positioning map based on the updated first sensor data obtained by the robot at the updated current positioning switching position is repeated. If the type of the relative positioning map is a reference feature map, the second feature point cloud data is determined from the second sensor data. The overlapping area of ​​the reference fixed object features is determined based on the second feature point cloud data and the first feature point cloud data. If the overlapping area is greater than or equal to the preset range threshold, the relative positioning result corresponding to the second sensor data is determined based on the relative positioning start positioning result when constructing the relative positioning map and the robot's relative movement information. If the overlapping area is less than the preset range threshold, the process of constructing a relative positioning map based on the updated first sensor data obtained by the robot at the updated current positioning switching position is repeated.

[0047] In this embodiment, when determining the relative positioning result during subsequent driving based on the relative positioning map, the second sensor data acquired by the robot during subsequent driving is first determined, and the type of the relative positioning map is determined as either a reflector map or a reference feature map. Based on the type of the relative positioning map, the second sensor data is matched with the relative positioning map, and the relative positioning result is determined based on the matching result.

[0048] Specifically, if the relative positioning map type is a reflector map, then the second reflector point cloud data needs to be determined first from the second sensor data, and then clustered. The method for determining the second reflector point cloud data can be found in the process of determining the first reflector point cloud data, and will not be repeated here. Then, based on the clustering results of the second reflector point cloud data, the number of reflector matches where the second reflector in the second reflector point cloud data successfully matches the first reflector in the first reflector point cloud data is determined. The number of reflector matches where the second reflector successfully matches the first reflector refers to the number of reflectors in the second reflector whose overlap with the first reflector is greater than a preset overlap threshold. For example, the edge position information of multiple candidate second reflectors is determined based on the clustering results of the second reflector point cloud data, and the edge position information of multiple candidate first reflectors is determined based on the clustering results of the first reflector point cloud data. The overlap coverage of the candidate second and first reflectors is determined based on their edge position information, and the number of candidate second reflectors with an overlap greater than a preset overlap threshold is determined as the number of successfully matched reflectors. The preset overlap threshold can be set to 95%, or it can be determined according to the actual positioning accuracy requirements. In this embodiment of the invention, the specific value of the preset overlap threshold is not limited.

[0049] If the number of mirror matches is greater than or equal to the second threshold, it indicates that the accuracy of the relative positioning map meets the relative positioning requirements. In this case, the relative positioning result corresponding to the second sensor data can be determined based on the initial relative positioning result during map construction and the robot's relative movement information. The second threshold can be a pre-set reference value for the number of mirror matches, which can be set according to actual application needs. If the number of mirror matches is less than the second threshold, it indicates that the accuracy of the relative positioning map does not meet the relative positioning requirements. In this case, the relative positioning map is reconstructed based on the updated first sensor data obtained by the robot at the updated current positioning switch position.

[0050] If the relative positioning map is a reference feature map, the second feature point cloud data needs to be determined first from the second sensor data. The method for determining the second feature point cloud data is the same as the process for determining the first feature point cloud data, and will not be repeated here. Then, the overlapping area of ​​the reference fixed object features is determined based on the second and first feature point cloud data. Specifically, if the overlapping area is greater than or equal to a preset range threshold, it indicates that the accuracy of the relative positioning map meets the relative positioning requirements. In this case, the relative positioning result corresponding to the second sensor data can be determined based on the initial relative positioning result during map construction and the robot's relative movement information. The preset range threshold can refer to a pre-set reference value for the overlapping area. If the overlapping area is less than the preset range threshold, it indicates that the accuracy of the relative positioning map does not meet the relative positioning requirements. In this case, the relative positioning map is reconstructed based on the updated first sensor data obtained by the robot at the updated current positioning switch position.

[0051] This solution, through this setup, matches the second sensor data with the relative positioning map based on the type of relative positioning map. If the match is successful, the relative positioning result corresponding to the second sensor data is determined; if the match fails, the relative positioning map is reconstructed. This can prevent the problem of decreased relative positioning accuracy caused by environmental changes and help improve the robot's positioning accuracy.

[0052] After determining the relative positioning results for subsequent driving processes based on the relative positioning map, the robot's target positioning result can be determined based on the relative positioning results. Specifically, based on the relative positioning results, the pose corresponding to the relative positioning results is transformed into an absolute coordinate system, and the resulting coordinates are used as the robot's target positioning result, which is then provided to downstream modules.

[0053] The technical solution of this invention determines whether the robot's current state meets the positioning switching conditions. If not, an absolute positioning method is used to determine the robot's current absolute positioning result, which is then used as the robot's target positioning result. If the conditions are met, a relative positioning map is constructed based on the first sensor data acquired by the robot at the current positioning switching location. The relative positioning result during subsequent movement is determined based on the relative positioning map, and the robot's target positioning result is determined based on the relative positioning result. This technical solution, by determining whether to use absolute or relative positioning based on the robot's current state, can better meet the different positioning accuracy requirements of the robot in practical application scenarios, thereby improving positioning accuracy.

[0054] In this embodiment, optionally, determining whether the robot's current state meets the positioning switching conditions includes: the robot's current state includes at least the robot's target positioning result; if the target positioning result is within a pre-marked map range, then the positioning switching conditions are met; and / or the robot's current state includes at least the robot's current sensor data; if the current sensor data determines that the channel width of the robot's current driving scene is less than a preset width threshold, then the positioning switching conditions are met; and / or the robot's current state includes at least the robot's current task type; if the current task type is a preset task type, then the positioning switching conditions are met.

[0055] In this embodiment, the robot's current state can include the robot's target localization result. If the target localization result is within a pre-marked map area, meaning the robot has reached a specific area, then the localization switching condition is met. The robot's current state can also include the robot's current sensor data. If, based on the current sensor data, the width of the passage in the robot's current driving scenario is determined to be less than a preset width threshold, meaning the passage width in the current driving scenario is narrow, then the localization switching condition is met. The preset width threshold can refer to a pre-set reference value, which can be set according to actual needs. The robot's current state can also include the robot's current task type. If the current task type is a preset task type, meaning the robot is currently performing a specific task, then the localization switching condition is met. The preset task type can refer to a pre-set task type with high-precision positioning requirements. For example, the preset task type could be a task type such as picking up goods or placing items at the robot's end.

[0056] This solution, through this setup, accurately determines whether the robot's current state meets the positioning switching conditions based on the high-precision positioning requirements of actual application scenarios, so as to select an appropriate positioning method to achieve robot positioning in the future.

[0057] Example 2

[0058] Figure 2 This is a flowchart of a robot positioning switching method provided in Embodiment 2 of the present invention. This embodiment is based on the above embodiment and optimized. Specifically, the optimization is as follows: before determining the relative positioning result in the subsequent driving process based on the relative positioning map, the method further includes: determining the relative movement distance of the robot from the current positioning switching position in the subsequent driving process; if the relative movement distance exceeds a preset distance threshold, then the determination of whether the current state of the robot meets the positioning switching conditions is re-executed.

[0059] like Figure 2 As shown, the method in this embodiment specifically includes the following steps:

[0060] S210, determine whether the robot's current state meets the positioning switching conditions.

[0061] S220, if not satisfied, then the absolute positioning method is used to determine the robot's current absolute positioning result, and the current absolute positioning result is used as the robot's target positioning result.

[0062] S230, if satisfied, then construct a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position.

[0063] S240, determine the relative distance the robot will move from the current location switching position during subsequent driving.

[0064] In this embodiment, in order to prevent the relative positioning accuracy from decreasing due to environmental changes, after the relative positioning map is constructed, it is also necessary to determine the relative movement distance of the robot from the current positioning switching position during subsequent driving.

[0065] S250: Determine whether the relative movement distance exceeds the preset distance threshold. If yes, re-execute S210; otherwise, execute S260.

[0066] In this embodiment, after obtaining the relative movement distance, it is compared with a preset distance threshold to determine whether the relative movement distance exceeds the preset distance threshold. The preset distance threshold can be a pre-set reference value for the relative movement distance, which can be set according to actual needs. If the relative movement distance exceeds the preset distance threshold, to prevent environmental changes from causing a decrease in relative positioning accuracy, it is necessary to re-evaluate whether the robot's current state meets the positioning switching conditions. Based on the determination result of the positioning switching conditions, a suitable positioning method is adopted to position the robot, thereby improving the robot's positioning accuracy. If the relative movement distance does not exceed the preset distance threshold, the relative positioning result in the subsequent driving process is determined based on the relative positioning map, and the relative positioning result is used as the robot's target positioning result.

[0067] S260 determines the relative positioning result during subsequent driving based on the relative positioning map, and determines the target positioning result of the robot based on the relative positioning result.

[0068] The technical solution of this invention determines the relative movement distance of the robot from the current positioning switch position during subsequent driving before determining the relative positioning result based on the relative positioning map. If the relative movement distance exceeds a preset distance threshold, the determination of whether the robot's current state meets the positioning switch conditions is repeated. This technical solution, by determining whether to use absolute or relative positioning based on the robot's current state, can better meet the different positioning accuracy requirements of the robot in practical application scenarios, effectively prevent the decrease in relative positioning accuracy caused by environmental changes, and further improve the robot's positioning accuracy.

[0069] Example 3

[0070] Figure 3 This is a schematic diagram of a robot positioning switching device provided in Embodiment 3 of the present invention. This device can execute the robot positioning switching method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the method. For example... Figure 3 As shown, the device includes:

[0071] The positioning switching condition judgment module 310 is used to determine whether the current state of the robot meets the positioning switching conditions.

[0072] The absolute positioning module 320 is used to determine the current absolute positioning result of the robot by means of an absolute positioning method if the conditions are not met, and to use the current absolute positioning result as the target positioning result of the robot.

[0073] The relative positioning module 330 is used to construct a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position if the conditions are met, and to determine the relative positioning result in the subsequent driving process based on the relative positioning map, and to determine the target positioning result of the robot based on the relative positioning result.

[0074] Optionally, the relative positioning module 330 is used for:

[0075] Determine the point cloud data of the first reflector based on the data from the first sensor.

[0076] A relative positioning map is constructed based on the point cloud data of the first reflector.

[0077] Optionally, the relative positioning module 330 is further configured to:

[0078] Before constructing a relative positioning map based on the first reflector point cloud data, the number of first reflectors is determined based on the clustering results of the first reflector point cloud data, and it is determined whether the number of first reflectors is greater than or equal to a first quantity threshold.

[0079] If so, a relative positioning map is constructed based on the first reflector point cloud data, and the type of the relative positioning map is determined to be a reflector map;

[0080] Otherwise, extract first feature point cloud data that satisfies the characteristics of a reference fixed object from the first sensor data, construct a relative positioning map based on the first feature point cloud data, and determine the type of the relative positioning map as a reference feature map.

[0081] Optionally, the relative positioning module 330 is further configured to:

[0082] Determine the second sensor data acquired by the robot during subsequent driving, and determine the type of the relative positioning map;

[0083] If the type of the relative positioning map is a reflector map, then the second reflector point cloud data is determined from the second sensor data;

[0084] Based on the clustering results of the second reflector point cloud data, determine the number of reflectors that are successfully matched between the second reflector in the second reflector point cloud data and the first reflector in the first reflector point cloud data.

[0085] If the number of reflectors matched is greater than or equal to the second number threshold, then the relative positioning result corresponding to the second sensor data is determined based on the relative positioning start positioning result when the relative positioning map is constructed and the relative movement information of the robot.

[0086] If the number of mirrors matched is less than the second number threshold, then the relative positioning map is reconstructed based on the updated first sensor data obtained by the robot at the updated current positioning switching position.

[0087] If the type of the relative positioning map is a reference feature map, then the second feature point cloud data is determined from the second sensor data;

[0088] The overlapping area of ​​the reference fixed object features is determined based on the second feature point cloud data and the first feature point cloud data;

[0089] If the overlapping area is greater than or equal to a preset range threshold, then the relative positioning result corresponding to the second sensor data is determined based on the relative positioning start positioning result when the relative positioning map is constructed and the relative movement information of the robot.

[0090] If the overlapping area is smaller than the preset range threshold, then the relative positioning map is reconstructed based on the updated first sensor data obtained by the robot at the updated current positioning switching position.

[0091] Optionally, the device further includes:

[0092] The robot stationary control module is used to control the robot to remain stationary at the current positioning switching position for a preset time period before constructing a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position;

[0093] The relative positioning starting position determination module is used to obtain the reference absolute positioning results of the robot at multiple time points within a preset time period, and determine the positioning result of the current positioning switching position based on the average value of the reference absolute positioning results, as the relative positioning starting position result when constructing the relative positioning map.

[0094] Optionally, the device further includes:

[0095] The relative movement distance determination module is used to determine the relative movement distance of the robot from the current positioning switching position during subsequent driving processes before determining the relative positioning result based on the relative positioning map.

[0096] The positioning switching condition re-judgment module is used to re-judge whether the robot's current state meets the positioning switching conditions if the relative movement distance exceeds a preset distance threshold.

[0097] Optionally, the positioning switching condition determination module 310 is used for:

[0098] The robot's current state includes at least the robot's target localization result. If the target localization result is within a pre-marked map area, then the localization switching condition is determined to be met; and / or

[0099] The robot's current state includes at least its current sensor data. If, based on the current sensor data, it is determined that the width of the passage in the robot's current driving scenario is less than a preset width threshold, then the positioning switching condition is met; and / or

[0100] The current state of the robot includes at least the type of task it is currently executing. If the type of task it is currently executing is a preset task type, then the positioning switching condition is met.

[0101] The robot positioning switching device provided in this embodiment of the invention can execute the robot positioning switching method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0102] Example 4

[0103] Figure 4A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0104] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0105] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0106] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the localization switching method for a robot.

[0107] In some embodiments, the robot positioning switching method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded into and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the robot positioning switching method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the robot positioning switching method by any other suitable means (e.g., by means of firmware).

[0108] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0109] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0110] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0111] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0112] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0113] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0114] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0115] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for switching the positioning of a robot, characterized in that, The method includes: Determine whether the robot's current state meets the positioning switching conditions; If the conditions are not met, the absolute positioning method is used to determine the current absolute positioning result of the robot, and the current absolute positioning result is used as the target positioning result of the robot. If the conditions are met, a relative positioning map is constructed based on the first sensor data obtained by the robot at the current positioning switching position, and the relative positioning result in the subsequent driving process is determined based on the relative positioning map. The target positioning result of the robot is then determined based on the relative positioning result. The process of constructing a relative positioning map based on the first sensor data acquired by the robot at its current location switching position includes: Determine the point cloud data of the first reflector based on the data from the first sensor. The number of first reflectors is determined based on the clustering results of the first reflector point cloud data, and it is determined whether the number of first reflectors is greater than or equal to a first quantity threshold. If so, a relative positioning map is constructed based on the first reflector point cloud data, and the type of the relative positioning map is determined to be a reflector map; Otherwise, extract first feature point cloud data that satisfies the characteristics of a reference fixed object from the first sensor data, construct a relative positioning map based on the first feature point cloud data, and determine the type of the relative positioning map as a reference feature map.

2. The method according to claim 1, characterized in that, Determining the relative positioning result for subsequent driving based on the relative positioning map includes: Determine the second sensor data acquired by the robot during subsequent driving, and determine the type of the relative positioning map; If the type of the relative positioning map is a reflector map, then the second reflector point cloud data is determined from the second sensor data; Based on the clustering results of the second reflector point cloud data, determine the number of reflectors that are successfully matched between the second reflector in the second reflector point cloud data and the first reflector in the first reflector point cloud data. If the number of reflector matching is greater than or equal to the second number threshold, then the relative positioning result corresponding to the second sensor data is determined based on the relative positioning start positioning result when the relative positioning map is constructed and the relative movement information of the robot. If the number of mirrors matched is less than the second number threshold, then the relative positioning map is reconstructed based on the updated first sensor data obtained by the robot at the updated current positioning switching position. If the type of the relative positioning map is a reference feature map, then the second feature point cloud data is determined from the second sensor data; The overlapping area of ​​the reference fixed object features is determined based on the second feature point cloud data and the first feature point cloud data; If the overlapping area is greater than or equal to a preset range threshold, then the relative positioning result corresponding to the second sensor data is determined based on the relative positioning start positioning result when the relative positioning map is constructed and the relative movement information of the robot. If the overlapping area is smaller than the preset range threshold, then the relative positioning map is reconstructed based on the updated first sensor data obtained by the robot at the updated current positioning switching position.

3. The method according to claim 1, characterized in that, Before constructing a relative positioning map based on the first sensor data acquired by the robot at its current positioning switch location, the method further includes: The robot is controlled to remain stationary at the current location switching position for a preset time period. The robot obtains reference absolute positioning results for multiple time points within a preset time period, and determines the positioning result of the current positioning switch position based on the average value of the reference absolute positioning results, which is used as the starting positioning result for relative positioning when constructing the relative positioning map.

4. The method according to claim 1, characterized in that, Before determining the relative positioning result for subsequent driving based on the relative positioning map, the method further includes: Determine the relative movement distance of the robot from the current positioning switch location during subsequent driving; If the relative movement distance exceeds a preset distance threshold, the robot's current state is re-evaluated to determine whether it meets the positioning switching conditions.

5. The method according to any one of claims 1-4, characterized in that, Determine whether the robot's current state meets the positioning switching conditions, including: The robot's current state includes at least the robot's target localization result. If the target localization result is within a pre-marked map area, then the localization switching condition is determined to be met; and / or The robot's current state includes at least its current sensor data. If, based on the current sensor data, it is determined that the width of the passage in the robot's current driving scenario is less than a preset width threshold, then the positioning switching condition is met; and / or The current state of the robot includes at least the type of task it is currently executing. If the type of task it is currently executing is a preset task type, then the positioning switching condition is met.

6. A positioning switching device for a robot, characterized in that, The device includes: The positioning switching condition judgment module is used to determine whether the robot's current state meets the positioning switching conditions. An absolute positioning module is used to determine the robot's current absolute positioning result if the conditions are not met, and to use the current absolute positioning result as the robot's target positioning result. The relative positioning module is used to construct a relative positioning map based on the first sensor data obtained by the robot at the current positioning switching position if the conditions are met, and to determine the relative positioning result in the subsequent driving process based on the relative positioning map, and to determine the target positioning result of the robot based on the relative positioning result. The relative positioning module is used for: Determine the point cloud data of the first reflector based on the data from the first sensor. The number of first reflectors is determined based on the clustering results of the first reflector point cloud data, and it is determined whether the number of first reflectors is greater than or equal to a first quantity threshold. If so, a relative positioning map is constructed based on the first reflector point cloud data, and the type of the relative positioning map is determined to be a reflector map; Otherwise, extract first feature point cloud data that satisfies the characteristics of a reference fixed object from the first sensor data, construct a relative positioning map based on the first feature point cloud data, and determine the type of the relative positioning map as a reference feature map.

7. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the positioning switching method of the robot according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the positioning switching method of the robot according to any one of claims 1-5.

Citation Information

Patent Citations

  • Outdoor combined positioning method based on differential GPS and reflector

    CN113625320A

  • Laser positioning method, device and equipment of mobile robot and medium

    CN115437385A