Map updating method and device, equipment and storage medium
By acquiring and fusing the data of the autonomous driving vehicle at multiple sampling moments, generating laser odometer results and fusing them, the problem of low map update efficiency in the prior art is solved, and more efficient and timely map updates and positioning is achieved.
Patent Information
- Application Number
- CN202510121608.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-24
- Publication Date
- 2025-05-16
AI Technical Summary
In autonomous driving vehicles, the map update efficiency of the prior art is inefficient, and all point cloud data in the target area is required to be obtained before the update is made.
By obtaining point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments, a laser odometer result is generated, and it is fused with the sensor data to obtain the fusion positioning result, and then the current map is updated.
It improves the efficiency of map updates, can apply the update processing results in real time to position the vehicle, and enhances the accuracy and timeliness of positioning.
Smart Images

Figure CN120010889A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving, and in particular to a map updating method, device, equipment and storage medium. Background Art
[0002] During the process of autonomous driving, the vehicle relies on maps for positioning. If the objects in the environment change, it will affect the positioning results, so the current map needs to be updated in time to ensure the positioning effect.
[0003] In the related art, when the environment changes, it is necessary to first obtain all the point cloud data of the target area, build a new map, and use the new map to replace the map used for positioning to obtain an updated map. However, the above map update method requires all the point cloud data of the target area before updating the map, and the efficiency of map update is low. Summary of the invention
[0004] The embodiments of the present application provide a map updating method, apparatus, device and storage medium for solving the problem of low map updating efficiency during vehicle autonomous driving.
[0005] In a first aspect, an embodiment of the present application provides a map updating method, comprising:
[0006] Acquire point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments, the vehicle data including acceleration and angular velocity, and the sensor data including at least one of an environment image, a vehicle position and odometer data;
[0007] Generate the laser odometer result of the vehicle based on the point cloud data and vehicle data at multiple sampling times. The laser odometer result includes the initial position and alignment point cloud data of the vehicle at each sampling time. The coordinate system of the alignment point cloud data at different sampling times is the same.
[0008] The laser odometer results and sensor data are fused to obtain the fused positioning result of the vehicle, which includes the fused posture and fused point cloud data of the vehicle at each sampling time;
[0009] The current map is updated according to the fused positioning results to obtain the target map.
[0010] In a possible implementation, the current map is updated according to the fusion positioning result to obtain the target map, including:
[0011] Perform error elimination processing on the fusion positioning result to obtain the target fusion positioning result, which includes the optimized posture and optimized point cloud data of the vehicle at each sampling time;
[0012] According to the target fusion positioning result, the current map is updated to obtain the target map.
[0013] In a possible implementation, error elimination processing is performed on the fusion positioning result to obtain the target fusion positioning result, including:
[0014] Comparing and processing the fused point cloud data at multiple sampling moments to determine M sampling moment pairs from the multiple sampling moments, wherein the sampling moment pairs include two sampling moments, and the similarity of the fused point cloud data at the two sampling moments is greater than or equal to a first preset threshold, where M is an integer;
[0015] Determine the loop constraint condition corresponding to each sampling time pair, and obtain M loop constraint conditions, where the loop constraint condition is used to indicate that the initial postures of the two sampling time moments in the sampling time pair are the same;
[0016] According to the M loop constraints and the preset optimization algorithm, the fusion positioning result is processed for error elimination to obtain the target fusion positioning result, which satisfies the M loop constraints.
[0017] In a possible implementation, the current map is updated according to the target fusion positioning result to obtain the target map, including:
[0018] Correct the target fusion positioning result according to the current map to obtain a corrected positioning result, which includes the corrected posture and corrected point cloud data corresponding to each sampling time;
[0019] The corrected positioning results are stitched onto the current map to obtain the target map.
[0020] In a possible implementation, the target fusion positioning result is corrected according to the current map to obtain a corrected positioning result, including:
[0021] In the current map, determine the reference point cloud data corresponding to each optimized point cloud data in the target fusion positioning result;
[0022] For the optimized point cloud data at any sampling time in the target fusion positioning result, the optimized point cloud data is corrected according to the reference point cloud data corresponding to the optimized point cloud data to obtain the corrected point cloud data at the sampling time, and the correction is performed according to the optimized posture corresponding to the corrected point cloud data to obtain the corresponding corrected posture;
[0023] The correction positioning result is determined to include the correction point cloud data and correction posture at each sampling time.
[0024] In a possible implementation, the corrected positioning result is spliced to the current map to obtain the target map, including:
[0025] Divide the current map into multiple map areas;
[0026] Determine a data set corresponding to each map area from among the multiple correction positioning results, wherein the data set includes multiple correction point cloud data and correction poses corresponding to each correction point cloud data;
[0027] For any map area, the map area is updated according to the data set corresponding to the map area to obtain an updated map area;
[0028] The updated map areas corresponding to each map area are spliced to obtain the target map.
[0029] In a possible implementation, it is characterized in that updating the map area according to the data set corresponding to the map area to obtain the updated map area includes:
[0030] Determining a first amount of corrected point cloud data in a point cloud data set corresponding to the map area;
[0031] If the first number is greater than or equal to a second preset threshold, deleting the current point cloud data in the map area, and adding the corrected point cloud data in the data set to the map area according to the corrected posture in the data set, to obtain an updated map area;
[0032] If the first number is less than a second preset threshold, the corrected point cloud data in the data set is added to the map area according to the corrected posture in the data set to obtain an updated map area.
[0033] In a possible implementation, a laser odometer result of a vehicle is generated based on point cloud data and vehicle data at multiple sampling moments, including:
[0034] Determine the initial position of the vehicle at each sampling time according to the vehicle data at multiple sampling times;
[0035] Performing coordinate system alignment processing on the point cloud data at multiple sampling moments to obtain aligned point cloud data at each sampling moment;
[0036] Determine the laser odometry results including the initial pose and aligned point cloud data at each sampling moment.
[0037] In a second aspect, an embodiment of the present application provides a map updating device, including:
[0038] An acquisition module, used to acquire point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments, wherein the vehicle data includes acceleration and angular velocity, and the sensor data includes at least one of an environment image, a vehicle position and odometer data;
[0039] A generation module is used to generate a laser odometer result of the vehicle based on the point cloud data and vehicle data at multiple sampling moments. The laser odometer result includes the initial position and alignment point cloud data of the vehicle at each sampling moment. The coordinate system of the alignment point cloud data at different sampling moments is the same.
[0040] The first processing module is used to fuse the laser odometer result and the sensor data to obtain a fused positioning result of the vehicle, which includes a fused posture and fused point cloud data of the vehicle at each sampling moment;
[0041] The second processing module is used to update the current map according to the fusion positioning result to obtain the target map.
[0042] In a possible implementation manner, the second processing module is specifically configured to:
[0043] Perform error elimination processing on the fusion positioning result to obtain the target fusion positioning result, which includes the optimized posture and optimized point cloud data of the vehicle at each sampling time;
[0044] According to the target fusion positioning result, the current map is updated to obtain the target map.
[0045] In a possible implementation manner, the first processing module is specifically configured to:
[0046] Comparing and processing the fused point cloud data at multiple sampling moments to determine M sampling moment pairs from the multiple sampling moments, wherein the sampling moment pairs include two sampling moments, and the similarity of the fused point cloud data at the two sampling moments is greater than or equal to a first preset threshold, where M is an integer;
[0047] Determine the loop constraint condition corresponding to each sampling time pair, and obtain M loop constraint conditions, where the loop constraint condition is used to indicate that the initial postures of the two sampling time moments in the sampling time pair are the same;
[0048] According to the M loop constraints and the preset optimization algorithm, the fusion positioning result is processed for error elimination to obtain the target fusion positioning result, which satisfies the M loop constraints.
[0049] In a possible implementation manner, the second processing module is specifically configured to:
[0050] Correct the target fusion positioning result according to the current map to obtain a corrected positioning result, which includes the corrected posture and corrected point cloud data corresponding to each sampling time;
[0051] The corrected positioning results are stitched onto the current map to obtain the target map.
[0052] In a possible implementation manner, the second processing module is specifically configured to:
[0053] In the current map, determine the reference point cloud data corresponding to each optimized point cloud data in the target fusion positioning result;
[0054] For the optimized point cloud data at any sampling time in the target fusion positioning result, the optimized point cloud data is corrected according to the reference point cloud data corresponding to the optimized point cloud data to obtain the corrected point cloud data at the sampling time, and the correction is performed according to the optimized posture corresponding to the corrected point cloud data to obtain the corresponding corrected posture;
[0055] The correction positioning result is determined to include the correction point cloud data and correction posture at each sampling time.
[0056] In a possible implementation manner, the second processing module is specifically configured to:
[0057] Divide the current map into multiple map areas;
[0058] Determine a data set corresponding to each map area from among the multiple correction positioning results, wherein the data set includes multiple correction point cloud data and correction poses corresponding to each correction point cloud data;
[0059] For any map area, the map area is updated according to the data set corresponding to the map area to obtain an updated map area;
[0060] The updated map areas corresponding to each map area are spliced to obtain the target map.
[0061] In a possible implementation manner, the second processing module is specifically configured to:
[0062] Determining a first amount of corrected point cloud data in a point cloud data set corresponding to the map area;
[0063] If the first number is greater than or equal to a second preset threshold, deleting the current point cloud data in the map area, and adding the corrected point cloud data in the data set to the map area according to the corrected posture in the data set, to obtain an updated map area;
[0064] If the first number is less than a second preset threshold, the corrected point cloud data in the data set is added to the map area according to the corrected posture in the data set to obtain an updated map area.
[0065] In a possible implementation, the generation module is specifically used for:
[0066] Determine the initial position of the vehicle at each sampling time according to the vehicle data at multiple sampling times;
[0067] Performing coordinate system alignment processing on the point cloud data at multiple sampling moments to obtain aligned point cloud data at each sampling moment;
[0068] Determine the laser odometry results including the initial pose and aligned point cloud data at each sampling moment.
[0069] In a third aspect, an embodiment of the present application provides a map updating device, including: a memory, a processor;
[0070] Memory stores computer-executable instructions;
[0071] The processor executes the computer-executable instructions stored in the memory, so that the processor performs the map updating method as described in any one of the first aspects.
[0072] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores computer execution instructions, and when the computer execution instructions are executed by a processor, they are used to implement a map updating method as described in any one of the first aspects.
[0073] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a controller, implements the map updating method of any one of the first aspects.
[0074] The map updating method, device, equipment and storage medium provided in the embodiment of the present application, the server obtains the point cloud data, vehicle data and sensor data of the vehicle at multiple sampling times; generates the laser odometer result of the vehicle based on the point cloud data and vehicle data at multiple sampling times, fuses the laser odometer result and the sensor data to obtain the fused positioning result of the vehicle; updates the current map based on the fused positioning result to obtain the target map. The scheme of the present application improves the efficiency of map updating by obtaining multiple data collected by the vehicle during driving, and updates the current map based on the multiple data, and applies the update processing results to the positioning of the vehicle in real time. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0076] Figure 1 A schematic diagram of an application scenario provided for an embodiment of the present application;
[0077] Figure 2 A flowchart of a map updating method provided in an embodiment of the present application;
[0078] Figure 3 A schematic diagram of a process for updating a current map provided in an embodiment of the present application;
[0079] Figure 4 An architectural diagram of a map updating method provided in an embodiment of the present application;
[0080] Figure 5 A schematic diagram of the structure of a map updating device provided in an embodiment of the present application;
[0081] Figure 6 A schematic diagram of the structure of a map updating device provided in an embodiment of the present application.
[0082] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0083] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0084] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0085] Figure 1 The following is a schematic diagram of an application scenario provided by an embodiment of the present application, such as Figure 1 As shown, a vehicle 11 , environmental objects 12 and a server 13 are included.
[0086] The vehicle 11 may be an autonomous driving vehicle, and a variety of sensors may be provided in the vehicle 11, such as a laser radar, an inertial measurement unit (IMU), a global navigation satellite system (GNSS), a wheel odometer, a visual sensor, etc. The vehicle 11 may perform autonomous driving according to the current map. During the process of the vehicle 11 performing autonomous driving, the vehicle 11 may collect data of surrounding environmental objects 12 and driving data of the vehicle 12 through multiple sensors, and the vehicle 11 sends the collected data to the server 13. The server 13 receives the data sent by the vehicle 12, and updates the current map according to the received data to obtain a target map.
[0087] During the autonomous driving process, the vehicle relies on maps for positioning. If the objects in the environment change, it will affect the positioning results, so the current map needs to be updated in time to ensure the positioning effect. In the related technology, when updating the map, it is necessary to first obtain all the point cloud data of the target area, build a new map, and use the new map to replace the map used for positioning to obtain an updated map. However, the above-mentioned map update method needs to obtain all the point cloud data of the target area before updating the map, and the vehicle can only be positioned after the map update is completed, resulting in low efficiency of map update.
[0088] In an embodiment of the present application, various data collected by the vehicle during the driving process (for example, point cloud data, vehicle data, sensor data, etc.) can be obtained, and the current map can be updated based on the various data, and the update processing results can be applied to the vehicle positioning in real time, thereby improving the efficiency of map updating.
[0089] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0090] Figure 2 A flowchart of a map updating method provided in an embodiment of the present application is shown in FIG. Figure 2 As shown, the method includes:
[0091] S21, obtaining point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments.
[0092] The execution subject of the embodiment of the present application may be a server, or a map updating device arranged in the server. The map updating device may be implemented by software, or by a combination of software and hardware.
[0093] Multiple sensors can be installed in the vehicle, such as lidar, IMU, GNSS, visual sensor, wheel odometer, etc. Multiple sensors can collect point cloud data, vehicle data and sensor data in real time. The vehicle sends the collected data to the server so that the server can obtain the point cloud data, vehicle data and sensor data of the vehicle at multiple sampling times.
[0094] The vehicle data includes acceleration and angular velocity, and the sensor data includes at least one of an environmental image, a vehicle position, and odometer data.
[0095] The sampling time is the time when the vehicle collects point cloud data, vehicle data and sensor data. The multiple sampling times can be preset, and the time difference between each two adjacent sampling times can be a preset value, for example, the time difference between each two adjacent sampling times can be 1 second.
[0096] Point cloud data can be collected using LiDAR.
[0097] An IMU can be used to collect vehicle data, which includes acceleration and angular velocity.
[0098] Other sensors in the vehicle may be used to collect sensor data, for example, a visual sensor may be used to collect an environmental image, a GNSS may be used to collect a vehicle position, a wheel odometer may be used to collect odometer data, and so on. The visual sensor may be a camera, etc. The visual sensor may be used to capture lane lines in the environment to obtain an environmental image. The wheel odometer may obtain the wheel speed of the vehicle and integrate the wheel speed to obtain odometer data.
[0099] S22, generating a laser odometer result of the vehicle based on the point cloud data and vehicle data at multiple sampling moments.
[0100] Among them, the laser odometer results include the initial posture and aligned point cloud data of the vehicle at each sampling time, and the coordinate system of the aligned point cloud data at different sampling times is the same.
[0101] The laser odometer result of the vehicle can be generated in the following way: determine the initial posture of the vehicle at each sampling moment based on the vehicle data at multiple sampling moments; perform coordinate system alignment processing on the point cloud data at multiple sampling moments to obtain the aligned point cloud data at each sampling moment; determine that the laser odometer result includes the initial posture and aligned point cloud data at each sampling moment.
[0102] The process of determining the initial position and posture of the vehicle at each sampling time is the same. For any sampling time, the initial position and posture of the vehicle at the sampling time can be determined in the following way: determine the position and posture of the vehicle at the previous sampling time, and the vehicle data (acceleration and angular velocity) of the vehicle at the sampling time, and determine the initial position and posture of the vehicle at the sampling time. The initial position and posture is the position and posture of the vehicle in the laser radar coordinate system, and the initial position and posture may include the phase position and angle of the vehicle at the sampling time.
[0103] The coordinate system where the point cloud data at each sampling moment is located is: a coordinate system with the vehicle position as the coordinate origin. Since the vehicle position at each sampling moment is different, the coordinate systems where the point cloud data at different sampling moments are located are different.
[0104] In order to facilitate the processing of point cloud data, the point cloud data at each sampling moment can be aligned to obtain the aligned point cloud data at each sampling moment. The coordinate system alignment process refers to converting the coordinate system of the point cloud data at each sampling moment into the same coordinate system so that the coordinate system of the aligned point cloud data at each sampling moment is the same. For example, the coordinate system alignment process can be performed using the Iterative Closest Point (ICP) algorithm or the Normal Distributions Transform (NDT) algorithm.
[0105] S23, fusing the laser odometer result and the sensor data to obtain a fused positioning result of the vehicle.
[0106] Among them, the fused positioning results include the fused posture and fused point cloud data of the vehicle at each sampling moment.
[0107] The laser odometry results and sensor data can be fused in the following ways: the laser odometry results and sensor data can be transformed into the same coordinate system, fusion weights can be set for the laser odometry results and sensor data in the same coordinate system, and according to the fusion weights, the laser odometry results and sensor data in the same coordinate system can be fused through a fusion positioning algorithm to obtain a fused positioning result.
[0108] The fused positioning result can be obtained in the following way: the laser odometer result, sensor data, and fusion weight in the same coordinate system are used as the input of the fused positioning algorithm, and the fused positioning algorithm is started to optimize the vehicle's posture and point cloud data at each sampling time until the number of optimizations reaches the preset number, or the optimized posture and point cloud data no longer change, the iterative process is stopped, and the vehicle posture and point cloud data obtained in the last iteration are used as the fused positioning result.
[0109] The fusion positioning algorithm can be a Kalman filter algorithm, a graph optimization algorithm, etc.
[0110] Different weights can be assigned to the laser odometer results and sensor data according to the characteristics and accuracy of each sensor. In this way, the advantages of each sensor can be maximized and the accuracy of the fused positioning results can be improved.
[0111] S24, updating the current map according to the fused positioning result to obtain the target map.
[0112] The current map can be updated in the following ways: perform error elimination on the fused positioning result to obtain the target fused positioning result, perform correction on the target fused positioning result according to the current map to obtain the corrected positioning result, and splice the corrected positioning result to the current map to obtain the target map. The target fused positioning result includes the optimized posture and optimized point cloud data of the vehicle at each sampling time. The corrected positioning result includes the corrected posture and corrected point cloud data corresponding to each sampling time.
[0113] In order to improve the accuracy of the fused positioning result, a preset optimization algorithm can be used to eliminate errors in the fused positioning result. The preset optimization algorithm can be, for example, a graph optimization algorithm, a filtering method, a nonlinear optimization, etc.
[0114] The fusion positioning result can be processed to eliminate errors in the following ways: select a preset optimization algorithm, set the corresponding optimization threshold for the selected preset optimization algorithm, and perform loop detection on the fusion point cloud data at each sampling moment to obtain loop constraints. According to the optimization threshold and loop constraints, start the iteration process of the preset optimization algorithm until the optimization error is less than or equal to the optimization threshold, and when the optimization error satisfies the loop constraint, stop the iteration process and use the currently obtained vehicle posture and point cloud data as the target fusion positioning result.
[0115] The target fusion positioning result can be corrected in the following way: for the optimized point cloud data at any sampling time, determine the reference point cloud data corresponding to the optimized point cloud data of the target fusion positioning result in the current map, use the point cloud matching algorithm to eliminate the difference between the optimized point cloud data and the reference point cloud data, and obtain the corrected point cloud data. According to the optimized posture corresponding to the corrected point cloud data, perform corresponding correction processing on the optimized posture to obtain the corresponding corrected posture. Among them, the point cloud matching algorithm can be, for example, the ICP algorithm, the NDT algorithm, etc.
[0116] In the map updating method provided in the embodiment of the present application, the server obtains the point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments; generates the laser odometer result of the vehicle based on the point cloud data and vehicle data at multiple sampling moments, fuses the laser odometer result and the sensor data to obtain the fused positioning result of the vehicle; updates the current map based on the fused positioning result to obtain the target map. The solution of the present application improves the efficiency of map updating by obtaining multiple data collected by the vehicle during driving, and updating the current map based on the multiple data, and applying the update processing results to the positioning of the vehicle in real time.
[0117] Based on any of the above embodiments, the scheme of the embodiments of the present application is further introduced below in conjunction with the accompanying drawings.
[0118] Figure 3 A schematic diagram of a process for updating the current map provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, including:
[0119] S31, performing comparison processing on the fused point cloud data at multiple sampling moments to determine M sampling moment pairs from the multiple sampling moments.
[0120] The sampling time pair includes two sampling times, the similarity of the fused point cloud data at the two sampling times is greater than or equal to a first preset threshold, and M is an integer.
[0121] During the driving process of the vehicle, the vehicle may pass the same position. If the vehicle passes the same position with the same posture at two moments, the two moments are a sampling time pair. For example, assuming that the vehicle passes position 1 with the same posture at moment 1 and moment 2, the similarity of the point cloud data collected by the vehicle at moment 1 and moment 2 is greater than or equal to the first preset threshold, then moment 1 and moment 2 are a sampling time pair.
[0122] The process of comparing and processing the fused point cloud data at each sampling moment is the same. For the fused point cloud data at any sampling moment, the fused point cloud data at the sampling moment can be compared and processed in the following manner: for the fused point cloud data at the sampling moment, the similarity between the fused point cloud data at the sampling moment and the fused point cloud data at other sampling moments is calculated respectively, and it is determined whether each similarity is greater than or equal to a first preset threshold, and the two sampling moments corresponding to the similarity greater than or equal to the preset threshold are determined as a sampling moment pair.
[0123] S32, determining the loop constraint condition corresponding to each sampling time, and obtaining M loop constraint conditions.
[0124] The loop constraint is used to indicate that the initial poses of the two sampling moments in a sampling moment pair are the same.
[0125] For any sampling time pair, the loop constraint condition corresponding to the sampling time pair is: the similarity of the point cloud data of the two sampling times in the sampling time pair is greater than or equal to a preset threshold, so that the initial postures of the two sampling times are the same.
[0126] S33, performing error elimination processing on the fused positioning result according to the M loop constraint conditions and the preset optimization algorithm to obtain the target fused positioning result.
[0127] Among them, the target fusion positioning result satisfies M loop constraints.
[0128] The error elimination process of the fusion positioning result can be performed in the following manner: select a preset optimization algorithm, set a corresponding optimization threshold for the selected preset optimization algorithm, start the iterative process of the preset optimization algorithm according to the optimization threshold and M loop constraints, until the optimization error is less than or equal to the optimization threshold, and when the M loop constraints are satisfied, stop the iterative process, and use the vehicle posture and point cloud data obtained in the last iteration as the target fusion positioning result. Among them, the preset optimization algorithm can be, for example, a graph optimization algorithm, a filtering method, a nonlinear optimization, etc.
[0129] If there is a current map (ie, an existing map), S34-S37 may be executed. If there is no current map, a target map may be generated according to the target fusion positioning result.
[0130] S34, in the current map, determining the reference point cloud data corresponding to each optimized point cloud data in the target fusion positioning result.
[0131] The method for determining the reference point cloud data corresponding to each optimized point cloud data in the target fusion positioning result is the same. For the optimized point cloud data corresponding to any sampling moment, the reference point cloud data corresponding to the optimized point cloud data can be determined by the following method: convert the target fusion positioning result to the coordinate system corresponding to the current map, obtain the position and posture of the vehicle in the current map coordinate system, and determine the corresponding point cloud data in the current map under the position and posture as the reference point cloud data of the optimized point cloud data.
[0132] S35, for the optimized point cloud data at any sampling time in the target fusion positioning result, the optimized point cloud data is corrected according to the reference point cloud data corresponding to the optimized point cloud data to obtain the corrected point cloud data at the sampling time, and the correction is performed according to the optimized posture corresponding to the corrected point cloud data to obtain the corresponding corrected posture.
[0133] The optimized point cloud data can be corrected in the following manner: a point cloud matching algorithm is selected, and the optimized point cloud data and the reference point cloud data are aligned through an iterative process corresponding to the selected point cloud matching algorithm to eliminate the difference between the optimized point cloud data and the reference point cloud data to obtain corrected point cloud data. The point cloud matching algorithm may be, for example, an ICP algorithm, an NDT algorithm, etc.
[0134] According to the optimized pose corresponding to the corrected point cloud data, the optimized pose is corrected, and the optimized pose is updated to the pose corresponding to the corrected point cloud data to obtain the corrected pose.
[0135] S36, determining the correction positioning result includes the correction point cloud data and correction posture at each sampling time.
[0136] The optimized point cloud data and optimized posture at each sampling moment are respectively processed by the correction processing method described in S35 to obtain a corrected positioning result, which includes the corrected point cloud data and corrected posture at each sampling moment.
[0137] S37, stitching the corrected positioning result to the current map to obtain the target map.
[0138] The corrected positioning results can be spliced to the current map to obtain a target map in the following manner: divide the current map into multiple map areas; determine a data set corresponding to each map area from multiple corrected positioning results, the data set including multiple corrected point cloud data and a corrected posture corresponding to each corrected point cloud data; for any map area, update the map area according to the data set corresponding to the map area to obtain an updated map area; splice the updated map areas corresponding to each map area to obtain a target map.
[0139] In order to ensure the timeliness of map updates, the current map may be divided into multiple map areas according to the size of the current map or environmental features, and each map area may be updated separately.
[0140] The following method can be used to update each map area: for any map area, determine the data set corresponding to the map area from multiple correction positioning results, the data set includes multiple correction point cloud data and the correction posture corresponding to each correction point cloud data, determine the first number of correction point cloud data in the data set, and determine the update method of the map area based on the first number of correction point cloud data and a second preset threshold.
[0141] The updating method of the map area includes: if the first number is greater than or equal to the second preset threshold, deleting the current point cloud data in the map area, and adding the corrected point cloud data in the data set to the map area according to the corrected posture in the data set to obtain an updated map area; if the first number is less than the second preset threshold, adding the corrected point cloud data in the data set to the map area according to the corrected posture in the data set to obtain an updated map area.
[0142] When the first amount of the corrected point cloud data is greater than or equal to the second preset threshold, it means that the amount of the corrected point cloud data is sufficient, and the corrected point cloud data can be used to replace the existing point cloud data in the map area. At this time, the current point cloud data in the map area is deleted, and according to the corrected posture in the data set, the corrected point cloud data in the data set is added to the map area to obtain an updated map area.
[0143] When the first amount of the corrected point cloud data is less than the second preset threshold, it means that the amount of the corrected point cloud data is insufficient to completely replace the current point cloud data in the map area. At this time, according to the corrected posture in the data set, the corrected point cloud data in the data set is added to the map area to obtain an updated map area.
[0144] After updating each map area, the updated map areas corresponding to each map area are spliced to obtain a target map.
[0145] The map updating method provided in the embodiment of the present application obtains M loop constraints by comparing the fused point cloud data at multiple sampling moments; performs error elimination processing on the fused positioning result according to the M loop constraints and the preset optimization algorithm to obtain the target fused positioning result; performs correction processing on the target fused positioning result according to the current map to obtain a corrected positioning result, the corrected positioning result includes the corrected point cloud data and corrected posture at each sampling moment, and splices the corrected positioning result to the current map to obtain the target map. The scheme of the present application improves the efficiency of map updating by processing the fused positioning result multiple times, updating the current map based on the processing results, and applying the updated processing results to the positioning of the vehicle in real time.
[0146] Figure 4 The architecture diagram of the map updating method provided in the embodiment of the present application is as follows: Figure 4As shown, the map updating method provided in the embodiment of the present application includes: generating a laser odometer result of the vehicle based on point cloud data and vehicle data at multiple sampling times; fusing the laser odometer result and sensor data to obtain a fused positioning result; performing error elimination processing on the fused positioning result to obtain a target fused positioning result; correcting the target fused positioning result according to the current map to obtain a corrected positioning result; and splicing the corrected positioning result to the current map to obtain a target map.
[0147] In summary, in the map updating method provided by the embodiment of the present application, the server obtains the point cloud data, vehicle data and sensor data of the vehicle at multiple sampling times; generates the laser odometer result of the vehicle based on the point cloud data and vehicle data at multiple sampling times, fuses the laser odometer result and the sensor data to obtain the fused positioning result of the vehicle; updates the current map based on the fused positioning result to obtain the target map. The solution of the present application improves the efficiency of map updating by obtaining multiple data collected by the vehicle during driving, and updates the current map based on the multiple data, and applies the update processing results to the positioning of the vehicle in real time.
[0148] Figure 5 A schematic diagram of the structure of the map updating device provided in this application, such as Figure 5 As shown, the map updating device 50 includes:
[0149] An acquisition module 51 is used to acquire point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments, wherein the vehicle data includes acceleration and angular velocity, and the sensor data includes at least one of an environment image, a vehicle position and odometer data;
[0150] A generating module 52 is used to generate a laser odometer result of the vehicle according to the point cloud data and vehicle data at multiple sampling moments, wherein the laser odometer result includes an initial position and alignment point cloud data of the vehicle at each sampling moment, and the coordinate system of the alignment point cloud data at different sampling moments is the same;
[0151] The first processing module 53 is used to fuse the laser odometer result and the sensor data to obtain a fused positioning result of the vehicle, where the fused positioning result includes a fused posture and fused point cloud data of the vehicle at each sampling time;
[0152] The second processing module 54 is used to update the current map according to the fusion positioning result to obtain the target map.
[0153] In a possible implementation, the second processing module 54 is specifically configured to:
[0154] Perform error elimination processing on the fusion positioning result to obtain the target fusion positioning result, which includes the optimized posture and optimized point cloud data of the vehicle at each sampling time;
[0155] According to the target fusion positioning result, the current map is updated to obtain the target map.
[0156] In a possible implementation, the first processing module 53 is specifically configured to:
[0157] Comparing and processing the fused point cloud data at multiple sampling moments to determine M sampling moment pairs from the multiple sampling moments, wherein the sampling moment pairs include two sampling moments, and the similarity of the fused point cloud data at the two sampling moments is greater than or equal to a first preset threshold, where M is an integer;
[0158] Determine the loop constraint condition corresponding to each sampling time pair, and obtain M loop constraint conditions, where the loop constraint condition is used to indicate that the initial postures of the two sampling time moments in the sampling time pair are the same;
[0159] According to the M loop constraints and the preset optimization algorithm, the fusion positioning result is processed for error elimination to obtain the target fusion positioning result, which satisfies the M loop constraints.
[0160] In a possible implementation, the second processing module 54 is specifically configured to:
[0161] Correct the target fusion positioning result according to the current map to obtain a corrected positioning result, which includes the corrected posture and corrected point cloud data corresponding to each sampling time;
[0162] The corrected positioning results are stitched onto the current map to obtain the target map.
[0163] In a possible implementation, the second processing module 54 is specifically configured to:
[0164] In the current map, determine the reference point cloud data corresponding to each optimized point cloud data in the target fusion positioning result;
[0165] For the optimized point cloud data at any sampling time in the target fusion positioning result, the optimized point cloud data is corrected according to the reference point cloud data corresponding to the optimized point cloud data to obtain the corrected point cloud data at the sampling time, and the correction is performed according to the optimized posture corresponding to the corrected point cloud data to obtain the corresponding corrected posture;
[0166] The correction positioning result is determined to include the correction point cloud data and correction posture at each sampling time.
[0167] In a possible implementation, the second processing module 54 is specifically configured to:
[0168] Divide the current map into multiple map areas;
[0169] Determine a data set corresponding to each map area from among the multiple correction positioning results, wherein the data set includes multiple correction point cloud data and correction poses corresponding to each correction point cloud data;
[0170] For any map area, the map area is updated according to the data set corresponding to the map area to obtain an updated map area;
[0171] The updated map areas corresponding to each map area are spliced to obtain the target map.
[0172] In a possible implementation, the second processing module 54 is specifically configured to:
[0173] Determining a first amount of corrected point cloud data in a point cloud data set corresponding to the map area;
[0174] If the first number is greater than or equal to a second preset threshold, deleting the current point cloud data in the map area, and adding the corrected point cloud data in the data set to the map area according to the corrected posture in the data set, to obtain an updated map area;
[0175] If the first number is less than a second preset threshold, the corrected point cloud data in the data set is added to the map area according to the corrected posture in the data set to obtain an updated map area.
[0176] In a possible implementation, the generating module 52 is specifically configured to:
[0177] Determine the initial position of the vehicle at each sampling time according to the vehicle data at multiple sampling times;
[0178] Performing coordinate system alignment processing on the point cloud data at multiple sampling moments to obtain aligned point cloud data at each sampling moment;
[0179] Determine the laser odometry results including the initial pose and aligned point cloud data at each sampling moment.
[0180] Figure 6 This is a schematic diagram of the structure of the map updating device provided in the embodiment of the present application. Figure 6 As shown, the map updating device 60 includes: at least one memory 61 and a processor 62. Among them:
[0181] Memory 61, used for storing computer-executable instructions;
[0182] The processor 62 is used to execute the computer execution instructions of the memory. Exemplarily, the memory 61 and the processor 62 are connected to each other via a bus 63.
[0183] The specific implementation process of the processor 62 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0184] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the invention may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0185] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.
[0186] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.
[0187] An embodiment of the present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0188] An embodiment of the present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0189] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0190] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be an integral part of the processor. The processor and the readable storage medium can be located in an ASIC. Of course, the processor and the readable storage medium can also exist in a device as discrete components.
[0191] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0192] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0193] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0194] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, ROM, RAM, disk or optical disk, etc., various media that can store program codes.
[0195] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0196] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A map updating method, characterized in that: include: Acquire point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments, wherein the vehicle data includes acceleration and angular velocity, and the sensor data includes at least one of an environment image, a vehicle position and odometer data; Generate a laser odometer result of the vehicle according to the point cloud data and vehicle data at the multiple sampling moments, wherein the laser odometer result includes an initial position and alignment point cloud data of the vehicle at each sampling moment, and the coordinate system of the alignment point cloud data at different sampling moments is the same; The laser odometer result and the sensor data are fused to obtain a fused positioning result of the vehicle, wherein the fused positioning result includes a fused posture and fused point cloud data of the vehicle at each sampling time; The current map is updated according to the fused positioning result to obtain a target map.
2. The method according to claim 1, characterized in that The current map is updated according to the fusion positioning result to obtain a target map, including: Performing error elimination processing on the fused positioning result to obtain a target fused positioning result, wherein the target fused positioning result includes an optimized posture and optimized point cloud data of the vehicle at each sampling time; According to the target fusion positioning result, the current map is updated to obtain a target map.
3. The method according to claim 2, characterized in that Performing error elimination processing on the fusion positioning result to obtain a target fusion positioning result, including: Performing comparison processing on the fused point cloud data of the multiple sampling moments to determine M sampling moment pairs from the multiple sampling moments, wherein the sampling moment pairs include two sampling moments, and the similarity of the fused point cloud data of the two sampling moments is greater than or equal to a first preset threshold, where M is an integer; Determine a loop constraint condition corresponding to each sampling time pair to obtain M loop constraints, wherein the loop constraint condition is used to indicate that the initial postures of the two sampling time pairs are the same; According to the M loop constraints and a preset optimization algorithm, error elimination processing is performed on the fused positioning result to obtain the target fused positioning result, and the target fused positioning result satisfies the M loop constraints.
4. The method according to claim 2 or 3, characterized in that: According to the target fusion positioning result, the current map is updated to obtain a target map, including: Correcting the target fusion positioning result according to the current map to obtain a corrected positioning result, wherein the corrected positioning result includes a corrected posture and corrected point cloud data corresponding to each sampling time; The corrected positioning result is spliced to the current map to obtain the target map.
5. The method according to claim 4, characterized in that Correcting the target fusion positioning result according to the current map to obtain a corrected positioning result includes: In the current map, determining reference point cloud data corresponding to each optimized point cloud data in the target fusion positioning result; For the optimized point cloud data at any sampling time in the target fusion positioning result, the optimized point cloud data is corrected according to the reference point cloud data corresponding to the optimized point cloud data to obtain the corrected point cloud data at the sampling time, and the correction is performed according to the optimized posture corresponding to the corrected point cloud data to obtain the corresponding corrected posture; Determine that the corrected positioning result includes the corrected point cloud data and the corrected posture at each sampling moment.
6. The method according to claim 4 or 5, characterized in that: The corrected positioning result is stitched to the current map to obtain the target map, including: Dividing the current map into a plurality of map areas; Determine a data set corresponding to each map area from the plurality of corrected positioning results, wherein the data set includes a plurality of corrected point cloud data and a corrected posture corresponding to each corrected point cloud data; For any map area, update the map area according to the data set corresponding to the map area to obtain an updated map area; The updated map areas corresponding to each map area are spliced to obtain the target map.
7. The method according to claim 6, characterized in that The map area is updated according to the data set corresponding to the map area to obtain an updated map area, including: Determining a first amount of corrected point cloud data in a point cloud data set corresponding to the map area; If the first number is greater than or equal to a second preset threshold, deleting the current point cloud data in the map area, and adding the corrected point cloud data in the data set to the map area according to the corrected posture in the data set, to obtain the updated map area; If the first number is less than the second preset threshold, the corrected point cloud data in the data set is added to the map area according to the corrected posture in the data set to obtain the updated map area.
8. A map updating device, characterized in that: include: An acquisition module, used to acquire point cloud data, vehicle data and sensor data of the vehicle at multiple sampling moments, wherein the vehicle data includes acceleration and angular velocity, and the sensor data includes at least one of an environment image, a vehicle position and odometer data; A generating module, configured to generate a laser odometer result of the vehicle according to the point cloud data and the vehicle data at the plurality of sampling moments, wherein the laser odometer result includes an initial position and alignment point cloud data of the vehicle at each sampling moment, and the coordinate system of the alignment point cloud data at different sampling moments is the same; A first processing module is used to fuse the laser odometer result and the sensor data to obtain a fused positioning result of the vehicle, wherein the fused positioning result includes a fused posture and fused point cloud data of the vehicle at each sampling moment; The second processing module is used to update the current map according to the fusion positioning result to obtain the target map.
9. A map updating device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor executes the map updating 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-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the map updating method according to any one of claims 1 to 7.
Citation Information
Cited By
Train operation electronic map construction method and system based on meta-learning
CN121498660A