SLAM back-end global optimization triggering method and device, equipment and medium
By dynamically monitoring the position error and environmental change parameters in the SLAM system, the global optimization of the SLAM backend flexibly triggers, solving the real-time and stability problems caused by the fixation of the trigger mechanism in the existing technology, and achieving more efficient and accurate positioning performance.
Patent Information
- Application Number
- CN202510077702.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2045-01-17
AI Technical Summary
The trigger mechanism of back-end global optimization in the existing SLAM technology is fixed, and it cannot flexibly adapt to the operation of the SLAM system, resulting in affecting the real-time and stability of the system.
By obtaining the target pose information and environmental point cloud information determined by the SLAM front end, calculate the current pose error parameters and environmental point cloud change parameters, and dynamically monitor whether these parameters meet the preset conditions, thereby flexibly triggering global optimization of the SLAM backend.
It realizes the global optimization triggering timing of adaptive and accurate, avoids unnecessary frequent optimization calculations, reduces waste of system resources, improves computing efficiency and positioning accuracy, and enhances the adaptability of the SLAM system.
Smart Images

Figure CN120014043A_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 a predetermined fixed trigger mechanism, such as triggering optimization at fixed time intervals. The fixed trigger mechanism 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 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] 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;
[0009] The current posture error parameter and the current frame environment point cloud change parameter are monitored, and if any one of the current posture 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, used to determine the current posture error parameters according to the target posture information and the reference posture information;
[0013] An environment change determination module, used to 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;
[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, the electronic device comprising:
[0016] at least one processor; and
[0017] a memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores a computer program 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 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 backend global optimization by judging the changes in the real-time position and posture of the target and the changes in the real-time environment, and realizes adaptive and precise triggering of the optimization timing, which not only avoids unnecessary frequent optimization calculations, reduces the waste of system resources, and improves the computing efficiency, but also 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 requirements through comprehensive judgment of multi-dimensional trigger conditions, making the SLAM backend 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 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 is a flowchart of another SLAM back-end global optimization triggering method provided according to an embodiment of the present invention;
[0025] Figure 4 2 is a schematic diagram of the structure of a SLAM back-end global optimization trigger device provided according to an embodiment of the present invention;
[0026] Figure 5 It is a structural schematic diagram 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 scheme of the present invention, the technical scheme 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 described embodiments 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 creative work should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "candidate", "target", etc. in the specification 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 data 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 inherent to these processes, methods, products or devices.
[0029] Figure 1A flowchart of a SLAM backend global optimization triggering method is provided for an embodiment of the present invention. 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 automatic driving system and a robot with a robot 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. The sensors include radar sensors, IMU sensors, RTK sensors, etc. The SLAM front end processes various types of sensor data obtained at each time point to obtain the target posture information corresponding to the time point, and uses the target posture information to guide the target's automatic driving system or robot navigation system to move forward. Among them, the calculation of posture information by the SLAM front end based on various types of sensor data belongs to the 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 and the front-end odometer belong to the SLAM front end, which is responsible for collecting and processing various types of sensor data and determining the target posture information. The back-end optimization trigger module obtains various information from the front end for dynamic trigger judgment. If the trigger condition is met, the back-end optimization is performed. The back-end optimization optimizes and updates all data in the front-end odometer to improve positioning accuracy.
[0033] The environmental point cloud information is determined based on the data acquired by the radar sensor. For example, after the original point cloud data acquired by the radar sensor is acquired, the original point cloud data is preprocessed to obtain the environmental point cloud information. The preprocessing operation includes a denoising operation and the like.
[0034] S120. Determine current posture error parameters according to the target posture information and the reference posture information.
[0035] The reference posture information is used to represent the extreme posture information of the target during movement, and the reference posture information is determined according to the statistical results of historical target posture information or the inherent properties of the target. For example, the historical posture information of the target movement is statistically analyzed, and the maximum historical posture information is used as the reference posture information. The inherent properties of the target movement refer to the property information of the target that affects the extreme posture during movement, such as the road speed limit of the target movement or the speed limit property of the target itself.
[0036] The current posture error parameter is determined according to 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, the degree of closeness between the current posture information of the target and the extreme posture can be determined according to 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 target driving.
[0038] Specifically, the reference posture information is determined according to a linear velocity threshold and an angular velocity threshold, and 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.
[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 attributes. 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 size 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 determines 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 mutation degree 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, it means that the mutation degree 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, indicating that the mutation degree 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, and 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, and the methods for determining environmental features and similarities are not limited herein.
[0047] S140, monitoring the current posture error parameters and the current frame environment point cloud change parameters, and triggering 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.
[0048] The current pose error parameters and the current frame environment point cloud change parameters corresponding to each time point in the target movement process 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 and the previous frame environment characteristics have changed, which is not conducive to the matching of the front-end odometer. In addition, 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 subsequent posture information calculated by the 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 of the target calculated by the front end are globally corrected to eliminate the accumulated error.
[0052] In a feasible embodiment, 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, 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 posture 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 and posture of the target and the changes in the real-time environment, thereby realizing adaptive and precise triggering of the 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 requirements 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, obtaining target pose information and environment point cloud information determined by the SLAM front end.
[0058] S220. Determine current posture error parameters according to the target posture information and the reference posture information.
[0059] S230 , dividing 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 determine the second point cloud sets 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 environment point cloud are divided into multiple second point cloud sets, for example, the current frame environment point cloud is clustered to obtain multiple clustering results, each clustering result is a second point cloud set, and the similarity between each first point cloud set and all second point cloud sets is calculated respectively, and the second point cloud set with the highest similarity is determined from all second point cloud sets to correspond to the first point cloud set. The similarity calculation between point cloud sets can be determined by a pre-trained similarity model, which is not limited here, or the similarity is determined based on the distance between each point cloud in the point cloud set.
[0064] In a feasible embodiment, S230 includes:
[0065] Determine the scanning range of the radar sensor and divide the scanning range into a plurality of equally spaced angle 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 angle intervals according to the world coordinate system, and use the point cloud data in the previous frame environment point cloud that falls within each angle interval as a first point cloud set. Similarly, use the point cloud data in the current frame environment point cloud that falls within the same angle interval 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, the angle range θ∈[0, 2π], and the scanning range is divided into M equally spaced angle intervals, and the angle spacing of each angle interval is And 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 according to the similarity 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, and finally the similarities between all the 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 a 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] 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, the current frame environment point cloud change parameters are determined.
[0080] Determine the distance value of the coordinates of each point in each first point cloud set, 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, according to this method, determine the second description parameter of each second point cloud set. For example, the coordinates of any point in any point cloud set are (x i ,y i ), then the distance value of this point is The first description parameter of the first point cloud set corresponding to the jth 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 point cloud change parameter of the current frame environment is determined according to the similarity between the description parameters of all point cloud sets.
[0082] Exemplarily, the first description parameters of all the first point cloud sets of the previous frame of the environment point cloud are normalized, and the normalization result is r max1 is 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, monitoring the current posture error parameters and the current frame environment point cloud change parameters, and triggering SLAM backend global optimization if any of the current posture error parameters and the current frame environment point cloud change parameters meet a preset condition.
[0085] In a feasible embodiment, 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, 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 corresponding to the current frame environment point cloud change parameter is that the current frame environment point cloud change parameter is less than the similarity threshold, that is, if the similarity between the current frame environment point cloud and the previous frame environment point cloud is less than the similarity threshold, it means that the environment of the current frame where the target moves has undergone a large mutation compared with the previous frame, which is not conducive to the matching of the front-end odometer, and the features in the environment at this time are actually increased. Constructing a global optimization will make the positioning and mapping at this time more stable, improving the overall performance of the system. That is, the SLAM backend global optimization is immediately triggered when the current frame environment point cloud change parameter meets the second preset condition.
[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 indicate 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 the 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 comprises:
[0092] The front-end information acquisition module 410 is used to obtain the target pose information and the environment point cloud information determined by the SLAM front-end;
[0093] A posture error determination module 420, used to determine a current posture error parameter according to 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 according to 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 and posture of the target and the changes in the real-time environment, thereby realizing adaptive and precise triggering of the 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 requirements through comprehensive judgment of multi-dimensional trigger conditions, making the SLAM back-end optimization triggering more flexible and efficient.
[0097] Optionally, an environmental change determination module includes:
[0098] A point cloud division unit, used for dividing the environment point cloud of the previous frame to obtain a plurality of first point cloud sets;
[0099] A point cloud set corresponding unit, used to respectively determine 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;
[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 the 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 a plurality of equally spaced angle 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 corresponding unit 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 for:
[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] 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, the current frame environment point cloud change parameters are determined.
[0111] Optionally, the global optimization trigger judgment module is 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 according to a linear velocity threshold and an angular velocity threshold, and 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;
[0114] Correspondingly, the posture error determination module is specifically used for:
[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] Optionally, the global optimization trigger judgment module is 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 posture error parameter meets the preset conditions, triggering the SLAM backend global optimization.
[0119] The SLAM backend global optimization triggering device provided in the embodiment of the present invention can execute the SLAM backend global optimization triggering method provided in 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 required herein.
[0123] like Figure 5 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and 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 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0124] A number of 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 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 through a computer network such as the Internet and / or various telecommunication networks.
[0125] The processor 11 may be a variety of general and / or special 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, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The processor 11 executes the various methods and processes described above, such as the SLAM back-end global optimization triggering method.
[0126] In some embodiments, the SLAM backend 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 backend global optimization triggering method described above can be executed. Alternatively, in other embodiments, the processor 11 can be configured to execute the SLAM backend global optimization triggering method by any other appropriate means (e.g., by means of firmware).
[0127] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific reference products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including 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, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0129] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer 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 of the foregoing.
[0130] To provide interaction with a user, the systems and techniques described herein may 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 a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0131] The systems and techniques described herein may be implemented in a computing system that includes a backend component (e.g., as a data server), or a computing system that includes a switch component (e.g., an application server), or a computing system that includes a frontend component (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, switch components, or frontend components. The components of the system may 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 a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0133] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0134] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A SLAM back-end 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; 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; The current posture error parameter and the current frame environment point cloud change parameter are monitored, and if any one of the current posture 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 the current frame environment point cloud change parameters according to the current frame environment point cloud and the previous frame environment point cloud in the environment point cloud information, including: Dividing the previous frame environment point cloud to obtain multiple first point cloud sets; Respectively determine 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; According to the similarities between all the first point cloud sets and the corresponding second point cloud sets, the current frame environment point cloud change parameters are determined.
3. The method according to claim 2, characterized in that The previous frame environment point cloud is divided to obtain a plurality of first point cloud sets, including: Determining a scanning range of the radar sensor, 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; Correspondingly, respectively determining the second point cloud sets 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 to be 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 parameter according to the similarity between all first point cloud sets and the 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; 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, the current frame environment point cloud change parameters are determined.
5. The method according to any one of claims 2 to 4, characterized in that: If any of the current posture 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, and the linear velocity threshold and the angular velocity threshold are determined according to historical target posture information statistics or target driving inherent attributes; Correspondingly, 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 according to the difference between the linear velocity threshold and the current target linear velocity, and a 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.
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 condition, 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, triggering the SLAM backend global optimization.
8. A SLAM back-end global optimization trigger 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, used to determine the current posture error parameters according to the target posture information and the reference posture information; An environment change determination module, used to 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; 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
Laser SLAM closed-loop detection method and system
CN118010004A
Pose optimization method and system fusing reflectivity projection image edge features
CN118351177A
Point cloud matching method and apparatus, navigation method and device, positioning method, and laser radar
WO2022188094A1