SLAM back-end global optimization triggering method, device, equipment and medium
By monitoring the changes in target pose and environmental point cloud, the trigger frequency of the SLAM backend global optimization is dynamically adjusted, which solves the problem of inflexible trigger mechanism in existing technologies, achieves more efficient and accurate SLAM system optimization, and improves positioning accuracy and real-time performance.
Patent Information
- Application Number
- CN202510077702.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-01-17
AI Technical Summary
The trigger mechanism of back-end global optimization in existing SLAM systems cannot flexibly adapt to operational requirements, resulting in the impact on real-time performance and stability.
By monitoring the target pose error parameters and the environment point cloud change parameters, the trigger frequency of the SLAM backend global optimization is dynamically adjusted, and multi-dimensional condition judgment is used to achieve adaptive optimization timing.
It reduces unnecessary waste of computing resources, improves the positioning accuracy and real-time performance of the SLAM system, and enhances the adaptability and flexibility of the system in different environments.
Smart Images

Figure CN120014043B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of SLAM technology, and in particular to a SLAM back-end global optimization triggering method, device, equipment and medium. Background Art
[0002] SLAM technology plays a very important role in fields such as robotics and autonomous driving. The SLAM system consists of two parts: the front end and the back end. The front end is responsible for acquiring data and extracting features from sensors to perform preliminary calculations of the target pose. The back end is responsible for globally optimizing all pose data generated by the front end through optimization algorithms to eliminate cumulative errors and improve the accuracy of the SLAM system.
[0003] Global optimization at the back end consumes a lot of computing resources. Most existing technologies rely on predetermined fixed trigger mechanisms, such as triggering optimization at fixed time intervals. Fixed trigger mechanisms cannot flexibly adapt to the operation of SLAM. If the trigger time interval of the back-end global optimization is too large or too small, it will affect the real-time performance and stability of the SLAM system. Summary of the Invention
[0004] The present invention provides a SLAM back-end global optimization triggering method, device, equipment and medium to solve the problem of inaccurate SLAM back-end global optimization triggering timing.
[0005] According to one aspect of the present invention, a SLAM backend global optimization triggering method is provided, comprising:
[0006] Obtain the target pose information and environment point cloud information determined by the SLAM front end;
[0007] Determine a current posture error parameter according to the target posture information and the reference posture information;
[0008] Determining a change parameter of the current frame environment point cloud according to the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information;
[0009] The current pose error parameter and the current frame environment point cloud change parameter are monitored, and if any one of the current pose error parameter and the current frame environment point cloud change parameter meets a preset condition, the SLAM backend global optimization is triggered.
[0010] According to another aspect of the present invention, a SLAM back-end global optimization triggering device is provided, comprising:
[0011] The front-end information acquisition module is used to obtain the target pose information and environment point cloud information determined by the SLAM front-end;
[0012] A posture error determination module is used to determine a current posture error parameter based on the target posture information and the reference posture information;
[0013] An environment change determination module, configured to determine a change parameter of the current frame environment point cloud based on the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information;
[0014] The global optimization trigger judgment module is used to monitor the current posture error parameters and the current frame environment point cloud change parameters, and trigger the SLAM backend global optimization if any of the current posture error parameters and the current frame environment point cloud change parameters meet the preset conditions.
[0015] According to another aspect of the present invention, an electronic device is provided, 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, and the computer program is executed by the at least one processor so that the at least one processor can execute the SLAM back-end global optimization triggering method described in any embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the SLAM back-end global optimization triggering method described in any embodiment of the present invention when executed.
[0020] The technical solution of the embodiment of the present invention dynamically adjusts the trigger frequency of the SLAM back-end global optimization by judging the changes in the real-time posture of the target and the changes in the real-time environment, and realizes adaptive and precise triggering of optimization timing, which not only avoids unnecessary frequent optimization calculations, reduces the waste of system resources, and improves computing efficiency, but also ensures that the cumulative error is reduced, the positioning accuracy and real-time performance of the SLAM system are improved, and through the comprehensive judgment of the trigger conditions in multiple dimensions, the accuracy of the SLAM system in adapting to different environments and needs is improved, making the SLAM back-end optimization trigger more flexible and efficient. It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easy to understand through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1 1 is a flowchart of a SLAM backend global optimization triggering method provided according to an embodiment of the present invention;
[0023] Figure 2 This is the overall architecture diagram of the SLAM system;
[0024] Figure 3 Flowchart of another SLAM backend global optimization triggering method provided according to an embodiment of the present invention;
[0025] Figure 4 2 is a schematic structural diagram of a SLAM back-end global optimization triggering device provided according to an embodiment of the present invention;
[0026] Figure 5 The present invention is a schematic diagram of the structure of an electronic device for implementing the SLAM back-end global optimization triggering method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "candidate", "target", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or that are inherent to these processes, methods, products or devices.
[0029] Figure 1The present invention provides a flowchart of a SLAM backend global optimization triggering method. This embodiment is applicable to the case where the SLAM backend global optimization triggering timing is dynamically determined. The method can be executed by a SLAM backend global optimization triggering device. The SLAM backend global optimization triggering device can be implemented in the form of hardware and / or software. The SLAM backend global optimization triggering device can be configured in a SLAM integrated target device, such as an unmanned vehicle or a robot. Figure 1 As shown, the method includes:
[0030] S110, obtaining target pose information and environment point cloud information determined by the SLAM front end.
[0031] The SLAM system is deployed in the target, which can be a vehicle with an autonomous driving system or a robot with a robotic navigation system. The SLAM system includes a SLAM front-end and a SLAM back-end. Various types of sensors are deployed on the target. The SLAM front-end is responsible for collecting and processing various types of sensor data, including radar sensors, IMU sensors, RTK sensors, etc. The SLAM front-end processes the various types of sensor data obtained at each time point to obtain the target pose information corresponding to that time point, and uses this target pose information to guide the target's autonomous driving system or robotic navigation system to move forward. Among them, the calculation of pose information by the SLAM front-end based on various types of sensor data is a common technical means in this field and is not specifically limited here.
[0032] like Figure 2 The figure shows the overall architecture of the SLAM system. Data acquisition and preprocessing, as well as the front-end odometry, are part of the SLAM front-end, responsible for collecting and processing various types of sensor data and determining target pose information. The back-end optimization trigger module obtains various information from the front-end to perform dynamic trigger judgments. If the trigger conditions are met, back-end optimization is performed. Back-end optimization optimizes and updates all data in the front-end odometry to improve positioning accuracy.
[0033] The environmental point cloud information is determined based on the data acquired by the radar sensor. For example, after acquiring the original point cloud data acquired by the radar sensor, the original point cloud data is preprocessed to obtain the environmental point cloud information. The preprocessing operation includes a denoising operation, etc.
[0034] S120. Determine a current posture error parameter according to the target posture information and the reference posture information.
[0035] The reference pose information represents the target's extreme pose during movement. The reference pose information is determined based on historical pose statistics or the target's inherent driving properties. For example, historical pose statistics are collected for the target's movement, with the maximum historical pose serving as the reference pose information. The target's inherent driving properties refer to attributes of the target that affect its extreme pose during movement, such as the target's road speed limit or the target's own speed limit.
[0036] The current posture error parameter is determined based on the difference between the target posture information and the reference posture information. Since the reference posture information is the extreme posture information during the target movement process, the degree of closeness between the current posture information of the target and the extreme posture can be determined based on the difference between the target posture information and the reference posture information. If it is closer to the reference posture information or even greater than the reference posture information, it can be determined that the current posture error of the target is too large.
[0037] In a feasible embodiment, the reference posture information is determined based on a linear velocity threshold and an angular velocity threshold, and the linear velocity threshold and the angular velocity threshold are determined based on historical target posture information statistics or inherent properties of the target driving.
[0038] Specifically, the reference posture information is determined based on a linear velocity threshold and an angular velocity threshold, and the linear velocity threshold and the angular velocity threshold are determined based on historical target posture information statistics or inherent properties of target driving.
[0039] For example, the maximum linear velocity V of the robot / autonomous driving vehicle in the current environment is determined based on the historical target posture information statistics or the target driving inherent properties. max , the maximum angular velocity w max , then within a Δt, there is: linear velocity threshold ΔP max =V max ×Δt; angular velocity threshold Δyaw max =w max ×Δt,ΔP max and Δyaw max is the reference pose information. The value of Δt can be determined according to the update period of the pose information in the target, and the specific value is not limited here.
[0040] Accordingly, S120 includes:
[0041] Determine the current target linear velocity and the current target angular velocity according to the target posture information;
[0042] The current linear velocity error parameter is determined according to the difference between the linear velocity threshold and the current target linear velocity, and the current angular velocity error parameter is determined according to the difference between the angular velocity threshold and the current target angular velocity, and the current linear velocity error parameter and the current angular velocity error parameter are used as the current posture error parameter.
[0043] Determine the target linear velocity and target angular velocity of the target at the current time point according to the target posture information, determine the current target linear velocity ΔP according to the product of the target linear velocity and Δt, determine the current target angular velocity Δyaw according to the product of the target angular velocity and Δt, and determine the current target angular velocity Δyaw according to the linear velocity threshold ΔP max The difference between the current target linear velocity ΔP determines the current linear velocity error parameter, and the angular velocity threshold Δyaw max The difference between the current target angular velocity Δyaw and the current angular velocity error parameter is used to determine the current angular velocity error parameter, and the current linear velocity error parameter and the current angular velocity error parameter are used as the current posture error parameter.
[0044] S130 : Determine a change parameter of the current frame environment point cloud according to the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information.
[0045] Among them, the current frame environment point cloud change parameter is used to characterize the degree of mutation between the current frame environment point cloud and the previous frame environment point cloud of the target movement, that is, the current frame environment point cloud change parameter is used to characterize the similarity between the current frame environment point cloud and the previous frame environment point cloud. If the similarity is higher, the degree of mutation between the current frame environment point cloud and the previous frame environment point cloud is lower. Conversely, if the similarity is lower, it means that the environmental characteristics of the target movement have undergone greater changes, which means that the degree of mutation between the current frame environment point cloud and the previous frame environment point cloud is higher.
[0046] Specifically, the similarity between the current frame environment point cloud and the previous frame environment point cloud is determined, and the change parameters of the current frame environment point cloud are determined based on the similarity. Exemplarily, environmental features are extracted from the current frame environment point cloud to obtain current environmental features, and environmental features are extracted from the previous frame environment point cloud to obtain previous frame environmental features. The similarity between the current frame environment features and the previous frame environment features is determined as the change parameters of the current frame environment point cloud. The extraction of environmental features and the determination of the similarity between environmental features can be determined using a pre-trained feature extraction network model and a feature similarity determination network model. The methods for determining environmental features and similarity are not limited herein.
[0047] S140 , monitoring the current pose error parameters and the current frame environment point cloud change parameters, and triggering SLAM backend global optimization if any of the current pose error parameters and the current frame environment point cloud change parameters meet a preset condition.
[0048] The current pose error parameters and the current frame environment point cloud change parameters corresponding to each time point during the target movement are calculated and judged. If the current pose error parameters meet the first preset condition and / or the current frame environment point cloud change parameters meet the second preset condition, the SLAM backend global optimization is triggered.
[0049] Specifically, if the current posture error parameter meets the first preset condition, it is determined that the posture information error of the current time point of the target movement is large, and the posture information calculated by the front end alone cannot accurately adapt to the current environment. The back end is required to perform a global correction of the posture information to improve the accuracy of the target posture information, thereby ensuring the accuracy of the subsequent posture information calculated by the front end.
[0050] If the current frame environment point cloud change parameters meet the second preset condition, it is determined that the current environment in which the target moves has changed from the previous frame environment characteristics, which is not conducive to the matching of the front-end odometer. Moreover, since the environmental characteristics have changed, the features in the environment have increased. At this time, the SLAM back-end global optimization is triggered to make the target positioning and map construction more accurate, thereby improving the accuracy of the posture information calculated by the subsequent front-end.
[0051] If any of the current pose error parameters and the current frame environment point cloud change parameters meet the corresponding preset conditions, the SLAM backend global optimization is triggered, and all the pose information and other data calculated by the front end are globally corrected to eliminate the accumulated error.
[0052] In a feasible embodiment, if any of the current pose error parameters and the current frame environment point cloud change parameters meet the preset conditions, the SLAM backend global optimization is triggered, including:
[0053] If the current linear velocity error parameter is less than 0 and the current angular velocity error parameter is less than 0, it is determined that the current pose error parameter meets the preset conditions, triggering the SLAM backend global optimization.
[0054] The first preset condition corresponding to the current pose error parameter is that if the current linear velocity error parameter is less than 0, and the current angular velocity error parameter is less than 0, that is, if the current linear velocity is greater than the linear velocity threshold and the current angular velocity is greater than the angular velocity threshold, it is determined that the current pose error is large, indicating that the front end alone can no longer adapt to the current environment. If the positioning is not corrected, a greater deviation will occur. After the judgment is made, the back-end optimization is immediately called for global correction, that is, the SLAM back-end global optimization is immediately triggered when the current pose error parameter meets the first preset condition.
[0055] The technical solution of the embodiment of the present invention dynamically adjusts the trigger frequency of the SLAM back-end global optimization by judging the changes in the real-time position of the target and the changes in the real-time environment, thereby realizing adaptive and precise triggering of optimization timing. It avoids unnecessary frequent optimization calculations, reduces the waste of system resources, improves computing efficiency, ensures the reduction of cumulative errors, improves the positioning accuracy and real-time performance of the SLAM system, and improves the accuracy of the SLAM system in adapting to different environments and needs through comprehensive judgment of multi-dimensional trigger conditions, making the SLAM back-end optimization triggering more flexible and efficient.
[0056] Figure 3 This is a flowchart of another SLAM backend global optimization triggering method provided by an embodiment of the present invention. This embodiment further refines the process of determining the current frame environment point cloud change parameters in the above embodiment. Figure 3 As shown, the method includes:
[0057] S210: Obtain target pose information and environment point cloud information determined by the SLAM front end.
[0058] S220. Determine a current posture error parameter according to the target posture information and the reference posture information.
[0059] S230 : Divide the environment point cloud of the previous frame to obtain multiple first point cloud sets.
[0060] All point clouds in the previous frame of environmental point cloud are divided into multiple first point cloud sets. For example, the previous frame of environmental point cloud is clustered to obtain multiple clustering results, and each clustering result is a first point cloud set; for example, clustering is performed according to the distance between point clouds. Since the distance between point clouds belonging to the same object is generally very close, the first point cloud set corresponding to each clustering result includes the point cloud information of objects that are closer.
[0061] S240 , respectively determining a second point cloud set in the current frame environment point cloud corresponding to each first point cloud set in the previous frame environment point cloud.
[0062] For each first point cloud set, a point cloud matching the first point cloud set is determined in the current frame environment point cloud as a second point cloud set corresponding to the first point cloud set. For example, the second point cloud set is determined based on the distance between the current frame environment point cloud and each point cloud in each first point cloud set.
[0063] Exemplarily, all point clouds in the current frame's environmental point cloud are divided into multiple second point cloud sets. For example, the current frame's environmental point cloud is clustered to obtain multiple clustering results, each of which is a second point cloud set. The similarity between each first point cloud set and all second point cloud sets is calculated, and the second point cloud set with the highest similarity among all second point cloud sets is determined to correspond to the first point cloud set. The similarity between point cloud sets can be determined using a pre-trained similarity model, which is not limited here, or the similarity can be determined based on the distance between each point cloud in the point cloud set.
[0064] In one feasible embodiment, S230 includes:
[0065] Determine the scanning range of the radar sensor and divide the scanning range into multiple equally spaced angular intervals;
[0066] Determine the point cloud data falling within each angle interval in the previous frame of the environment point cloud as a first point cloud set;
[0067] Accordingly, S240 includes:
[0068] Determine a first target point cloud set falling within a target angle interval;
[0069] The point cloud data in the current frame environment point cloud that falls within the target angle interval is determined as a second point cloud set corresponding to the target first point cloud set.
[0070] Determine the scanning range of the radar sensor, divide the scanning range into multiple equally spaced angular intervals according to the world coordinate system, and use the point cloud data in each angular interval in the previous frame of the environmental point cloud as a first point cloud set. Similarly, use the point cloud data in the same angular interval in the current frame of the environmental point cloud as a second point cloud set corresponding to the first point cloud set.
[0071] For example, the scanning range of the laser radar is generally 360 degrees, and the angle range θ∈[0, 2π]. The scanning range is divided into M equally spaced angle intervals, and the angle spacing of each angle interval is The angle range corresponding to each angle interval is fixed. The angle range corresponding to the j-th angle interval is (θj, θj+Δθ], the angle range corresponding to the first angle interval is (0, Δθ], and so on, where j=1, 2, ...M.
[0072] The point cloud data falling within the first angle interval (0, Δθ] in the previous frame environment point cloud is determined as the first first point cloud set. Similarly, the point cloud data falling within the first angle interval [0, Δθ] in the current frame environment point cloud is determined as the second point cloud set corresponding to the first first point cloud set; and so on, the point cloud data falling within the Mth angle interval (2π-Δθ, 2π] in the previous frame environment point cloud is determined as the Mth first point cloud set. Similarly, the point cloud data falling within the Mth angle interval (2π-Δθ, 2π] in the current frame environment point cloud is determined as the second point cloud set corresponding to the Mth first point cloud set.
[0073] S250 : Determine a current frame environment point cloud change parameter based on similarities between all first point cloud sets and corresponding second point cloud sets.
[0074] The similarity between each first point cloud set and the corresponding second point cloud set is determined respectively, and the point cloud change parameter of the current frame environment is determined according to the similarity of all point cloud sets.
[0075] Exemplarily, a similarity model is pre-trained, and each first point cloud set and the corresponding second point cloud set are input into the similarity model in turn to obtain the similarity between the first point cloud set and the corresponding second point cloud set. Finally, the similarities between all first point cloud sets and the corresponding second point cloud sets are added and averaged as the current frame environment point cloud change parameter.
[0076] In one feasible embodiment, S250 includes:
[0077] Determine a first target point with the largest distance in each first point cloud set, and use the distance value of the first target point as a first description parameter of the first point cloud set;
[0078] Determine a second target point with the largest distance in each second point cloud set, and use the distance value of the second target point as a second description parameter of the second point cloud set;
[0079] The current frame environment point cloud change parameter is determined according to the similarity between the first description parameters of all first point cloud sets and the second description parameters of the corresponding second point cloud sets.
[0080] Determine the distance value of the coordinates of each point in each first point cloud set respectively, take the point with the largest distance value as the first target point of the first point cloud set, and take the distance value of the first target point as the first description parameter of the first point cloud set. Similarly, determine the second description parameter of each second point cloud set according to this method. For example, the coordinates of any point in any point cloud set are (x i ,y i ), then the distance value of the point is The first description parameter of the first point cloud set corresponding to the j-th angle interval in the previous frame of the environment point cloud is r max (j) = max{r i :θ j ≤θ i <θ j +Δθ}.
[0081] The similarity between the first description parameter of each first point cloud set and the second description parameter of the corresponding second point cloud set is determined respectively, and the current frame environment point cloud change parameter is determined according to the similarity between the description parameters of all point cloud sets.
[0082] For example, the first description parameters of all first point cloud sets of the previous frame of the environment point cloud are normalized, and the normalization result is r max1 The maximum description parameter among the first description parameters of all the first point cloud sets of the previous frame environment point cloud; and the second description parameters of all the second point cloud sets of the current frame environment point cloud are normalized, and the normalized result is r max2 It is the maximum description parameter among the second description parameters of all second point cloud sets of the current frame environment point cloud.
[0083] The similarity between each corresponding description parameter in v'1 and v'2 is determined by cosine similarity, and the similarities between all description parameters are summed and averaged as the final current frame environment point cloud change parameter. The greater the similarity, the greater the similarity between the current frame environment point cloud and the previous frame environment point cloud, and the smaller the difference.
[0084] S260: Monitor the current pose error parameters and the current frame environment point cloud change parameters. If any of the current pose error parameters and the current frame environment point cloud change parameters meet a preset condition, trigger the SLAM backend global optimization.
[0085] In a feasible embodiment, if any of the current pose error parameters and the current frame environment point cloud change parameters meet the preset conditions, the SLAM backend global optimization is triggered, including:
[0086] If the current frame environment point cloud change parameter is less than the similarity threshold, it is determined that the current frame environment point cloud change parameter meets the preset conditions, triggering the SLAM backend global optimization.
[0087] If the current frame environment point cloud change parameter is less than the similarity threshold, it is determined that the current frame environment point cloud change parameter meets the preset conditions, triggering the SLAM backend global optimization.
[0088] The second preset condition for the current frame's environmental point cloud change parameter is that the current frame's environmental point cloud change parameter is less than the similarity threshold. That is, if the similarity between the current frame's environmental point cloud and the previous frame's environmental point cloud is less than the similarity threshold, it means that the environment of the current frame to which the target moves has undergone a significant mutation compared to the previous frame, which is not conducive to matching the front-end odometer. Moreover, at this time, the features in the environment are actually increasing. Constructing a global optimization will make the positioning and mapping at this time more stable, improving the overall performance of the system. That is, if the current frame's environmental point cloud change parameter meets the second preset condition, the SLAM backend global optimization will be immediately triggered.
[0089] The SLAM backend performs global optimization by receiving front-end data at different times for global consistency optimization, using graph optimization frameworks such as LIO-SAM and SC-PGO.
[0090] The technical solution of the embodiment of the present invention determines the similarity between the current frame environment point cloud and the previous frame environment point cloud, and then determines the change parameters of the current frame environment point cloud to represent the degree of mutation of the current frame environment. When a large mutation occurs in the current frame environment, the back-end global optimization is triggered. While ensuring the positioning performance of the SLAM system, the flexibility and efficiency of the SLAM back-end global optimization triggering are improved, and the triggering frequency of the SALM back-end optimization is dynamically adjusted according to the changes in the real-time environment, which reduces the waste of system resources and optimizes computing efficiency.
[0091] Figure 4 A schematic diagram of the structure of a SLAM back-end global optimization trigger device provided by an embodiment of the present invention. Figure 4 As shown, the device includes:
[0092] Front-end information acquisition module 410, used to obtain target pose information and environment point cloud information determined by the SLAM front-end;
[0093] A posture error determination module 420 is used to determine a current posture error parameter based on the target posture information and the reference posture information;
[0094] The environment change determination module 430 is used to determine the change parameters of the current frame environment point cloud based on the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information;
[0095] The global optimization trigger judgment module 440 is used to monitor the current posture error parameters and the current frame environment point cloud change parameters. If any of the current posture error parameters and the current frame environment point cloud change parameters meet the preset conditions, the SLAM backend global optimization is triggered.
[0096] The technical solution of the embodiment of the present invention dynamically adjusts the trigger frequency of the SLAM back-end global optimization by judging the changes in the real-time position of the target and the changes in the real-time environment, thereby realizing adaptive and precise triggering of optimization timing. It avoids unnecessary frequent optimization calculations, reduces the waste of system resources, improves computing efficiency, ensures the reduction of cumulative errors, improves the positioning accuracy and real-time performance of the SLAM system, and improves the accuracy of the SLAM system in adapting to different environments and needs through comprehensive judgment of multi-dimensional trigger conditions, making the SLAM back-end optimization triggering more flexible and efficient.
[0097] Optional, environment change determination module, including:
[0098] A point cloud segmentation unit, configured to segment the environment point cloud of the previous frame to obtain a plurality of first point cloud sets;
[0099] The point cloud set corresponding unit is used to respectively determine the second point cloud set in the current frame environment point cloud corresponding to each first point cloud set in the previous frame environment point cloud;
[0100] The environment point cloud change parameter determination unit is used to determine the environment point cloud change parameter of the current frame according to the similarity between all first point cloud sets and the corresponding second point cloud sets.
[0101] Optional point cloud segmentation unit, specifically used for:
[0102] Determine the scanning range of the radar sensor and divide the scanning range into multiple equally spaced angular intervals;
[0103] Determine the point cloud data falling within each angle interval in the previous frame of the environment point cloud as a first point cloud set;
[0104] Correspondingly, the point cloud set corresponds to a unit, which is specifically used for:
[0105] Determine a first target point cloud set falling within a target angle interval;
[0106] The point cloud data in the current frame environment point cloud that falls within the target angle interval is determined as a second point cloud set corresponding to the target first point cloud set.
[0107] Optionally, the environment point cloud change parameter determination unit is specifically used to:
[0108] Determine a first target point with the largest distance in each first point cloud set, and use the distance value of the first target point as a first description parameter of the first point cloud set;
[0109] Determine a second target point with the largest distance in each second point cloud set, and use the distance value of the second target point as a second description parameter of the second point cloud set;
[0110] The current frame environment point cloud change parameter is determined according to the similarity between the first description parameters of all first point cloud sets and the second description parameters of the corresponding second point cloud sets.
[0111] Optional, global optimization trigger judgment module, specifically used for:
[0112] If the current frame environment point cloud change parameter is less than the similarity threshold, it is determined that the current frame environment point cloud change parameter meets the preset conditions, triggering the SLAM backend global optimization.
[0113] Optionally, the reference posture information is determined based on a linear velocity threshold and an angular velocity threshold, and the linear velocity threshold and the angular velocity threshold are determined based on statistical results of historical target posture information or inherent properties of target driving;
[0114] Correspondingly, the posture error determination module is specifically used to:
[0115] Determine the current target linear velocity and the current target angular velocity according to the target posture information;
[0116] The current linear velocity error parameter is determined according to the difference between the linear velocity threshold and the current target linear velocity, and the current angular velocity error parameter is determined according to the difference between the angular velocity threshold and the current target angular velocity, and the current linear velocity error parameter and the current angular velocity error parameter are used as the current posture error parameter.
[0117] Optional, global optimization trigger judgment module, specifically used for:
[0118] If the current linear velocity error parameter is less than 0 and the current angular velocity error parameter is less than 0, it is determined that the current pose error parameter meets the preset conditions, triggering the SLAM backend global optimization.
[0119] The SLAM backend global optimization triggering device provided by the embodiment of the present invention can execute the SLAM backend global optimization triggering method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0120] The acquisition, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws and regulations and do not violate public order and good morals.
[0121] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0122] Figure 5A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment 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 processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0123] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0124] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0125] The processor 11 may be a variety of general and / or specialized processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the SLAM backend global optimization triggering method.
[0126] In some embodiments, the SLAM back-end global optimization triggering method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps in the SLAM back-end global optimization triggering method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the SLAM back-end global optimization triggering method in any other appropriate manner (e.g., by means of firmware).
[0127] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific reference products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0128] Computer programs for implementing 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 the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0129] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0130] 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 can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the 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 acoustic input, voice input, or tactile input).
[0131] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes switch components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, switch components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0132] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0133] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0134] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A SLAM backend global optimization triggering method, characterized in that: The method includes: Obtain the target pose information and environment point cloud information determined by the SLAM front end; Determine a current posture error parameter according to the target posture information and the reference posture information; Determining a change parameter of the current frame environment point cloud according to the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information; The current pose error parameter and the current frame environment point cloud change parameter are monitored, and if any one of the current pose error parameter and the current frame environment point cloud change parameter meets a preset condition, the SLAM backend global optimization is triggered.
2. The method according to claim 1, characterized in that Determining a change parameter of the current frame environment point cloud according to the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information includes: Dividing the previous frame environment point cloud to obtain multiple first point cloud sets; Respectively determining a second point cloud set in the current frame environment point cloud corresponding to each first point cloud set in the previous frame environment point cloud; The current frame environment point cloud change parameter is determined based on the similarities between all first point cloud sets and corresponding second point cloud sets.
3. The method according to claim 2, characterized in that The previous frame environment point cloud is divided to obtain multiple first point cloud sets, including: determining a scanning range of the radar sensor, and dividing the scanning range into a plurality of equally spaced angular intervals; Determine the point cloud data falling within each angle interval in the previous frame of the environmental point cloud as a first point cloud set; Accordingly, respectively determining a second point cloud set in the current frame environment point cloud corresponding to each first point cloud set in the previous frame environment point cloud includes: Determine a first target point cloud set falling within a target angle interval; The point cloud data in the current frame environment point cloud that falls within the target angle interval is determined as a second point cloud set corresponding to the target first point cloud set.
4. The method according to claim 2, characterized in that Determine the current frame environment point cloud change parameters based on the similarities between all first point cloud sets and corresponding second point cloud sets, including: Determine a first target point with the largest distance in each first point cloud set, and use the distance value of the first target point as a first description parameter of the first point cloud set; Determine a second target point with the largest distance in each second point cloud set, and use the distance value of the second target point as a second description parameter of the second point cloud set; The current frame environment point cloud change parameter is determined according to the similarity between the first description parameters of all first point cloud sets and the second description parameters of the corresponding second point cloud sets.
5. The method according to any one of claims 2 to 4, characterized in that: If any of the current pose error parameter and the current frame environment point cloud change parameter meets the preset conditions, the SLAM backend global optimization is triggered, including: If the current frame environment point cloud change parameter is less than the similarity threshold, it is determined that the current frame environment point cloud change parameter meets the preset condition, triggering the SLAM backend global optimization.
6. The method according to claim 1, characterized in that in, The reference posture information is determined according to a linear velocity threshold and an angular velocity threshold, wherein the linear velocity threshold and the angular velocity threshold are determined according to statistical results of historical target posture information or inherent properties of target driving; Accordingly, determining the current posture error parameter according to the target posture information and the reference posture information includes: Determine the current target linear velocity and the current target angular velocity according to the target posture information; A current linear velocity error parameter is determined based on the difference between the linear velocity threshold and the current target linear velocity, and a current angular velocity error parameter is determined based on the difference between the angular velocity threshold and the current target angular velocity, and the current linear velocity error parameter and the current angular velocity error parameter are used as the current posture error parameter.
7. The method according to claim 6, characterized in that If any of the current pose error parameter and the current frame environment point cloud change parameter meets the preset conditions, the SLAM backend global optimization is triggered, including: If the current linear velocity error parameter is less than 0 and the current angular velocity error parameter is less than 0, it is determined that the current posture error parameter meets the preset condition, and the SLAM backend global optimization is triggered.
8. A SLAM back-end global optimization triggering device, characterized in that: The device includes: The front-end information acquisition module is used to obtain the target pose information and environment point cloud information determined by the SLAM front-end; A posture error determination module is used to determine a current posture error parameter based on the target posture information and the reference posture information; An environment change determination module, configured to determine a change parameter of the current frame environment point cloud based on the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information; The global optimization trigger judgment module is used to monitor the current posture error parameters and the current frame environment point cloud change parameters, and trigger the SLAM backend global optimization if any of the current posture error parameters and the current frame environment point cloud change parameters meet the preset conditions.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the SLAM back-end global optimization triggering method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the SLAM back-end global optimization triggering method according to any one of claims 1 to 7 when executed.
Citation Information
Patent Citations
Semantic-based loopback detection method and device, electronic equipment and storage medium
CN114332221A
Laser radar SLAM (Simultaneous Localization and Mapping) method based on loopback detection in large-range scene
CN115343722A