Positioning method, device, robot and storage medium
By calculating the residual and number of valid points of the current frame point cloud data, the timeliness problem of positioning failure judgment in the positioning and mapping process of robot SLAM technology is solved, and simplified processing and efficient data processing are achieved.
Patent Information
- Application Number
- CN202211558954.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2042-12-06
AI Technical Summary
In the existing technology, robot SLAM technology cannot promptly determine whether the positioning of the current frame point cloud data is invalid during the positioning and mapping process, resulting in a large amount of data processing and a complex processing process.
By obtaining the current frame point cloud data, calculating the residual of the target point, and judging the number of valid points based on the residual, the positioning valid or invalid signal of the current frame point cloud data is output, and positioning judgment is performed in real time.
It realizes timely judgment of the current frame point cloud data during the positioning and mapping process, reduces the amount of data processing, simplifies the processing process, and improves processing efficiency.
Smart Images

Figure CN116202505B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of map construction technology, and in particular to a positioning method, device, machine thermal and storage medium. Background Art
[0002] Robotic SLAM technology is a simultaneous positioning and mapping technology that can be used to solve the positioning and mapping problems of robots moving in unknown environments. Currently, when using robotic SLAM technology to achieve real-time positioning and mapping, positioning failure is prone to occur. Existing technologies usually require evaluating whether the positioning data has failed after mapping is completed. This makes it impossible to make timely judgments on whether the positioning of the current frame's point cloud data has failed while positioning and mapping are being performed. This results in large amounts of data to be processed and a complex process for evaluating whether positioning has failed. Summary of the Invention
[0003] In order to solve the above technical problems, the embodiments of the present application provide a positioning method, device, machine heat and storage medium, which can make timely judgments on whether the positioning of the current frame point cloud data is invalid while positioning and mapping. The data processing volume is small, and the processing process is simple and efficient.
[0004] In a first aspect, a positioning method is provided, comprising:
[0005] Get the current frame point cloud data;
[0006] Calculating residuals of a plurality of target points in the current frame point cloud data according to the current frame point cloud data;
[0007] Obtaining the number of valid points based on the residuals of the plurality of target points; wherein the valid points represent the target points whose residuals are less than or equal to a residual threshold; and
[0008] According to the number of the valid points, a signal indicating that the positioning of the current frame point cloud data is valid or a signal indicating that the positioning of the current frame point cloud data is invalid is output.
[0009] According to the first aspect of the present application, calculating the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data includes:
[0010] Obtaining coordinate values of a plurality of target points according to the current frame point cloud data;
[0011] Searching and obtaining a plurality of candidate point groups within a preset distance range of each target point; wherein the plurality of target points correspond one to one with the plurality of candidate point groups;
[0012] If the number of the plurality of candidate points in the first candidate point group is greater than or equal to a first number threshold, obtaining a fitting plane according to the plurality of candidate points in the first candidate point group; and
[0013] An actual distance between the target point corresponding to the first candidate point group and the fitting plane is calculated, and the actual distance is used as a residual corresponding to the target point.
[0014] According to the first aspect of the present application, obtaining a fitting plane according to the plurality of candidate points in the first candidate point group includes:
[0015] Obtaining a transition plane according to the plurality of candidate points in the first candidate point group; and
[0016] If the distances from the plurality of candidate points in the first candidate point group to the transition plane are all less than a first distance threshold, the transition plane is used as the fitting plane.
[0017] According to the first aspect of the present application, after the search obtains multiple groups of candidate points, the calculating residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data further includes:
[0018] If the number of the plurality of candidate points in the second candidate point group is greater than or equal to the first number threshold, obtaining a transition plane according to the plurality of candidate points in the second candidate point group;
[0019] If there is at least one candidate point in the second candidate point group whose distance to the transition plane is greater than a first distance threshold, outputting a signal that the transition plane is marked as an invalid plane; and
[0020] According to the signal that the transition plane is calibrated as an invalid plane, the residual of the target point corresponding to the second candidate point group is assigned a preset residual value; wherein the preset residual value is greater than the residual threshold.
[0021] According to the first aspect of the present application, after the search obtains multiple groups of candidate points, the calculating residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data further includes:
[0022] If the number of multiple candidate points in the third candidate point group is less than the first number threshold, the residual of the target point corresponding to the third candidate point group is assigned a preset residual value; wherein the preset residual value is greater than the residual threshold.
[0023] According to the first aspect of the present application, obtaining the number of valid points based on the residuals of the plurality of target points includes:
[0024] If the residual of the target point is less than or equal to the residual threshold, marking the target point with the residual less than or equal to the residual threshold as a valid point; and
[0025] The number of the target points calibrated as the valid points is counted to obtain the number of the valid points.
[0026] According to the first aspect of the present application, outputting a signal that the positioning of the current frame point cloud data is valid or outputting a signal that the positioning of the current frame point cloud data is invalid based on the number of valid points includes:
[0027] If the ratio of the number of valid points to the total number of target points is greater than or equal to the ratio threshold, output a signal that the positioning of the current frame point cloud data is valid; or
[0028] If the ratio of the number of valid points to the total number of target points is less than the ratio threshold, a signal indicating that the positioning of the current frame point cloud data is invalid is output.
[0029] According to the first aspect of the present application, after outputting the signal indicating that the positioning of the current frame point cloud data is invalid, the positioning method further includes:
[0030] Relocate the current frame point cloud data.
[0031] According to the first aspect of the present application, relocating the current frame point cloud data includes:
[0032] Calculating target frame point cloud data having the highest similarity to the current frame point cloud data in historical frame point cloud data based on the current frame point cloud data;
[0033] Performing initial registration on the current frame point cloud data according to the target frame point cloud data;
[0034] Perform secondary registration on the current frame point cloud data after the initial registration, and output the successfully relocated current frame point cloud data.
[0035] According to the first aspect of the present application, the target frame point cloud data having the highest similarity to the current frame point cloud data in the historical frame point cloud data is calculated based on the current frame point cloud data, including:
[0036] Obtaining, according to the current frame point cloud data, ring area parameters and sector parameters of the current frame point cloud data;
[0037] Obtaining the ring parameters and sector parameters of all the historical frame point cloud data;
[0038] Searching all the historical frame point cloud data to obtain multiple frames of candidate frame point cloud data according to the ring area parameters of the current frame point cloud data and the ring area parameters of all the historical frame point cloud data;
[0039] Calculating an angular offset between the current frame point cloud data and each frame of the candidate frame point cloud data according to the sector parameters of the multiple frames of the candidate frame point cloud data and the sector parameters of the current frame point cloud data;
[0040] The candidate frame point cloud data corresponding to the smallest angle offset is selected as the target frame point cloud data.
[0041] According to the first aspect of the present application, performing initial registration on the current frame point cloud data according to the target frame point cloud data includes:
[0042] Obtaining an angular offset between the target frame point cloud data and the current frame point cloud data according to the target frame point cloud data;
[0043] Obtaining an initial transformation matrix according to the angular offset; and
[0044] Initial registration is performed on the current frame point cloud data according to the current frame point cloud data and the initial transformation matrix.
[0045] In a second aspect, a positioning device is also provided, comprising:
[0046] A first acquisition module is configured to acquire point cloud data of a current frame;
[0047] A first calculation module is configured to calculate residuals of a plurality of target points in the current frame point cloud data based on the current frame point cloud data;
[0048] A first statistical module is configured to obtain the number of valid points based on the residuals of the plurality of target points; wherein the valid points represent the target points whose residuals are less than or equal to a residual threshold; and
[0049] The first output module is configured to output a signal indicating that the positioning of the current frame point cloud data is valid or output a signal indicating that the positioning of the current frame point cloud data is invalid according to the number of the valid points.
[0050] According to a third aspect of the present application, a robot is further provided, comprising:
[0051] body;
[0052] a laser radar, disposed on the body;
[0053] an inertial sensor, disposed on the body;
[0054] An electronic device is provided on the machine body, the electronic device is communicatively connected to the laser radar and the inertial sensor, and the electronic device is configured to execute the positioning method as described above.
[0055] In a fourth aspect, an embodiment of the present application provides a storage medium, wherein the storage medium stores a computer program, and the computer program is configured to execute the positioning method as described above.
[0056] The positioning method, device, machine heat and storage medium provided in the embodiments of the present application obtain current frame point cloud data, and then calculate the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data, and then obtain the number of valid points based on the residuals of the multiple target points, and then output a signal that the positioning of the current frame point cloud data is valid or a signal that the positioning of the current frame point cloud data is invalid based on the number of valid points. During the positioning and map construction process, the number of valid points is used as a basis for judging whether the positioning of the current frame point cloud data is accurate, the current frame point cloud data is processed in real time, and a timely judgment is made on whether the positioning of the current frame point cloud data is invalid. Compared with the global data processing after the mapping is completed, the data processing amount of the real-time processing of the current frame point cloud data is smaller, and the processing process is simpler and more efficient. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] The above and other purposes, features, and advantages of the present application will become more apparent through a more detailed description of the embodiments of the present application in conjunction with the accompanying drawings. The accompanying drawings are intended to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the drawings, the same reference numerals generally represent the same components or steps.
[0058] Figure 1 A flowchart of a positioning method provided by an exemplary embodiment of the present application.
[0059] Figure 2 A schematic diagram of a flow chart for calculating residuals of multiple target points in current frame point cloud data according to an exemplary embodiment of the present application.
[0060] Figure 3 A schematic diagram of a flow chart of obtaining a fitting plane according to a plurality of candidate points in the first candidate point group provided in an exemplary embodiment of the present application.
[0061] Figure 4 A schematic diagram of a flow chart for calculating residuals of multiple target points in current frame point cloud data based on current frame point cloud data, provided as another exemplary embodiment of the present application.
[0062] Figure 5A schematic diagram of a flow chart for calculating residuals of multiple target points in current frame point cloud data based on current frame point cloud data, provided as another exemplary embodiment of the present application.
[0063] Figure 6 A flowchart of obtaining the number of valid points based on the residuals of multiple target points is provided in an exemplary embodiment of the present application.
[0064] Figure 7 A flowchart of a positioning method provided in another exemplary embodiment of the present application.
[0065] Figure 8 A flowchart of a positioning method provided by another exemplary embodiment of the present application.
[0066] Figure 9 A schematic diagram of a process for relocating point cloud data of a current frame provided by an exemplary embodiment of the present application.
[0067] Figure 10 A schematic diagram of a process for calculating target frame point cloud data having the highest similarity with current frame point cloud data in historical frame point cloud data based on current frame point cloud data is provided as an exemplary embodiment of the present application.
[0068] Figure 11 A schematic diagram of a process for initially registering current frame point cloud data based on target frame point cloud data provided in an exemplary embodiment of the present application.
[0069] Figure 12 This is a structural block diagram of a positioning device provided by an exemplary embodiment of the present application.
[0070] Figure 13 This is a structural block diagram of a positioning device provided by another exemplary embodiment of the present application.
[0071] Figure 14 A structural block diagram of a robot provided as an exemplary embodiment of the present application.
[0072] Figure 15 A structural block diagram of an electronic device provided as an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0073] Below, the exemplary embodiments according to the present application will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application, and it should be understood that the present application is not limited to the exemplary embodiments described herein.
[0074] Figure 1 This is a flow chart of a positioning method provided by an exemplary embodiment of the present application. Figure 1As shown, the positioning method provided in the embodiment of the present application may include:
[0075] S210: Obtaining the point cloud data of the current frame.
[0076] Specifically, during the robot's real-time positioning and map construction process, the laser radar and IMU sensor (inertial sensor) can be used to detect and obtain the original point cloud data, and the motion distortion of the original point cloud data can be removed to obtain the current frame point cloud data.
[0077] S220: Calculate residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data.
[0078] Specifically, residuals can be understood as the error between the actual observed value and the fitted value of the target point. The specific definition of residuals can be found in the introduction to the Fastlio2 framework. The calculation process of residuals for multiple target points is described in detail later.
[0079] S230: Obtain the number of valid points according to the residuals of the multiple target points.
[0080] Specifically, a valid point can be understood as a target point whose residual is less than or equal to the residual threshold. Different target points have different residuals. Target points that meet the requirements (residual is less than or equal to the residual threshold) can be regarded as valid points. Then, by counting the target points that meet the requirements, the number of valid points can be obtained.
[0081] It should be understood that the residual threshold can be set according to actual conditions. For example, the residual threshold can be set to 0.5 meters, 0.8 meters, etc. This application does not make any specific limitation on the residual threshold.
[0082] S240: Outputting a signal indicating that the positioning of the point cloud data of the current frame is valid or outputting a signal indicating that the positioning of the point cloud data of the current frame is invalid according to the number of valid points.
[0083] It should be understood that the greater the number of valid points, the greater the number of target points whose residuals are less than or equal to the residual threshold, and the more accurate the positioning of the current frame point cloud data. Therefore, the number of valid points can be used as a basis for judging whether the positioning of the current frame point cloud data is accurate. This judgment basis can be applied during the robot's positioning and mapping process to perform real-time processing of the current frame point cloud data and make timely judgments on whether the positioning of the current frame point cloud data has failed. Compared with global data processing after mapping is completed, real-time processing of the current frame point cloud data requires less data processing and is simpler and more efficient.
[0084] It should be noted that during the robot's positioning and mapping process, due to odometer drift or failure, the robot's actual position may not match the position calculated by the odometer. At this time, according to the positioning method provided in the embodiment of the present application, it is possible to determine that the odometer has drifted or failed based on the result of the positioning failure of the current frame point cloud data, which facilitates the subsequent timely repositioning of the current frame data and effectively solves the problem of incorrect mapping data caused by odometer drift or failure. It should be understood that the positioning method provided in the embodiment of the present application can be used to determine whether the odometer has drifted or failed without adding additional sensors, effectively simplifying the robot structure and saving costs.
[0085] The positioning method provided by the embodiment of the present application obtains the current frame point cloud data, and then calculates the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data, and then obtains the number of valid points based on the residuals of the multiple target points, and then outputs a signal that the positioning of the current frame point cloud data is valid or a signal that the positioning of the current frame point cloud data is invalid based on the number of valid points. During the positioning and map construction process, the number of valid points is used as a basis for judging whether the positioning of the current frame point cloud data is accurate, the current frame point cloud data is processed in real time, and a timely judgment is made on whether the positioning of the current frame point cloud data is invalid. Compared with the global data processing after the map is completed, the data processing amount of the real-time processing of the current frame point cloud data is smaller, and the processing process is simpler and more efficient.
[0086] Figure 2 A schematic diagram of a process for calculating the residuals of multiple target points in the current frame point cloud data according to an exemplary embodiment of the present application. Figure 2 As shown, step S220 may include:
[0087] S221: Obtain coordinate values of multiple target points based on the current frame point cloud data.
[0088] Specifically, the current frame point cloud data is converted to the global coordinate system, and the coordinate values of multiple target points can be obtained in the global coordinate system. The content of the global coordinate system is involved in the relevant technology and will not be repeated here.
[0089] S222: Searching and obtaining multiple candidate point groups within a preset distance range of each target point.
[0090] Specifically, after obtaining the coordinate value of the target point, the position of the target point in the global coordinate system is determined, and a search can be performed within a preset distance range of each target point to obtain multiple candidate point groups, and the multiple target points correspond to the multiple candidate point groups one by one.
[0091] In one embodiment, the preset distance range can be set according to actual conditions. For example, the preset distance range can be set to 1 meter, 0.5 meters, etc.
[0092] In one embodiment, the number of candidate points in each candidate point group may include 1, 2, 3, 5, etc.
[0093] In one embodiment, in order to improve the efficiency of subsequent processing of candidate point data in the candidate point group, a maximum limit value for the number of candidate points in the candidate point group can be set. During the search process, if the number of candidate points in the candidate point group corresponding to a target point has reached the maximum limit value, the search within the preset range of the target point can be stopped, and the candidate points that have been searched can be directly applied for subsequent data processing.
[0094] It should be understood that the maximum data limit value can be set according to actual conditions. For example, the maximum data limit value can be 5, 6, 7, etc. The embodiment of the present application does not specifically limit the maximum data limit value.
[0095] S223: If the number of the plurality of candidate points in the first candidate point group is greater than or equal to the first number threshold, obtain a fitting plane according to the plurality of candidate points in the first candidate point group.
[0096] Specifically, if the number of multiple candidate points in the first candidate point group is greater than or equal to the first number threshold, then it can be considered that the number of candidate points has reached the requirement for fitting into a plane. At this time, fitting can be performed based on the multiple candidate points in the first candidate point group to obtain a fitting plane.
[0097] It should be noted that obtaining the fitting plane based on the multiple candidate points in the first candidate point group is an optimization process, that is, the sum of the distances between the obtained fitting plane and the multiple candidate points is minimized. The specific fitting method is described in the relevant art and will not be repeated here.
[0098] In one embodiment, the first quantity threshold may be 3, 4, etc. It should be understood that the first quantity threshold may be set according to actual conditions, and this application does not impose any specific limitation on the first quantity threshold.
[0099] S224: Calculate the actual distance between the target point corresponding to the first candidate point group and the fitting plane, and use the actual distance as the residual of the corresponding target point.
[0100] Specifically, the fitting plane can be regarded as the fitting value, and the actual distance from the target point corresponding to the first candidate point group to the fitting plane can be understood as the difference between the actual observation value and the fitting value of the target point, that is, the actual distance from the target point corresponding to the first candidate point group to the fitting plane can be regarded as the residual of the corresponding target point.
[0101] Figure 3 A schematic diagram of a flow chart of obtaining a fitted plane based on a plurality of candidate points in the first candidate point group is provided as an exemplary embodiment of the present application. Figure 3 As shown, step S223 may include:
[0102] S2231: Obtain a transition plane based on multiple candidate points in the first candidate point group.
[0103] S2232: If the distances from the multiple candidate points in the first candidate point group to the transition plane are all smaller than a first distance threshold, the transition plane is used as the fitting plane.
[0104] Specifically, after determining multiple candidate points in the first candidate group, a transition plane is obtained by fitting the multiple candidate points. It is necessary to determine the validity of the transition plane to determine whether the fitted transition plane is valid.
[0105] Specifically, if the distances from multiple candidate points in the first candidate point group to the transition plane are all less than the first distance threshold, then it can be considered that the multiple candidate points in the first candidate group are distributed in the area close to both sides of the transition plane, and the fitted transition plane is valid. The transition plane can be used as the fitting plane and applied to subsequent residual calculations.
[0106] Specifically, the first distance threshold can be set according to actual conditions. For example, the first distance threshold can be selected as 0.1m, 0.2m, etc. This application does not make any specific limitation on the first distance threshold.
[0107] Figure 4 This is a flow chart of another exemplary embodiment of the present application for calculating the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data. Figure 4 As shown, after step S222, step S220 may further include:
[0108] S225: If the number of the plurality of candidate points in the second candidate point group is greater than or equal to the first number threshold, obtain a transition plane according to the plurality of candidate points in the second candidate point group.
[0109] S226: If the distance between at least one candidate point in the second candidate point group and the transition plane is greater than the first distance threshold, output a signal indicating that the transition plane is calibrated as an invalid plane.
[0110] Specifically, if the number of candidate points in the second candidate point group is greater than or equal to the first threshold, then it can be considered that the number of candidate points meets the requirement for fitting a plane. In this case, fitting can be performed based on the multiple candidate points in the second candidate point group to obtain a transition plane. Then, the validity of the transition plane needs to be determined to determine whether the fitted transition plane is valid.
[0111] Specifically, if the distance between at least one candidate point in the second candidate point group and the transition plane is greater than the first distance threshold, then it can be considered that at least one candidate point in the second candidate group is distributed in an area farther away on one side of the transition plane, and the fitted transition plane is invalid, and the corresponding output transition plane is calibrated as an invalid plane signal.
[0112] S227: According to the signal that the transition plane is calibrated as an invalid plane, the residual of the target point corresponding to the second candidate point group is assigned to a preset residual value.
[0113] Specifically, after executing step S226, the transition plane is determined to be an invalid plane. At this time, if the residual of the target point corresponding to the second candidate point group is calculated based on the transition plane, it will lead to a large error in the calculation result. Therefore, at this time, the residual of the target point corresponding to the second candidate point group will be directly assigned to the preset residual value.
[0114] Generally speaking, if the transition plane is calibrated as an invalid plane, then the target point corresponding to the second candidate point group will be considered an invalid point. Therefore, the preset residual value for assigning the residual of the target point corresponding to the second candidate point group is generally a larger value, that is, the preset residual value is usually greater than the residual threshold, so that the corresponding target point will not be counted in the category of valid points.
[0115] In one embodiment, the preset residual value can be set according to actual conditions. For example, the preset residual value can be selected as 9999, 9998, etc. This application does not make any specific limitation on the preset residual value.
[0116] Figure 5 This is a flow chart of another exemplary embodiment of the present application for calculating the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data. Figure 5 As shown, after step S222, step S220 may further include:
[0117] S228: If the number of the plurality of candidate points in the third candidate point group is smaller than the first number threshold, assigning the residual of the target point corresponding to the third candidate point group to a preset residual value.
[0118] Specifically, if there are multiple candidate points in the third candidate point group whose number is less than the first number threshold, then it can be considered that the number of candidate points does not meet the requirements for fitting into a plane. At this time, the target point corresponding to the third candidate point group can be directly considered to be an invalid point. Based on this, the residual of the target point corresponding to the third candidate point group can be assigned a preset residual value. The preset residual value is usually greater than the residual threshold, so that the corresponding target point will not be counted in the category of valid points.
[0119] Figure 6 A flow chart of obtaining the number of valid points based on the residuals of multiple target points provided by an exemplary embodiment of the present application. Figure 6 As shown, step S230 may include:
[0120] S231: If the residual of the target point is less than or equal to the residual threshold, mark the target point whose residual is less than or equal to the residual threshold as a valid point.
[0121] S232: Count the number of target points calibrated as valid points to obtain the number of valid points.
[0122] Specifically, for target points whose residuals are less than or equal to the residual threshold, it can be considered that the error between the actual observation value and the fitted value is small, and can be used as the basis for positioning and mapping. Therefore, target points whose residuals are less than or equal to the residual threshold can be calibrated as valid points.
[0123] Specifically, after comparing the residuals of all target points in the current frame point cloud data with the residual threshold, the number of target points calibrated as valid points can be counted, thereby obtaining the number of valid points.
[0124] It should be understood that during the comparison process, if the residual of the target point is greater than the residual threshold, the target point with a residual greater than the residual threshold can be marked as an outlier. These outliers can be added to the newly created map later as needed.
[0125] Figure 7 This is a flow chart of a positioning method provided in another exemplary embodiment of the present application. Figure 7 As shown, step S240 may include:
[0126] S241: If the ratio of the number of valid points to the total number of target points is greater than or equal to the ratio threshold, a signal indicating that the positioning of the point cloud data of the current frame is valid is output.
[0127] S242: If the ratio of the number of valid points to the total number of target points is less than the ratio threshold, a signal indicating that the positioning of the point cloud data of the current frame is invalid is output.
[0128] Specifically, if the ratio of the number of valid points to the total number of target points is greater than or equal to the ratio threshold, it can be considered that the positioning accuracy of the current frame point cloud data is high, and a signal indicating that the positioning of the current frame point cloud data is valid can be output accordingly.
[0129] Similarly, if the ratio of the number of valid points to the total number of target points is less than the ratio threshold, it can be considered that the positioning accuracy of the current frame point cloud data is low, and the gap between the current frame point cloud data and the data of the actual environment where the robot is located is large. Accurate positioning information cannot be obtained using the current frame point cloud data. Therefore, a signal indicating that the positioning of the current frame point cloud data is invalid can be output at this time.
[0130] In one embodiment, the ratio threshold can be set according to actual conditions. For example, the ratio threshold can be set to 60%, 80%, etc. This application does not make any specific limitation on the ratio threshold.
[0131] Figure 8 FIG. 1 is a flow chart of a positioning method provided by another exemplary embodiment of the present application. Figure 8 As shown, after step S242, the positioning method may further include:
[0132] S250: Relocate the point cloud data of the current frame.
[0133] Specifically, if the current frame point cloud data is considered invalid, it is necessary to relocate the current frame point cloud data, that is, calibrate the current frame point cloud data to obtain accurately positioned current frame point cloud data. The specific relocation process will be described in detail later.
[0134] Figure 9 This is a flow chart of relocating the current frame point cloud data provided by an exemplary embodiment of the present application. Figure 9 As shown, step S250 may include:
[0135] S251: Calculate target frame point cloud data having the highest similarity with the current frame point cloud data in the historical frame point cloud data based on the current frame point cloud data.
[0136] Specifically, the historical frame point cloud data can be understood as the point cloud data used for positioning and map construction before the current frame point cloud data.
[0137] In one embodiment, the Scan Context algorithm can be applied to obtain target frame point cloud data with the highest similarity to the current frame point cloud data from historical frame point cloud data by utilizing the characteristics of rotation invariance. This process is described in detail below.
[0138] S252: Performing initial registration on the current frame point cloud data according to the target frame point cloud data.
[0139] Specifically, after obtaining the target frame point cloud data that is most similar to the current frame point cloud data, the current frame point cloud data can be initially registered using rotational invariance and the angular offset between the target frame point cloud data and the current frame point cloud data. The specific process of initial registration is described in detail later.
[0140] S253: Perform secondary registration on the current frame point cloud data after the initial registration, and output the successfully relocated current frame point cloud data.
[0141] Specifically, performing secondary registration on the current frame point cloud data after the initial registration can make the positioning of the current frame point cloud data more accurate.
[0142] In one embodiment, the ICP algorithm can be applied to perform secondary registration on the current frame point cloud data after the initial registration. If the result of the secondary registration using IPC is convergence, it means that the current frame point cloud is successfully relocated, and the current frame point cloud data that has been successfully relocated can be output accordingly.
[0143] In one embodiment, the NDT algorithm can be applied to the current frame's point cloud data after initial registration for secondary registration. If the NDT secondary registration results in convergence, the current frame's point cloud has been successfully relocalized, and the relocalized point cloud data for the current frame can be output accordingly. Furthermore, compared to the ICP algorithm, the NDT algorithm is more suitable for the registration of single-frame point cloud data, resulting in more accurate secondary registration results during relocalization and significantly reducing time consumption, effectively improving work efficiency.
[0144] Figure 10 A schematic diagram of a process for calculating target frame point cloud data having the highest similarity with current frame point cloud data in historical frame point cloud data according to current frame point cloud data is provided as an exemplary embodiment of the present application. Figure 10 As shown, step S251 may include:
[0145] S2511: Obtaining the ring parameters and sector parameters of the current frame point cloud data according to the current frame point cloud data.
[0146] Specifically, the Scan Context algorithm can be applied to calculate the ring key and sector key of the current frame power data. The Scan Context algorithm can compress the three-dimensional point cloud data of the current frame and convert it into a polar coordinate system for calculation. The ring key and sector key are related parameters based on the polar coordinate system. For the specific definitions of the ring key and sector key, please refer to the content of the Scan Context algorithm described in the relevant technology, which will not be repeated here.
[0147] S2512: Obtain the ring parameters and sector parameters of all historical frame point cloud data.
[0148] In one embodiment, when historical frame point cloud data is used for positioning and map construction, the ScanContext algorithm is applied to calculate the ring parameters (ring key) and sector parameters (sector key) of each frame of historical frame point cloud data, and the ring parameters (ring key) and sector parameters (sector key) of each frame of historical frame point cloud data are saved. When executing step S2512, the ring parameters (ring key) and sector parameters (sector key) of all historical frame point cloud data can be directly extracted from the memory.
[0149] S2513: According to the ring area parameters of the current frame point cloud data and the ring area parameters of all historical frame point cloud data, multiple frames of candidate frame point cloud data are searched in all historical frame point cloud data.
[0150] Specifically, the ring key is a rotationally invariant descriptor. In one embodiment, the ring key and the K-nearest neighbor (KNN) algorithm can be used to search all historical frame point cloud data to obtain multiple frames of candidate frame point cloud data that are adjacent to the current frame point cloud data.
[0151] In one embodiment, the specific number of frames of candidate frame point cloud data obtained by the search can be set according to actual conditions, for example, it can be 3 frames of candidate frame point cloud data, 4 frames of candidate frame point cloud data, etc. This application does not specifically limit the specific number of frames of candidate frame point cloud data obtained by the search.
[0152] S2514: Calculate the angle offset between the current frame point cloud data and each frame of candidate frame point cloud data based on the sector parameters of the multiple frames of candidate frame point cloud data and the sector parameters of the current frame point cloud data.
[0153] S2515: Select the candidate frame point cloud data corresponding to the minimum angle offset as the target frame point cloud data.
[0154] Specifically, the sector parameters can be converted into a matrix form. According to the sector parameters of multiple frames of candidate frame point cloud data and the sector parameters of the current frame point cloud data, the angular offset between the sector parameters of each frame of candidate frame point cloud data and the sector parameters of the current frame point cloud data can be calculated.
[0155] The minimum angle offset is selected from multiple angle offsets. The candidate frame point cloud data corresponding to the minimum angle offset can be considered as the point cloud data with the highest similarity to the current frame point cloud data. Therefore, the candidate frame point cloud data corresponding to the minimum angle offset can be used as the target frame point cloud data.
[0156] Figure 11 This is a flow chart of performing initial registration of the current frame point cloud data based on the target frame point cloud data provided by an exemplary embodiment of the present application. Figure 11 As shown, step S252 may include:
[0157] S2521: Obtaining an angular offset between the target frame point cloud data and the current frame point cloud data according to the target frame point cloud data.
[0158] Specifically, the execution process of step S2521 is similar to the execution process of the aforementioned step S2514, and will not be repeated here.
[0159] S2522: Obtain an initial transformation matrix based on the angle offset.
[0160] S2523: Perform initial registration on the current frame point cloud data according to the current frame point cloud data and the initial transformation matrix.
[0161] Specifically, the target frame point cloud data is the point cloud data with the highest similarity to the current frame point cloud data. By utilizing rotation invariance, the current frame point cloud data is multiplied by the initial transformation matrix obtained by converting the angular offset of the target frame point cloud data. That is, the current frame point cloud data can be aligned with the target frame point cloud data to realize the initial alignment process of the current frame point cloud.
[0162] In one embodiment, step S2522 and step S2523 may be directly executed after step S2515 without executing step S2515.
[0163] Figure 12 This is a structural block diagram of a positioning device provided by an exemplary embodiment of the present application. Figure 12As shown, the positioning device 400 provided in the embodiment of the present application may include: a first acquisition module 410, configured to acquire the current frame point cloud data; a first calculation module 420, cooperated to calculate the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data; a first statistical module 430, configured to obtain the number of valid points based on the residuals of the multiple target points; and a first output module 440, configured to output a signal indicating that the positioning of the current frame point cloud data is valid or output a signal indicating that the positioning of the current frame point cloud data is invalid based on the number of valid points.
[0164] The positioning device 400 provided in the embodiment of the present application obtains the current frame point cloud data, and then calculates the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data, and then obtains the number of valid points based on the residuals of the multiple target points. Then, according to the number of valid points, it outputs a signal that the positioning of the current frame point cloud data is valid or outputs a signal that the positioning of the current frame point cloud data is invalid. During the positioning and map construction process, it uses the number of valid points as a basis for judging whether the positioning of the current frame point cloud data is accurate, processes the current frame point cloud data in real time, and makes timely judgment on whether the positioning of the current frame point cloud data is invalid. Compared with the global data processing after the map is completed, the data processing amount of the real-time processing of the current frame point cloud data is smaller, and the processing process is simpler and more efficient.
[0165] Figure 13 This is a structural block diagram of a positioning device provided by another exemplary embodiment of the present application. Figure 13 As shown, in one embodiment, the first calculation module 420 may include a conversion module 421, configured to obtain coordinate values of multiple target points based on the current frame point cloud data; a first search module 422, configured to search for multiple groups of candidate points within a preset distance range of each target point; wherein the multiple groups of candidate points correspond one-to-one to the multiple target points; a first fitting module 423, configured to obtain a fitting plane based on the multiple candidate points in the first candidate point group if the number of multiple candidate points in the first candidate point group is greater than or equal to a first number threshold; and a second calculation module 424, configured to calculate the actual distance from the target point corresponding to the first candidate point group to the fitting plane, and use the actual distance as the residual of the corresponding target point.
[0166] like Figure 13 As shown, in one embodiment, the first fitting module 423 may include a second fitting module 4231, configured to obtain a transition plane based on multiple candidate points in the first candidate point group; and a first selection module 4232, configured to use the transition plane as the fitting plane if the distances from the multiple candidate points in the first candidate point group to the transition plane are all less than a first distance threshold.
[0167] like Figure 13As shown, in one embodiment, the first calculation module 420 may include a third fitting module 425, configured to obtain a transition plane based on the multiple candidate points in the first candidate point group if the number of the multiple candidate points in the second candidate point group is greater than or equal to the first number threshold; a second output module 426, configured to output a signal that the transition plane is calibrated as an invalid plane if the distance from at least one candidate point in the second candidate point group to the transition plane is greater than the first distance threshold; and a first assignment module 427, configured to assign the residual of the target point corresponding to the second candidate point group to a preset residual value based on the signal that the transition plane is calibrated as an invalid plane.
[0168] like Figure 13 As shown, in one embodiment, the first calculation module 420 may include a second assignment module 428, which is configured to assign the residual of the target point corresponding to the third candidate point group to a preset residual value if the number of multiple candidate points in the third candidate point group is less than the first number threshold.
[0169] like Figure 13 As shown, in one embodiment, the first statistical module 430 may include a first calibration module 431, which is configured to calibrate the target point whose residual is less than or equal to the residual threshold as a valid point if the residual of the target point is less than or equal to the residual threshold; and a second statistical module 432, which is configured to count the number of target points calibrated as valid points to obtain the number of valid points.
[0170] like Figure 13 As shown, in one embodiment, the first output module 440 may include a third output module 441, configured to output a signal indicating that the positioning of the current frame point cloud data is valid if the ratio of the number of valid points to the total number of target points is greater than or equal to a ratio threshold; and a fourth output module 442, configured to output a signal indicating that the positioning of the current frame point cloud data is invalid if the ratio of the number of valid points to the total number of target points is less than the ratio threshold.
[0171] like Figure 13 As shown, in one embodiment, the positioning device 400 may include a repositioning module 450 configured to reposition the point cloud data of the current frame.
[0172] like Figure 13 As shown, in one embodiment, the repositioning module 450 may include a third calculation module 451, configured to calculate, based on the current frame point cloud data, target frame point cloud data having the highest similarity with the current frame point cloud data in the historical frame point cloud data; a first registration module 452, configured to perform an initial registration on the current frame point cloud data based on the target frame point cloud data; and a second registration module 453, configured to perform a secondary registration on the current frame point cloud data after the initial registration, and output the current frame point cloud data that has been successfully repositioned.
[0173] like Figure 13 As shown, in one embodiment, the third calculation module 451 may include a fourth calculation module 4511, configured to obtain the ring area parameters and sector parameters of the current frame point cloud data based on the current frame point cloud data; a second acquisition module 4512, configured to obtain the ring area parameters and sector parameters of all historical frame point cloud data; a second search module 4513, configured to search all historical frame point cloud data for multiple frames of candidate frame point cloud data based on the ring area parameters of the current frame point cloud data and the ring area parameters of all historical frame point cloud data; a fifth calculation module 4514, configured to calculate the angular offset between the current frame point cloud data and each frame of candidate frame point cloud data based on the sector parameters of the multiple frames of candidate frame point cloud data and the sector parameters of the current frame point cloud data; and a second selection module 4515, configured to select the candidate frame point cloud data corresponding to the smallest angular offset as the target frame point cloud data.
[0174] like Figure 13 As shown, in one embodiment, the first registration module 452 may include a sixth calculation module 4521, configured to obtain the angular offset between the target frame point cloud data and the current frame point cloud data based on the target frame point cloud data; a seventh calculation module 4522, configured to obtain the initial transformation matrix based on the angular offset; and a third registration module 4523, configured to perform initial registration on the current frame point cloud data based on the current frame point cloud data and the initial transformation matrix.
[0175] Figure 14 This is a structural block diagram of a robot provided by an exemplary embodiment of the present application. Figure 14 As shown, the robot 600 provided in the embodiment of the present application may include: a body 610; a laser radar 620, arranged on the body 610; an inertial sensor 630, arranged on the body 610; an electronic device 640, arranged on the body 610, the electronic device is communicatively connected to the laser radar 620 and the inertial sensor 630, and the electronic device 640 is configured to perform the positioning method as described above.
[0176] In one embodiment, the robot may further include a power supply, which may provide electrical energy to the body, the laser radar, and the inertial sensor.
[0177] In one embodiment, the robot may further include electrical components, such as a voltage stabilizer, a filter, and the like.
[0178] In one embodiment, the robot may further include an input device, such as a mouse, a keyboard, etc.
[0179] In one embodiment, the robot may further include an output device, such as a display, a speaker, etc.
[0180] The robot 600 provided in the embodiment of the present application obtains the current frame point cloud data, and then calculates the residuals of multiple target points in the current frame point cloud data based on the current frame point cloud data, and then obtains the number of valid points based on the residuals of the multiple target points. Then, according to the number of valid points, it outputs a signal that the positioning of the current frame point cloud data is valid or outputs a signal that the positioning of the current frame point cloud data is invalid. In the process of positioning and map construction, it uses the number of valid points as a basis for judging whether the positioning of the current frame point cloud data is accurate, processes the current frame point cloud data in real time, and makes timely judgment on whether the positioning of the current frame point cloud data is invalid. Compared with the global data processing after the mapping is completed, the data processing amount of the real-time processing of the current frame point cloud data is smaller, and the processing process is simpler and more efficient.
[0181] Figure 15 This is a structural block diagram of an electronic device provided by an exemplary embodiment of the present application. Figure 15 As shown, the electronic device 640 can be any one or both of the first device and the second device, or a standalone device independent of them. The standalone device can communicate with the first device and the second device to receive the collected input signals from them.
[0182] like Figure 15 As shown, the electronic device 640 includes one or more processors 641 and a memory 642 .
[0183] The processor 641 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 640 to perform desired functions.
[0184] The memory 642 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. The non-volatile memory may include, for example, read-only memory (ROM), a hard disk, a flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 641 may execute the program instructions to implement the control methods of the various embodiments of the present application described above and / or other desired functions. Various contents such as input signals, signal components, noise components, etc. may also be stored in the computer-readable storage medium.
[0185] In one example, the electronic device 640 may further include an input device 643 and an output device 644 , and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).
[0186] When the controller is a stand-alone device, the input device 643 may be a communication network connector for receiving collected input signals from the first device and the second device.
[0187] In addition, the input device 643 may also include, for example, a keyboard, a mouse, etc.
[0188] The output device 644 can output various information to the outside, including determined distance information, direction information, etc. The output device 644 can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.
[0189] Of course, to simplify, Figure 15 Only some of the components related to the present application in the electronic device 640 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, the electronic device 640 may further include any other appropriate components according to specific application scenarios.
[0190] The computer program product may be written in any combination of one or more programming languages to implement the program code for performing the operations of the embodiments of the present application, including object-oriented programming languages such as Java, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0191] The computer-readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can, for example, include but is not limited to a system, device or component of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0192] The basic principles of the present application have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this application are merely illustrative and not restrictive, and it should not be assumed that these advantages, strengths, and effects are required of each embodiment of this application. In addition, the specific details disclosed above are merely illustrative and facilitating understanding, and are not restrictive. The above details do not limit this application to necessarily being implemented using the above specific details.
[0193] The block diagrams of the devices, devices, equipment, and systems involved in this application are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "include," "comprise," "have," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.
[0194] It should also be noted that in the apparatus, device, and method of the present application, each component or each step can be decomposed and / or recombined, and such decomposition and / or recombination should be regarded as equivalent solutions of the present application.
[0195] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present application. Therefore, the present application is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0196] The above description has been provided for the purpose of illustration and description. Furthermore, this description is not intended to limit the embodiments of the present application to the forms disclosed herein. Although a number of example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.
Claims
1. A positioning method, characterized in that: include: Get the current frame point cloud data; Calculating residuals of a plurality of target points in the current frame point cloud data according to the current frame point cloud data; Obtaining the number of valid points based on the residuals of the plurality of target points; wherein the valid points represent the target points whose residuals are less than or equal to a residual threshold; and During the positioning and map construction process, the number of valid points is used as a basis for judging whether the positioning of the current frame point cloud data is accurate. According to the number of valid points, a signal indicating that the positioning of the current frame point cloud data is valid is output, or a signal indicating that the positioning of the current frame point cloud data is invalid is output, including: if the ratio of the number of valid points to the total number of target points is greater than or equal to a ratio threshold, a signal indicating that the positioning of the current frame point cloud data is valid is output; or if the ratio of the number of valid points to the total number of target points is less than the ratio threshold, a signal indicating that the positioning of the current frame point cloud data is invalid is output.
2. The positioning method according to claim 1, wherein: The calculating, based on the current frame point cloud data, the residuals of the plurality of target points in the current frame point cloud data comprises: Obtaining coordinate values of a plurality of target points according to the current frame point cloud data; Searching and obtaining a plurality of candidate point groups within a preset distance range of each target point; wherein the plurality of target points correspond one to one with the plurality of candidate point groups; If the number of the plurality of candidate points in the first candidate point group is greater than or equal to a first number threshold, obtaining a fitting plane according to the plurality of candidate points in the first candidate point group; and An actual distance between the target point corresponding to the first candidate point group and the fitting plane is calculated, and the actual distance is used as a residual corresponding to the target point.
3. The positioning method according to claim 2, characterized in that: The obtaining of a fitting plane according to the plurality of candidate points in the first candidate point group includes: Obtaining a transition plane according to the plurality of candidate points in the first candidate point group; and If the distances from the plurality of candidate points in the first candidate point group to the transition plane are all less than a first distance threshold, the transition plane is used as the fitting plane.
4. The positioning method according to claim 2, wherein: After the search obtains a plurality of sets of candidate points, the step of calculating residuals of a plurality of target points in the current frame point cloud data according to the current frame point cloud data further includes: If the number of the plurality of candidate points in the second candidate point group is greater than or equal to the first number threshold, obtaining a transition plane according to the plurality of candidate points in the second candidate point group; If there is at least one candidate point in the second candidate point group whose distance to the transition plane is greater than a first distance threshold, outputting a signal that the transition plane is marked as an invalid plane; and According to the signal that the transition plane is calibrated as an invalid plane, the residual of the target point corresponding to the second candidate point group is assigned a preset residual value; wherein the preset residual value is greater than the residual threshold.
5. The positioning method according to claim 2, characterized in that: After the search obtains a plurality of sets of candidate points, the step of calculating residuals of a plurality of target points in the current frame point cloud data according to the current frame point cloud data further includes: If the number of multiple candidate points in the third candidate point group is less than the first number threshold, the residual of the target point corresponding to the third candidate point group is assigned a preset residual value; wherein the preset residual value is greater than the residual threshold.
6. The positioning method according to claim 1, characterized in that: The obtaining of the number of valid points according to the residuals of the plurality of target points comprises: If the residual of the target point is less than or equal to the residual threshold, marking the target point with the residual less than or equal to the residual threshold as a valid point; and The number of the target points calibrated as the valid points is counted to obtain the number of the valid points.
7. The positioning method according to claim 1, characterized in that: After outputting the signal indicating that the positioning of the current frame point cloud data is invalid, the positioning method further includes: Relocate the current frame point cloud data.
8. The positioning method according to claim 7, characterized in that: The relocating the current frame point cloud data includes: Calculating target frame point cloud data having the highest similarity to the current frame point cloud data in historical frame point cloud data based on the current frame point cloud data; Performing initial registration on the current frame point cloud data according to the target frame point cloud data; Perform secondary registration on the current frame point cloud data after the initial registration, and output the successfully relocated current frame point cloud data.
9. The positioning method according to claim 8, characterized in that: The target frame point cloud data having the highest similarity to the current frame point cloud data in the historical frame point cloud data is calculated based on the current frame point cloud data, including: Obtaining, according to the current frame point cloud data, ring area parameters and sector parameters of the current frame point cloud data; Obtaining the ring parameters and sector parameters of all the historical frame point cloud data; Searching all the historical frame point cloud data to obtain multiple frames of candidate frame point cloud data according to the ring area parameters of the current frame point cloud data and the ring area parameters of all the historical frame point cloud data; Calculating an angular offset between the current frame point cloud data and each frame of the candidate frame point cloud data according to the sector parameters of the multiple frames of the candidate frame point cloud data and the sector parameters of the current frame point cloud data; The candidate frame point cloud data corresponding to the smallest angle offset is selected as the target frame point cloud data.
10. The positioning method according to claim 8, characterized in that: The performing initial registration on the current frame point cloud data according to the target frame point cloud data includes: Obtaining an angular offset between the target frame point cloud data and the current frame point cloud data according to the target frame point cloud data; Obtaining an initial transformation matrix according to the angular offset; and Initial registration is performed on the current frame point cloud data according to the current frame point cloud data and the initial transformation matrix.
11. A positioning device, characterized in that: include: A first acquisition module is configured to acquire point cloud data of a current frame; A first calculation module is configured to calculate residuals of a plurality of target points in the current frame point cloud data based on the current frame point cloud data; A first statistical module is configured to obtain the number of valid points based on the residuals of the plurality of target points; wherein the valid points represent the target points whose residuals are less than or equal to a residual threshold; and The first output module is configured to use the number of valid points as a basis for judging whether the positioning of the current frame point cloud data is accurate during the positioning and map construction process, and output a signal indicating that the positioning of the current frame point cloud data is valid or a signal indicating that the positioning of the current frame point cloud data is invalid according to the number of valid points, including: if the ratio of the number of valid points to the total number of target points is greater than or equal to a ratio threshold, output a signal indicating that the positioning of the current frame point cloud data is valid; or if the ratio of the number of valid points to the total number of target points is less than the ratio threshold, output a signal indicating that the positioning of the current frame point cloud data is invalid.
12. A robot, characterized in that: include: body; a laser radar, disposed on the body; an inertial sensor, disposed on the body; An electronic device is provided on the body, the electronic device is communicatively connected to the laser radar and the inertial sensor, and the electronic device is configured to execute the positioning method according to any one of claims 1 to 10.
13. A storage medium storing a computer program, characterized in that: The computer program is configured to execute the positioning method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Method and system for removing ground based on laser radar point cloud data
CN112578405A
Laser SLAM loopback detection method
CN113516682A
Positioning method, positioning equipment, vehicle and computer readable storage medium
CN114200462A
Positioning method and device based on laser radar, computer equipment and storage medium
CN115390085A