Map creation method, device and computer equipment
By constructing a positioning data sequence and using recursive filters for serial fusion, the problem of low mapping accuracy of the R3LIVE system in complex environments was solved, and high-precision map creation was achieved.
Patent Information
- Application Number
- CN202510838911.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-23
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2045-06-23
AI Technical Summary
The existing R3LIVE system suffers from cumulative errors over long distances, in complex environments, or when sensor performance is degraded, leading to low mapping accuracy. This is especially true in urban canyon environments or tunnels, where GNSS signal obstruction reduces positioning accuracy. Difficulties in extracting visual features affect the accuracy of the visual odometry, and RTK-GNSS is limited in reliability and continuity in complex environments.
By acquiring sensor data and satellite positioning data of the target area, constructing a positioning data sequence, and using recursive filters for serial fusion, the inertial measurement data, satellite positioning data, and sensor positioning data are combined to build a map, optimize the constraint relationship between positioning pose vertices and point cloud fragment vertices, reduce errors, and improve positioning data accuracy.
The accuracy of map creation is improved. Through the tight coupling of multi-sensor data and the serial fusion of recursive filters, the cumulative error is reduced, ensuring high-precision positioning and mapping results in complex environments.
Smart Images

Figure CN120333417B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of high-precision mapping technology, and in particular to a map creation method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] With the rapid development of robotics and autonomous driving technologies, the demand for high-precision maps is becoming increasingly urgent. The existing R3LIVE system (Reconstruction, Registration, and Live Imaging for Visualization and Evaluation) is an advanced multi-sensor fusion framework that integrates data from lidar, inertial sensors, and visual sensors for state estimation and mapping. However, over long distances, in complex environments, or when sensor performance degrades, the system still suffers from problems such as cumulative errors, which limit mapping accuracy. For example, in urban canyons or tunnels, GNSS (Global Navigation Satellite System) signals are easily obscured, resulting in reduced positioning accuracy. Visual feature extraction is difficult in areas with repetitive textures or scenes with significant lighting variations, affecting the accuracy of visual odometry. These issues make it difficult for the R3LIVE system to consistently provide high-precision positioning and mapping results in practical applications. RTK-GNSS (Real-Time Kinematic - Global Navigation Satellite System) sensors are renowned for their high-precision absolute position measurement capabilities, capable of providing centimeter-level positioning accuracy in open environments. However, when used alone, its reliability and continuity are limited in complex environments, especially in complex urban environments, forests and other scenarios, where satellite signal obstruction and multipath effects frequently occur.
[0003] However, the current R3LIVE system's method of achieving high-precision map construction has the problem of low mapping accuracy. Summary of the Invention
[0004] Based on this, it is necessary to provide a map creation method, device, computer equipment, computer-readable storage medium and computer program product that can improve the accuracy of map creation in order to address the above technical problems.
[0005] In a first aspect, the present application provides a map creation method, comprising:
[0006] Obtain sensor data and satellite positioning data within the target area of the map to be created; the sensor data includes inertial measurement data;
[0007] Input the sensor data into a pre-set sensor positioning data acquisition model to obtain the sensor positioning data corresponding to the target area;
[0008] Construct a positioning data sequence based on inertial measurement data, satellite positioning data and sensor positioning data;
[0009] Inputting the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame, inputting the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame is the frame after the current frame;
[0010] Utilize the positioning data of each target and sensor data to create a map of the target area.
[0011] In conjunction with the first aspect, in one embodiment, constructing a positioning data sequence based on inertial measurement data, satellite positioning data, and sensor positioning data includes:
[0012] Get the target positioning data of the current frame of the recursive filter;
[0013] Obtaining satellite positioning observation residual data based on the target positioning data and satellite positioning data of the current frame, and obtaining sensor positioning observation residual data based on the target positioning data and sensor positioning data of the current frame;
[0014] A positioning data sequence is constructed based on inertial measurement data, satellite positioning observation residual data and sensor positioning observation residual data.
[0015] In conjunction with the first aspect, in one embodiment, obtaining satellite positioning observation residual data based on the target positioning data and satellite positioning data of the current frame includes:
[0016] respectively acquiring first satellite positioning observation data and second satellite positioning observation data according to the target positioning data of the current frame;
[0017] Performing data statistics on the satellite positioning data based on the first satellite positioning observation data to obtain satellite positioning observation noise data;
[0018] Using the first satellite positioning observation data plus the satellite positioning observation noise data, third satellite positioning observation data is obtained;
[0019] The difference between the third satellite positioning observation data and the second satellite positioning observation data is used as satellite positioning observation residual data.
[0020] In conjunction with the first aspect, in one embodiment, obtaining sensor positioning observation residual data based on target positioning data and sensor positioning data of the current frame includes:
[0021] Acquire first sensor positioning observation data and second sensor positioning observation data respectively based on the target positioning data of the current frame;
[0022] Performing data statistics on the sensor positioning data according to the first sensor positioning observation data to obtain sensor positioning observation noise data;
[0023] Using the first sensor positioning observation data plus the sensor positioning observation noise data, a third sensor positioning observation data is obtained;
[0024] The difference between the third sensor positioning observation data and the second sensor positioning observation data is used as sensor positioning observation residual data.
[0025] In conjunction with the first aspect, in one embodiment, constructing a positioning data sequence based on inertial measurement data, satellite positioning observation residual data, and sensor positioning observation residual data includes:
[0026] Obtaining a first acquisition frequency of satellite positioning observation residual data, and obtaining a second acquisition frequency of sensor positioning observation residual data;
[0027] According to the relative size relationship between the first acquisition frequency and the second acquisition frequency, data interpolation is performed on the satellite positioning observation residual data and the sensor positioning observation residual data to obtain an initial positioning data sequence;
[0028] The inertial measurement data is used as the positioning data of the first frame and added to the initial positioning data sequence to obtain the positioning data sequence.
[0029] In conjunction with the first aspect, in one embodiment, creating a map of a target area using the positioning data of each target and the sensor data includes:
[0030] Obtain positioning pose vertices based on target positioning data, and obtain point cloud segment vertices based on sensor data;
[0031] Obtain the relative transformation relationship between the vertices of the point cloud fragments between two adjacent frames, and use the relative transformation relationship as the point cloud edge; the point cloud edge is used to represent the constraint relationship between the vertices of the point cloud fragments between two adjacent frames;
[0032] Obtain the pose edge between the positioning pose vertex and the corresponding point cloud fragment vertex; the pose edge is used to represent the constraint of the target positioning data on the pose of the point cloud fragment vertex;
[0033] Based on the positioning pose vertices, point cloud fragment vertices, point cloud edges and pose edges, a map corresponding to the target area is created.
[0034] In conjunction with the first aspect, in one embodiment, creating a map corresponding to a target area based on positioning pose vertices, point cloud fragment vertices, point cloud edges, and pose edges includes:
[0035] Construct the original map corresponding to the target area based on the positioning pose vertices, point cloud fragment vertices, point cloud edges and pose edges;
[0036] Obtain predicted point cloud edges and predicted pose edges based on target positioning data;
[0037] According to each point cloud edge, predicted point cloud edge, pose edge and predicted pose edge, the sum of square errors between the edges is obtained;
[0038] The positions of the positioning pose vertices and point cloud fragment vertices in the original map are adjusted until the sum of squared errors reaches a minimum, and the original map at this time is determined as the map corresponding to the target area.
[0039] In conjunction with the first aspect, in one embodiment, obtaining sensor data and satellite positioning data within a target area for map creation includes:
[0040] Obtaining raw sensor data and raw satellite positioning data within the target area; raw sensor data includes raw lidar sensor data and raw other sensor data;
[0041] Obtaining initial sensor data based on the acquisition time of the original lidar sensor data and the original other sensor data, and obtaining initial satellite positioning data based on the acquisition time and the original satellite positioning data;
[0042] Sensor data and satellite positioning data are acquired based on the initial sensor data and the initial satellite positioning data.
[0043] In conjunction with the first aspect, in one embodiment, obtaining initial sensor data based on the acquisition time of the original lidar sensor data and the original other sensor data includes:
[0044] Determine the first adjacent time closest to the acquisition time from the original other sensor data, and obtain the actual original other sensor data corresponding to the first adjacent time;
[0045] Obtain equivalent original other sensor data corresponding to the collection time according to the collection time, the first adjacent time, and the actual original other sensor data;
[0046] The original lidar sensor data and the equivalent original other sensor data are combined to obtain the initial sensor data.
[0047] In conjunction with the first aspect, in one embodiment, obtaining initial satellite positioning data according to the acquisition time and the original satellite positioning data includes:
[0048] Determine the second adjacent time closest to the collection time from the original satellite positioning data, and obtain the actual original satellite positioning data collected at the second adjacent time;
[0049] Based on the collection time, the second adjacent time and the actual original satellite positioning data, obtaining the equivalent original satellite positioning data corresponding to the collection time;
[0050] The equivalent original satellite positioning data is determined as the initial satellite positioning data.
[0051] In a second aspect, the present application further provides a map creation device, comprising:
[0052] A data acquisition module is used to acquire sensor data and satellite positioning data within the target area of the map to be created; the sensor data includes inertial measurement data;
[0053] A sensor positioning data acquisition module is used to input sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area;
[0054] A positioning data sequence construction module is used to construct a positioning data sequence based on inertial measurement data, satellite positioning data and sensor positioning data;
[0055] A serial fusion module is used to input the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame, and input the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame is the frame after the current frame;
[0056] The map creation module is used to create a map of the target area using the positioning data of each target and the sensor data.
[0057] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0058] Obtain sensor data and satellite positioning data within the target area of the map to be created; the sensor data includes inertial measurement data;
[0059] Input the sensor data into a pre-set sensor positioning data acquisition model to obtain the sensor positioning data corresponding to the target area;
[0060] Construct a positioning data sequence based on inertial measurement data, satellite positioning data and sensor positioning data;
[0061] Inputting the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame, inputting the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame is the frame after the current frame;
[0062] Utilize the positioning data of each target and sensor data to create a map of the target area.
[0063] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the following steps:
[0064] Obtain sensor data and satellite positioning data within the target area of the map to be created; the sensor data includes inertial measurement data;
[0065] Input the sensor data into a pre-set sensor positioning data acquisition model to obtain the sensor positioning data corresponding to the target area;
[0066] Construct a positioning data sequence based on inertial measurement data, satellite positioning data and sensor positioning data;
[0067] Inputting the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame, inputting the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame is the frame after the current frame;
[0068] Utilize the positioning data of each target and sensor data to create a map of the target area.
[0069] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the following steps:
[0070] Obtain sensor data and satellite positioning data within the target area of the map to be created; the sensor data includes inertial measurement data;
[0071] Input the sensor data into a pre-set sensor positioning data acquisition model to obtain the sensor positioning data corresponding to the target area;
[0072] Construct a positioning data sequence based on inertial measurement data, satellite positioning data and sensor positioning data;
[0073] Inputting the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame, inputting the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame is the frame after the current frame;
[0074] Utilize the positioning data of each target and sensor data to create a map of the target area.
[0075] The above-mentioned map creation method, apparatus, computer device, computer-readable storage medium and computer program product obtain sensor data including inertial measurement data and satellite positioning data within the target area of the map to be created, input the sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area, construct a positioning data sequence based on the inertial measurement data, satellite positioning data and sensor positioning data, input the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame, input the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame, and use the target positioning data and sensor data to create a map of the target area. The sensor data and satellite positioning data within the target area are acquired and input into the sensor positioning data acquisition model to obtain the sensor positioning data. A positioning data sequence is constructed based on the inertial measurement data, satellite positioning data, and sensor positioning data contained in the sensor data. This positioning data sequence is then input into a recursive filter for serial fusion. This means that the target positioning data corresponding to the current frame will affect the target positioning data of the next frame, and so on. This allows the target positioning data corresponding to each frame of positioning data in the positioning data sequence to be determined. Finally, a map of the target area is created based on the positioning data and sensor data for each target. By using a recursive filter to serially fuse the satellite positioning data and sensor positioning data, the accuracy of the determined positioning data is improved, thereby improving the accuracy of the created map. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments of the present application or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying any creative work.
[0077] Figure 1 A diagram of an application environment of a map creation method in one embodiment;
[0078] Figure 2 A flowchart of a map creation method according to an embodiment;
[0079] Figure 3 A system flow chart of a map creation method in one embodiment;
[0080] Figure 4 A schematic diagram of a process for constructing a coupling fusion model in another embodiment;
[0081] Figure 5 A schematic diagram of a process for creating a map in one embodiment;
[0082] Figure 6 A schematic diagram of a flow chart of sensor data time synchronization in another embodiment;
[0083] Figure 7 A structural block diagram of a map creation device in one embodiment;
[0084] Figure 8 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0085] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0086] The map creation method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown, the target area to be mapped communicates with server 102 via a network. Multiple sensors are installed within the target area to collect sensor data, including binocular cameras, lidar, and inertial measurement units. A satellite positioning system is also provided to perform satellite positioning of the target area. A data storage system can store data that server 102 needs to process. The data storage system can be integrated with server 102 or placed on a cloud or other network server. Server 102 acquires sensor data within the target area, including inertial measurement data and satellite positioning data. The sensor data is input into a pre-set sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area. A positioning data sequence is constructed based on the inertial measurement data, satellite positioning data, and sensor positioning data. The positioning data of the current frame in the positioning data sequence is input into a pre-set recursive filter to obtain target positioning data for the target area in the current frame. The positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame are input into the recursive filter to obtain target positioning data for the target area in the next frame. Finally, a map of the target area is created using the target positioning data and sensor data. The server 102 may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides cloud computing services.
[0087] In an exemplary embodiment, Figure 2 As shown, a map creation method is provided, which is applied to Figure 1 Taking the server 102 in the example as an example, the following steps are included from step S201 to step S205:
[0088] Step S201 : Acquire sensor data and satellite positioning data within a target area of a map to be created; the sensor data includes inertial measurement data.
[0089] Among them, sensor data can be understood as data measured by sensors such as lidar, binocular cameras, and inertial measurement units, and satellite positioning data can be understood as high-precision position information obtained by real-time dynamic differential global navigation satellite sensors based on satellite signals.
[0090] Exemplarily, the binocular camera, lidar, inertial measurement unit and real-time dynamic differential global navigation satellite sensor in the target area of the map to be created are started synchronously to start data collection. The lidar generates laser pulses at a set frequency to obtain environmental point cloud data. The binocular camera synchronously collects image data. The inertial measurement unit measures the carrier acceleration and acceleration in real time. The real-time dynamic differential global navigation satellite sensor receives satellite signals and obtains high-precision position information after differential calculation through communication with the base station. The above data is uploaded to the server 102. The server 102 receives the above data and divides it into sensor data and satellite positioning data.
[0091] Based on the above implementation method, by starting multiple types of sensors in the target area, multi-source sensor data of the target area is obtained, which lays a data foundation for the subsequent tight coupling and fusion of multi-source data, thereby improving the positioning accuracy of the positioning data and ensuring the accuracy of map creation for the target area.
[0092] Step S202: input the sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area.
[0093] Among them, the sensor positioning data acquisition model can be understood as a system that tightly couples lidar data, inertial measurement data and visual sensor data to achieve high-precision lidar-inertial-visual odometry pose estimation, which may include the R3LIVE system. The sensor positioning data can be understood as fused sensor data.
[0094] In an exemplary embodiment, the server 102 inputs lidar data, inertial measurement data, and visual sensor data into the R3LIVE system, tightly couples the data of the radar, inertial measurement unit, and visual sensor, implements lidar-inertial-visual odometry pose estimation, and obtains sensor positioning data corresponding to the target area.
[0095] According to the above embodiment, by using the sensor positioning data acquisition model to tightly couple the data of multiple sensors and fusing the multiple sensor data, the performance of the obtained sensor positioning data in complex environments is effectively improved, that is, the positioning accuracy is improved.
[0096] Step S203: constructing a positioning data sequence based on the inertial measurement data, satellite positioning data and sensor positioning data.
[0097] The positioning data sequence can be understood as time series data containing multiple frames of data, the first frame of data is inertial measurement data, and each frame after the first frame corresponds to satellite positioning data or sensor positioning data.
[0098] Exemplarily, the server 102 obtains satellite positioning observation residual data based on the satellite positioning data, and obtains a first acquisition frequency corresponding to the satellite observation residual data, and obtains sensor positioning observation residual data based on the sensor positioning data, and obtains a second acquisition frequency corresponding to the sensor positioning observation residual data. Based on the relative size relationship between the first acquisition frequency and the second acquisition frequency, the server 102 performs data interpolation on the satellite positioning observation residual data and the sensor positioning observation residual data, that is, inserts the positioning observation residual data with a large acquisition frequency into the positioning observation residual data with a small acquisition frequency to obtain an initial positioning data sequence. Finally, the inertial measurement data is used as the first frame of the initial positioning data sequence, and the construction of the positioning data sequence is completed.
[0099] Based on the aforementioned implementation, by comparing the acquisition frequencies of satellite positioning observation residual data and sensor positioning observation residual data, the positioning observation residual data with a higher acquisition frequency is inserted into the positioning observation residual data with a lower acquisition frequency to form an initial positioning data sequence. Finally, the inertial measurement data is used as the initial positioning data sequence to obtain a positioning data sequence. By using data interpolation, the satellite positioning observation residual data and the sensor positioning observation residual data are serially fused, achieving a tight coupling of the satellite positioning observation residual data and the sensor positioning observation residual data, laying the data foundation for subsequently obtaining target fused positioning data for the target area.
[0100] In step S204, the positioning data of the current frame in the positioning data sequence is input into a preset recursive filter to obtain the target positioning data of the target area in the current frame, and the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame are input into the recursive filter to obtain the target positioning data of the target area in the next frame; the next frame is the frame next to the current frame.
[0101] The recursive filter can be understood as a recursive algorithm for estimating positioning data, and the target positioning data can be understood as fused positioning data.
[0102] In an exemplary embodiment, when performing the first round of iterative calculations on the recursive filter, the server 102 inputs the inertial measurement data located in the first frame in the positioning data sequence into the recursive filter to obtain the target positioning data of the target area in the first frame; when performing the second round of iterative calculations on the recursive filter, the server inputs the target positioning data of the first frame and the positioning data of the second frame in the positioning data sequence into the recursive filter to obtain the target positioning data of the target area in the second frame, and the target positioning data of each subsequent frame of the target area are calculated in this way.
[0103] According to the above embodiment, by performing serial coupling fusion on the positioning data between two adjacent frames, the output of the recursive filter of the previous frame is used as one of the inputs of the recursive filter of the next frame, that is, the target positioning data of the target area in the next frame is associated with the target positioning relationship of the previous frame, so as to realize positioning data fusion, thereby obtaining a more accurate positioning result, thereby improving the creation accuracy of map creation.
[0104] Step S205 : Create a map of the target area using the positioning data of each target and the sensor data.
[0105] Exemplarily, server 102 generates positioning pose vertices based on target positioning data and point cloud segment vertices based on sensor data. A point cloud registration algorithm is used to calculate the relative transformation relationship between point cloud segment vertices between two adjacent frames. This relative transformation relationship is used as a point cloud edge, and pose edges are created between the positioning pose vertices and the point cloud segment vertices. An initial map is generated based on the positioning pose vertices, point cloud segment vertices, point cloud edges, and pose edges. A graph algorithm is then used to optimize the initial map, resulting in a map created for the target area. Furthermore, the large amount of collected data (such as sensor data and satellite positioning data) is stored and managed using appropriate storage structures and compression methods. The positioning results and constructed map are displayed through a visual interface, supporting user interaction such as viewing map details and adjusting the viewing angle.
[0106] Based on the above implementation method, a map of the target area is created by utilizing the positioning data and sensor data of each target, and the positioning results of the map are optimized using an optimization algorithm to reduce the cumulative error and improve the accuracy and consistency of the map; a suitable storage structure and compression method are set to ensure efficient storage and fast query of data, and a visual interface is set and allowed to interact with users, so that users can understand map information in real time and improve the user's service experience.
[0107] In the above-mentioned map creation method, sensor data including inertial measurement data and satellite positioning data within the target area of the map to be created are obtained, and the sensor data are input into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area. A positioning data sequence is constructed based on the inertial measurement data, satellite positioning data and sensor positioning data. The positioning data of the current frame in the positioning data sequence is input into a preset recursive filter to obtain target positioning data of the target area in the current frame. The positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame are input into the recursive filter to obtain target positioning data of the target area in the next frame. The target positioning data and sensor data are used to create a map of the target area. The sensor data and satellite positioning data within the target area are acquired and input into the sensor positioning data acquisition model to obtain the sensor positioning data. A positioning data sequence is constructed based on the inertial measurement data, satellite positioning data, and sensor positioning data contained in the sensor data. This positioning data sequence is then input into a recursive filter for serial fusion. This means that the target positioning data corresponding to the current frame will affect the target positioning data of the next frame, and so on. This allows the target positioning data corresponding to each frame of positioning data in the positioning data sequence to be determined. Finally, a map of the target area is created based on the positioning data and sensor data for each target. By using a recursive filter to serially fuse the satellite positioning data and sensor positioning data, the accuracy of the determined positioning data is improved, thereby improving the accuracy of the created map.
[0108] In one embodiment, a positioning data sequence is constructed based on inertial measurement data, satellite positioning data and sensor positioning data, including: obtaining target positioning data of the current frame of the recursive filter; obtaining satellite positioning observation residual data based on the target positioning data and satellite positioning data of the current frame, and obtaining sensor positioning observation residual data based on the target positioning data and sensor positioning data of the current frame; constructing a positioning data sequence based on the inertial measurement data, satellite positioning observation residual data and sensor positioning observation residual data.
[0109] Among them, the target positioning data of the current frame can be understood as the positioning data output by the recursive filter, which contains the positioning data that the recursive filter needs to estimate, such as position, velocity, attitude, acceleration bias and gyroscope bias; the satellite positioning observation residual data can be understood as the difference between the satellite positioning observation data containing satellite positioning observation noise data and the satellite positioning observation data not containing satellite positioning observation noise data. Similarly, the sensor positioning observation residual data can be understood as the difference between the sensor positioning observation data containing sensor positioning observation noise data and the sensor positioning observation data not containing sensor positioning observation noise data.
[0110] In an exemplary embodiment, server 102 first obtains target positioning data x of the current frame from a recursive filter. Then, based on the target positioning data x and satellite positioning data of the current frame, server 102 primarily uses a pre-set conversion function to convert the target positioning data x of the current frame into corresponding satellite positioning observation data. Based on the satellite positioning observation data, corresponding satellite positioning observation noise data in the satellite positioning data is calculated. Finally, based on the satellite positioning observation data and the satellite positioning observation noise data, satellite positioning observation residual data is obtained. Similarly, server 102 uses a pre-set conversion function to convert the target positioning data x of the current frame into corresponding sensor positioning observation data. Based on the sensor positioning observation data, corresponding sensor positioning observation noise data in the sensor positioning data is calculated. Finally, based on the sensor positioning observation data and the sensor positioning observation noise data, sensor positioning observation residual data is obtained. After data preparation is complete, based on the relative size relationship between the first acquisition frequency corresponding to the satellite positioning observation residual data and the second acquisition frequency corresponding to the sensor positioning observation residual data, the positioning observation residual data with a higher acquisition frequency is interpolated into the positioning observation residual data with a lower acquisition frequency. Inertial measurement data is used as this interpolated data sequence to construct a positioning data sequence.
[0111] According to the above implementation, the target positioning data of the current frame is converted into corresponding satellite positioning observation data and sensor positioning observation data based on the conversion function, and the corresponding satellite positioning observation noise data and sensor positioning observation noise data are respectively counted from the satellite positioning data and the sensor positioning data. The satellite positioning observation residual data and the sensor positioning observation residual data are obtained by combining the respective corresponding data. Finally, a positioning data sequence is constructed based on the inertial measurement data, the satellite positioning observation residual data and the sensor positioning observation residual data.
[0112] 1. Improve the reliability of data and reduce the impact of errors by statistically estimating the noise in each observation data.
[0113] 2. The observation residual data with different sampling frequencies are unified into a continuous, high-frequency positioning data sequence through interpolation or interpolation methods to ensure the continuity and accuracy of subsequent recursive filtering.
[0114] 3. Using inertial measurement data as the starting point, the observation residual of each frame is calculated based on the target positioning data of the current frame, and the state estimation of the target is continuously updated to improve the stability and real-time performance of positioning.
[0115] In one embodiment, satellite positioning observation residual data is obtained based on the target positioning data and satellite positioning data of the current frame, including: obtaining first satellite positioning observation data and second satellite positioning observation data respectively according to the target positioning data of the current frame; performing data statistics on the satellite positioning data based on the first satellite positioning observation data to obtain satellite positioning observation noise data; using the first satellite positioning observation data plus the satellite positioning observation noise data to obtain third satellite positioning observation data; and using the difference between the third satellite positioning observation data and the second satellite positioning observation data as satellite positioning observation residual data.
[0116] Among them, the first satellite positioning observation data can be understood as the satellite positioning observation data obtained using the target positioning data x of the current frame and the pre-set first conversion function, and the second satellite positioning observation data can be understood as the sensor positioning observation data obtained using the target positioning data x of the current frame and the pre-set second conversion function.
[0117] Exemplarily, the server 102 uses a pre-set first conversion function to convert the target positioning data x of the current frame into first satellite positioning observation data, and counts corresponding satellite positioning observation noise data from the satellite positioning data based on the first satellite positioning observation data, adds the satellite positioning observation noise data to the first satellite positioning observation data to obtain third satellite positioning observation data, uses a pre-set second conversion function to convert the target positioning data x of the current frame into second satellite positioning observation data, and subtracts the second satellite positioning observation data from the third satellite positioning observation data to obtain satellite positioning observation residual data.
[0118] Based on the aforementioned implementation, the target positioning data of the current frame is converted using a pre-set conversion function to obtain the first satellite positioning observation data and the second satellite positioning observation data of the current frame. The satellite positioning observation noise data corresponding to the first satellite positioning observation data is determined from the collected satellite positioning data. Finally, the satellite positioning observation residual data is obtained based on the first satellite positioning observation data, the satellite positioning observation noise data, and the second satellite positioning observation data. The corresponding satellite positioning observation residual data is calculated for each frame of data, and the satellite positioning observation noise data is simultaneously introduced to reduce the error of the calculated satellite positioning observation residual data and improve data reliability. At the same time, the calculation is performed for each frame, which also ensures the real-time update of the satellite positioning data observation residual data.
[0119] In one embodiment, sensor positioning observation residual data is obtained based on the target positioning data and sensor positioning data of the current frame, including: obtaining first sensor positioning observation data and second sensor positioning observation data based on the target positioning data of the current frame; performing data statistics on the sensor positioning data according to the first sensor positioning observation data to obtain sensor positioning observation noise data; using the first sensor positioning observation data plus the sensor positioning observation noise data to obtain third sensor positioning observation data; and using the difference between the third sensor positioning observation data and the second sensor positioning observation data as the sensor positioning observation residual data.
[0120] Among them, the first sensor positioning observation data can be understood as the sensor positioning observation data obtained using the target positioning data x of the current frame and the pre-set first conversion function, and the second sensor positioning observation data can be understood as the sensor positioning observation data obtained using the target positioning data x of the current frame and the pre-set second conversion function.
[0121] In an exemplary embodiment, the server 102 uses a preset first conversion function to convert the target positioning data x of the current frame into first sensor positioning observation data, and statistically calculates corresponding sensor positioning observation noise data from the sensor positioning data based on the first sensor positioning observation data, adds the sensor positioning observation noise data to the first sensor positioning observation data to obtain third sensor positioning observation data, uses a preset second conversion function to convert the target positioning data x of the current frame into second sensor positioning observation data, and subtracts the second sensor positioning observation data from the third sensor positioning observation data to obtain sensor positioning observation residual data.
[0122] According to the above embodiment, the target positioning data of the current frame is converted using a preset conversion function to obtain the first sensor positioning observation data and the second sensor positioning observation data of the current frame. The sensor positioning observation noise data corresponding to the first sensor positioning observation data is then determined from the collected sensor positioning data. Finally, the sensor positioning observation residual data is obtained based on the first sensor positioning observation data, the sensor positioning observation noise data, and the second sensor positioning observation data. The corresponding sensor positioning observation residual data is calculated for each frame of data, and the sensor positioning observation noise data is simultaneously introduced. This reduces the error in the calculated sensor positioning observation residual data and improves data reliability. Furthermore, performing the calculation for each frame also ensures real-time updating of the sensor positioning observation residual data.
[0123] In one embodiment, a positioning data sequence is constructed based on inertial measurement data, satellite positioning observation residual data, and sensor positioning observation residual data, including: obtaining a first acquisition frequency of the satellite positioning observation residual data, and obtaining a second acquisition frequency of the sensor positioning observation residual data; performing data interpolation on the satellite positioning observation residual data and the sensor positioning observation residual data based on the relative size relationship between the first acquisition frequency and the second acquisition frequency to obtain an initial positioning data sequence; and adding the inertial measurement data as the positioning data of the first frame to the initial positioning data sequence to obtain a positioning data sequence.
[0124] Exemplarily, the server 102 obtains a first acquisition frequency of satellite positioning observation residual data and a second acquisition frequency of sensor positioning observation residual data, and performs data interpolation on the satellite positioning observation residual data and the sensor positioning observation residual data according to the relative size relationship between the first acquisition frequency and the second acquisition frequency to obtain an initial positioning data sequence. Specifically, when the first acquisition frequency is greater than the second acquisition frequency, the sequence of sensor positioning observation data is used as the reference positioning data sequence, and the satellite positioning observation residual data is inserted into the sensor positioning observation residual data to obtain an initial positioning data sequence; when the first acquisition frequency is less than the second acquisition frequency, the sequence of satellite positioning observation data is used as the reference positioning data sequence, and the sensor positioning observation residual data is inserted into the satellite positioning observation residual data to obtain an initial positioning data sequence; finally, the inertial measurement data is used as the positioning data of the first frame and added to the initial positioning data sequence to obtain a positioning data sequence.
[0125] Based on the above-mentioned implementation method, by comparing the relative size relationship between the acquisition frequencies of the observation residual data, data interpolation for the observation residual data is realized, and multiple data sequences are fused into one data sequence, thereby achieving tight coupling fusion between the data, improving the positioning accuracy of the target positioning data, and improving the creation accuracy and speed of map creation.
[0126] In one embodiment, a map of the target area is created using target positioning data and sensor data, including: obtaining positioning pose vertices based on the target positioning data, and obtaining point cloud fragment vertices based on the sensor data; obtaining the relative transformation relationship between the point cloud fragment vertices between two adjacent frames, and using the relative transformation relationship as the point cloud edge; the point cloud edge is used to represent the constraint relationship between the point cloud fragment vertices between two adjacent frames; obtaining the pose edge between the positioning pose vertex and the corresponding point cloud fragment vertex; the pose edge is used to represent the constraint of the target positioning data on the pose of the point cloud fragment vertex; and creating a map corresponding to the target area based on the positioning pose vertices, point cloud fragment vertices, point cloud edges and pose edges.
[0127] Among them, the positioning pose vertex can be understood as the precise pose at the moment of positioning, the point cloud fragment vertex can be understood as the pose used to represent the point cloud fragment in the sensor data (usually expressed in three-dimensional coordinates and rotation), the relative transformation relationship can be understood as the relative position change relationship of the same point cloud fragment vertex between two adjacent frames, such as translation, rotation, etc., and the point cloud edge is used to reflect the relative position and pose of the same point cloud fragment vertex in space between two adjacent frames.
[0128] In an exemplary embodiment, the server 102 sets positioning pose vertices according to the target positioning data, and sets point cloud fragment vertices according to the point cloud fragment data in the sensor data, wherein each point cloud fragment data corresponds to a point cloud fragment vertex, calculates the relative transformation relationship between the same point cloud fragment vertex between two adjacent frames, and sets the relative transformation relationship as a point cloud edge, establishes a pose edge between the positioning pose vertex and the corresponding point cloud fragment vertex to characterize the constraint of the target positioning data on the pose of the point cloud fragment vertex, logically connects the point cloud fragment vertices, positioning pose vertices, point cloud edges and pose edges, and creates a map corresponding to the target area.
[0129] According to the above embodiment, by setting point cloud fragment vertices corresponding to the point cloud fragments in the sensor data, and creating positioning pose vertices for the target positioning data, corresponding point cloud edges are created considering the transformation relationship between the point cloud fragment vertices themselves between two adjacent frames, and corresponding pose edges are created for the positioning pose vertices and the corresponding point cloud fragment vertices, a corresponding map is created based on the aforementioned points and edges.
[0130] 1. By adding edges between adjacent point cloud segments, the spatial relationship of continuous point clouds is ensured to be reasonable and consistent, which helps to reduce drift and error accumulation and improve the accuracy of the overall point cloud map.
[0131] 2. Utilize the constraint relationship of multi-source information to improve the system's resistance to measurement errors or noise, and improve the robustness of positioning and point cloud registration.
[0132] In one embodiment, a map corresponding to a target area is created based on positioning pose vertices, point cloud fragment vertices, point cloud edges, and pose edges, including: constructing an original map corresponding to the target area based on the positioning pose vertices, point cloud fragment vertices, point cloud edges, and pose edges; obtaining predicted point cloud edges and predicted pose edges based on target positioning data; obtaining the sum of squared errors between each edge based on each point cloud edge, predicted point cloud edge, pose edge, and predicted pose edge; adjusting the positions of the positioning pose vertices and point cloud fragment vertices in the original map until the sum of squared errors reaches a minimum value, and determining the original map at this time as the map corresponding to the target area.
[0133] Among them, the predicted point cloud edge can be understood as the relative transformation relationship predicted based on the target positioning data of the current frame. Similarly, the predicted pose edge can be understood as the predicted relative transformation relationship predicted based on the target positioning data of the current frame.
[0134] Exemplarily, the server 102 creates an original map corresponding to the target area based on the positioning pose vertices, point cloud fragment vertices, point cloud edges and pose edges, inputs the target positioning data into a preset prediction function, obtains the predicted point cloud edges between the point cloud fragment vertices, and the predicted pose edges between the positioning pose vertices and the corresponding point cloud fragment vertices, calculates the square of the point cloud edge minus the predicted point cloud edge, and calculates the square of the pose edge minus the predicted pose edge, sums the squares and takes the average to obtain the sum of squared errors, adjusts the positions of the positioning pose vertices and point cloud fragment vertices in the original map until the sum of squared errors reaches a minimum, and determines the original map at this time as the map corresponding to the target area.
[0135] In an exemplary embodiment, an optimization objective function is defined based on the nodes and edges in the original map, which is usually the sum of squared errors of all constrained edges. The optimal map parameter estimate is found by minimizing this objective function.
[0136]
[0137] in:
[0138] x: State vector containing all vertex parameters.
[0139] y i : The observed value of the i-th edge.
[0140] f i (x): The predicted value of the i-th edge calculated based on the current state x.
[0141] Based on the constructed graph model, the above steps are explained using the optimization of two simple point clouds as an example:
[0142] Suppose we have two point cloud fragment vertices V1 and V2, and a positioning pose vertex V fusion The edge E between adjacent point cloud segments 12 Represents the relative transformation between V1 and V2, positioning the edge E between the point clouds 1fusion Indicates V fusion and V1 constraints.
[0143] The objective function can be expressed as:
[0144]
[0145] Where: x: state vector, containing the parameters of all vertices, such as the pose (position and rotation) of the point cloud fragment vertices V1 and V2 and the positioning pose vertex V fusion Posture, etc.
[0146] y 12 :Edge E 12 The observation value of is the relative transformation (translation and rotation) between V1 and V2 calculated by the point cloud registration algorithm.
[0147] f 12 : The predicted relative transformation between V1 and V2 calculated based on the current state x (i.e., the pose of V1 and V2).
[0148] y 1fusion :Edge E 1fusion The observed value, V fusion The relative transformation between V1 and point cloud segment V1 is usually expected to be the same as the position of the positioning result V fusion consistent, so the observations can be unit transformed.
[0149] f 1fusion :According to the current state x (ie V fusion and V1 pose) calculated V fusion and the predicted relative transformation between V1.
[0150] By minimizing this objective function and adjusting the parameters of each vertex (i.e., point cloud fragments and positioning poses), the final map of the target area is obtained.
[0151] Based on the aforementioned implementation, an optimization method for the original map is designed. This method uses target positioning data to predict point cloud edges and pose edges. The sum of squared errors between point cloud edges and predicted point cloud edges, and between pose edges and predicted pose edges, is calculated. The positions of point cloud segment vertices and pose vertices in the original map are adjusted to minimize this sum of squared errors. This completes the optimization of the original map and yields a map of the target area. This minimizes the errors of all edges, thereby optimizing the accuracy and consistency of the map.
[0152] In one embodiment, obtaining sensor data and satellite positioning data within a target area for map creation includes: obtaining raw sensor data and raw satellite positioning data within the target area; the raw sensor data includes raw lidar sensor data and raw other sensor data; obtaining initial sensor data based on the acquisition time of the raw lidar sensor data and the raw other sensor data, and obtaining initial satellite positioning data based on the acquisition time and the raw satellite positioning data; obtaining sensor data and satellite positioning data based on the initial sensor data and the initial satellite positioning data.
[0153] Among them, the raw sensor data can be understood as the raw data directly obtained by the lidar sensor, binocular camera sensor and inertial measurement unit sensor, and the initial sensor data can be understood as the sensor data obtained after data synchronization of each raw sensor data.
[0154] In an exemplary embodiment, the server 102 obtains the original lidar sensor data, original other sensor data and original satellite positioning data in the target area, and synchronizes the original other sensor data according to the acquisition time of the original lidar sensor data, and combines the synchronized original other sensor data and the original lidar sensor data to obtain initial sensor data; synchronizes the original satellite positioning data according to the acquisition time of the original lidar sensor data, and uses the synchronized original satellite positioning data as the initial satellite positioning data, and finally performs denoising and feature extraction on the initial sensor data and the initial satellite positioning data. Specifically, noise points are removed from the radar data and geometric features are extracted; the image data is filtered and denoised, and features such as corner points are extracted; the inertial measurement data is filtered, and then the initial position and attitude information are obtained by integral calculation.
[0155] According to the above embodiment, by using the acquisition time of the original lidar sensor data as the standard time, data synchronization is performed on the original other sensor data and the original satellite positioning data. That is, the equivalent original other sensor data and equivalent original satellite positioning data at the same time are calculated to obtain the initial sensor data and initial satellite positioning data. Finally, denoising and feature extraction are performed on the initial sensor data and initial satellite positioning data to obtain the sensor data and satellite positioning data. Through data synchronization and data preprocessing, high-quality basic data is provided for subsequent fusion processing.
[0156] In one embodiment, initial sensor data is obtained based on the collection time of the original lidar sensor data and the original other sensor data, including: determining the first adjacent time closest to the collection time from the original other sensor data, and obtaining the actual original other sensor data corresponding to the first adjacent time; obtaining equivalent original other sensor data corresponding to the collection time based on the collection time, the first adjacent time and the actual original other sensor data; and combining the original lidar sensor data and the equivalent original other sensor data to obtain the initial sensor data.
[0157] The first adjacent moments can be understood as the two moments closest to the acquisition moment on the time axis of the original other sensor data.
[0158] Exemplarily, the server 102 determines the first adjacent time closest to the collection time on the time axis of the original other sensor data, and obtains the actual original other sensor data corresponding to the first adjacent time. The server 102 uses the collection time, the first adjacent time, and the actual original other sensor data to obtain the equivalent original other sensor data corresponding to the collection time. Finally, the server 102 combines the equivalent original other sensor data with the original lidar data to obtain the initial sensor data. The specific method for obtaining the equivalent original other sensor data is as follows:
[0159]
[0160] Among them, b0 represents the equivalent original other sensor data, t0 represents the acquisition time, and Characterize the first adjacent moment, Characterization The actual raw other sensor data at the moment, Characterization The actual raw other sensor data at the moment.
[0161] Based on the aforementioned implementation, the first adjacent moment closest to the acquisition moment is obtained from the raw other sensor data, and the actual raw other sensor data corresponding to the first adjacent moment is obtained. Finally, based on the acquisition moment, the first adjacent moment, and the actual raw other sensor data, the equivalent raw other sensor data corresponding to the acquisition moment is calculated. Finally, the equivalent raw other sensor data and the raw lidar data are combined to obtain the initial sensor data. Time synchronization is performed to unify sensor data with asynchronous acquisition times, eliminating deviations caused by sampling time differences. Interpolation is used to obtain the equivalent other sensor data at the acquisition moment, ensuring data continuity and consistency, providing a high-quality data foundation for subsequent data fusion.
[0162] In one embodiment, initial satellite positioning data is obtained based on the collection time and the original satellite positioning data, including: determining the second adjacent time closest to the collection time from the original satellite positioning data, and obtaining the actual original satellite positioning data collected at the second adjacent time; obtaining equivalent original satellite positioning data corresponding to the collection time based on the collection time, the second adjacent time and the actual original satellite positioning data; and determining the equivalent original satellite positioning data as the initial satellite positioning data.
[0163] The second adjacent moments can be understood as the two moments closest to the acquisition moment on the time axis of the original satellite positioning data.
[0164] In an exemplary embodiment, the server 102 determines the second adjacent time closest to the collection time on the time axis of the original satellite positioning data, obtains the actual original satellite positioning data corresponding to the second adjacent time, and uses the collection time, the second adjacent time, and the actual original satellite positioning data to obtain the equivalent original satellite positioning data corresponding to the collection time. Finally, the equivalent original satellite positioning data is used as the initial satellite positioning data. The specific method for obtaining the equivalent original satellite positioning data is as follows:
[0165]
[0166] Among them, c0 represents the equivalent original satellite positioning data, t0 represents the acquisition time, and Characterize the first adjacent moment, Characterization The actual raw satellite positioning data at the moment, Characterization The actual raw satellite positioning data at that moment.
[0167] According to the above implementation, the second adjacent time closest to the acquisition time is obtained from the original satellite positioning data, and the actual original satellite positioning data corresponding to the second adjacent time is obtained. Finally, based on the acquisition time, the second adjacent time, and the actual original other satellite positioning data, the equivalent original satellite positioning data corresponding to the acquisition time is calculated, and the equivalent original satellite positioning data is finally used as the initial satellite positioning data. By performing time synchronization, satellite positioning data with asynchronous acquisition times are unified, eliminating deviations caused by sampling time differences. The equivalent satellite positioning data at the acquisition time is obtained through interpolation, ensuring data continuity and consistency, and providing a high-quality data foundation for subsequent data fusion.
[0168] This application describes a multi-sensor fusion mapping method and system based on R3LIVE (the aforementioned sensor positioning data acquisition model) and GNSS. This method primarily utilizes measurement data from binocular cameras, lidar, an inertial measurement unit (IMU), and real-time kinematic navigation (RTK)-GNSS (GNSS) to achieve robust and accurate state estimation. The R3LIVE system tightly couples radar, IMU, and visual sensor data to achieve high-precision LiDAR-Inertial Odometry (LIO-VIO) pose estimation. Furthermore, RTK-GNSS observations are used as constraints to jointly optimize the residual equations of the LIO-VIO odometry, achieving accurate pose estimation of the system state and constructing a high-precision, globally consistent three-dimensional color map. The system is divided into three components: a data processing module, a fusion positioning module, and a mapping and display module.
[0169] The data processing module is responsible for collecting and preprocessing data from lidar, cameras, IMUs, and RTK-GNSS. First, each sensor is synchronized to collect data. Then, for the collected point clouds, images, IMU, and RTK-GNSS measurements, radar is used as the core sensor. Each time radar data is received, the current radar data acquisition time is used as the time point to be inserted, thereby obtaining equivalent information from other sensors at the same time. Finally, the synchronized data is filtered, denoised, and feature extracted to provide high-quality basic data for subsequent fusion processing.
[0170] The fusion positioning module constructs a tightly coupled fusion model of RTK-GNSS and LIO-VIO. The module first uses the RTK-GNSS position observations and odometry factors as constraints to construct a residual equation. This residual equation, along with the residual equation of the LIO-VIO subsystem, is then jointly optimized using a Kalman filter (a type of recursive filtering). Observation models for LIO-VIO and RTK-GNSS are then designed separately, while system states are defined and a discrete-time state transition model is established. Finally, the Kalman filter algorithm calculates the Kalman gain based on the observation noise and process noise characteristics of each sensor data. The system state is predicted and updated, and the sensor data is weighted and fused, resulting in more accurate positioning results.
[0171] The mapping and display module uses a point cloud registration algorithm based on the fused positioning results to construct a 3D map of the environment. It then uses a graph optimization algorithm to update and optimize the map in real time. Furthermore, it stores and manages data, displays positioning results and the constructed 3D color map through a visual interface, and supports user interaction, allowing users to easily understand the system's operating status in real time.
[0172] In an exemplary embodiment, Figure 3 As shown, a high-precision 3D reconstruction system and method based on tightly coupled multi-sensor fusion is provided, and the specific implementation method is as follows:
[0173] S1: Data Acquisition and Synchronization: Synchronize the binocular camera, lidar, IMU, and RTK-GNSS sensors to begin data collection. The lidar emits laser pulses at a set frequency to acquire environmental point cloud data; the camera simultaneously collects image data; the IMU measures the vehicle's acceleration and angular velocity in real time; and the RTK-GNSS receiver receives satellite signals and, after differential calculations with the base station, obtains high-precision position information.
[0174] With radar as the core sensor, every time radar data is received, the current radar data acquisition time is used as the time point to be inserted. Through time interpolation and other methods, equivalent information of other sensors other than radar is obtained at the same time to complete data synchronization. Here, the linear interpolation of RTK-GNSS data at time t0 is taken as an example. Figure 4 As shown, the time synchronization of other sensor data is similar.
[0175] Specifically: Get the lidar measurement values a0 and a1 at time t0 and t1 respectively, and get the latest round of RTK-GNSS time And the corresponding measurement sequence , linearly interpolate the RTK-GNSS data at time t0 and t1 respectively to obtain the RTK-GNSS data sequence B={b0,b1} at time t0 and t1.
[0176] Determine the two RTK-GNSS data points closest to t0: in the RTK-GNSS time sequence Find satisfaction in ≤t0≤ Two adjacent moments and The corresponding RTK-GNSS measurement value is and .
[0177] Perform linear interpolation calculation: Calculate the RTK-GNSS data b0 at time t0 according to the linear interpolation formula:
[0178]
[0179] The meaning of this formula is to assume that and The RTK-GNSS measurement value changes linearly with time. Based on this linear relationship, the measurement value at time t0 is estimated.
[0180] S2: Data preprocessing: filtering, denoising, and feature extraction are performed on the synchronized point cloud, image, IMU, and RTK-GNSS measurements. Specifically, point cloud data is noise-removed and geometric features extracted; image data is filtered and denoised, and features such as corner points are extracted; IMU data is filtered to reduce noise interference; and initial position and attitude information is then integrated and calculated, providing high-quality basic data for subsequent fusion processing.
[0181] S3: Constructing a tightly coupled fusion model of RTK-GNSS and LIO-VIO. On the one hand, it is necessary to input the pre-processed point cloud, image and IMU into the R3LIVE system to achieve high-precision LiDAR-Inertial-Visual Odometry (LIO-VIO) pose estimation. On the other hand, considering the position observation value of RTK-GNSS as a constraint, construct the residual equation and incorporate it and the residual equation of the LIO-VIO subsystem into the joint optimization framework of Kalman filtering. Figure 5 As shown, the specific steps are as follows:
[0182] S3-1. Define state variables:
[0183] Define the state vector x, which contains the system state to be estimated, such as position, velocity, attitude, accelerometer bias, and gyroscope bias:
[0184]
[0185] in:
[0186] p: position.
[0187] v: speed.
[0188] q: attitude (quaternion representation).
[0189] b a : accelerometer bias.
[0190] : Gyroscope bias.
[0191] S3-2. Define the observation model:
[0192] The observation model describes the relationship between sensor observations and system states. For RTK-GNSS and LIO-VIO tight coupling, the observation model includes:
[0193] RTK-GNSS observation model:
[0194]
[0195] Among them, z gnss Represents the high-precision position observation value provided by RTK-GNSS, g gnss (x): function that converts the system state x into RTK-GNSS observations, v gnss is the observation noise.
[0196] LIO-VIO observation model:
[0197]
[0198] Among them, z lio-vio represents the high-precision position observation value provided by LIO-VIO, g lio-vio (x): function that converts the system state x into LIO-VIO observations, v lio-vio is the observation noise.
[0199] S3-3. Construct the residual equation:
[0200] RTK-GNSS residuals:
[0201]
[0202] in:
[0203] z gnss : High-precision position observations provided by RTK-GNSS.
[0204] hgnss(): Coordinate conversion function, which estimates the RTK-GNSS observation value calculated based on the current state x.
[0205] LIO-VIO residual:
[0206]
[0207] in:
[0208] z lio-vio : High-precision position observations provided by LIO-VIO.
[0209] h lio-vio (): Coordinate transformation function, the LIO-VIO observation value calculated based on the current state estimate x.
[0210] S3-4: State transition model:
[0211] In discrete time, the state transition model is:
[0212]
[0213] u k : Control input, mainly comes from the measurement information of IMU.
[0214] : Process noise, used to describe the uncertainty in the dynamic change process, assuming that the process noise obeys Gaussian white noise with zero mean.
[0215] f(): state transition function from time k-1 to time k.
[0216] S3-5: Kalman filter fusion calculation: Based on the observation model and state transition model designed above, the Kalman filter algorithm is used to calculate the Kalman gain. Based on the Kalman gain, the system state is predicted and updated, and the weights of the sensor data are assigned and fused, resulting in more accurate positioning results and completing the fusion positioning process.
[0217] The status of a single data source (LIO-VIO or GNSS) can be updated using the following formula:
[0218]
[0219] in:
[0220] : is the posterior state estimate at time k.
[0221] K k : is the Kalman gain at time k, which determines the influence of the observation data on the state estimate during the state update phase. It determines the weight of the predicted value and the observed value in the state estimate.
[0222] y k : LIO-VIO or GNSS residual vector, the actual value is y lio-vio or y gnss .
[0223] Through the above steps, Kalman filtering can effectively combine RTK-GNSS and LIO-VIO sensor data, reasonably allocate weights, and achieve data fusion, thereby obtaining more accurate positioning results.
[0224] S4: Build and optimize the 3D map: Based on the fused positioning results, a point cloud registration algorithm is used to calculate the relative transformation relationship between adjacent point cloud segments. At the same time, a graph optimization algorithm is used to update and optimize the map in real time, reducing cumulative errors and improving map accuracy and consistency.
[0225] like Figure 6 As shown, the graph model is constructed as follows:
[0226] S4-1. Add vertices:
[0227] Point cloud fragment vertex: Each point cloud fragment corresponds to a vertex, which represents the pose of the point cloud of the fragment (usually expressed in three-dimensional coordinates and rotation).
[0228] Positioning pose vertex: The high-precision positioning result is also added as a vertex to the graph to indicate the precise pose at the moment of positioning.
[0229] S4-2, add edges:
[0230] Edges between adjacent point cloud segments: Calculate the relative transformation relationships (such as translation and rotation) between adjacent point cloud segments and add them as edges to the graph. These edges represent the constraint relationships between adjacent point cloud segments and reflect their relative positions and poses in space.
[0231] Edges between localization and point clouds: Create edges between high-precision localization results and corresponding point cloud segments. These edges represent the constraints imposed by the localization results on the pose of the point cloud segments, helping to improve the accuracy of the pose of the point cloud segments.
[0232] S4-3. Build a graph model:
[0233] Based on the nodes and edges in the graph model, an optimization objective function is defined, usually the sum of squared errors of all constrained edges. The optimal map parameter estimate is found by minimizing this objective function.
[0234]
[0235] in:
[0236] x: State vector containing all vertex parameters.
[0237] y i : The observed value of the i-th edge.
[0238] f i (x): The predicted value of the i-th edge calculated based on the current state x.
[0239] Based on the constructed graph model, the above steps are explained using the optimization of two simple point clouds as an example:
[0240] Suppose we have two point cloud fragment vertices V1 and V2, and a positioning pose vertex V fusion The edge E between adjacent point cloud segments 12 Represents the relative transformation between V1 and V2, positioning the edge E between the point clouds 1fusion Indicates V fusion and V1 constraints.
[0241] The objective function can be expressed as:
[0242]
[0243] Where: x: state vector, containing the parameters of all vertices, such as the pose (position and rotation) of the point cloud fragment vertices V1 and V2 and the positioning pose vertex V fusion Posture, etc.
[0244] y 12 :Edge E 12 The observation value of is the relative transformation (translation and rotation) between V1 and V2 calculated by the point cloud registration algorithm.
[0245] f 12 : The predicted relative transformation between V1 and V2 calculated based on the current state x (i.e., the pose of V1 and V2).
[0246] y 1fusion :Edge E 1fusion The observed value, V fusion The relative transformation between V1 and point cloud segment V1 is usually expected to be the same as the position of the positioning result V fusion consistent, so the observations can be unit transformed.
[0247] f 1fusion :According to the current state x (ie V fusion and V1 pose) calculated V fusion and the predicted relative transformation between V1.
[0248] By minimizing this objective function, the parameters of each vertex (i.e., point cloud fragments and positioning poses) are adjusted to minimize the errors of all edges, thereby optimizing the accuracy and consistency of the 3D map.
[0249] S5: Data Storage Management and Visualization: This system manages the storage of large amounts of collected data (including point cloud data, image data, and sensor pose data), employing appropriate storage structures and compression methods to ensure efficient data storage and fast querying. Positioning results and constructed 3D color maps are displayed through a visual interface, supporting user interaction, allowing users to understand the system's operating status in real time, such as viewing map details and adjusting viewing angles.
[0250] Compared with the existing technology, this application has the following technical advantages:
[0251] 1. By tightly coupling RTK-GNSS and LIO-VIO and using Kalman filtering to fuse multi-sensor data, centimeter-level positioning accuracy is achieved, providing reliable position information for applications such as autonomous driving and robot navigation.
[0252] 2. Based on the fused positioning results, point cloud registration and graph optimization algorithms are used to construct a globally consistent 3D color map, reducing cumulative errors, improving map accuracy and consistency, and enriching geographic information data.
[0253] 3. Improved system stability: Integrate data from multiple sensors to achieve complementary advantages, effectively suppress noise interference, reduce the impact of single sensor failure or data anomalies on system performance, and enhance the stability and reliability of the system in complex environments.
[0254] 4. System modules work together to achieve real-time processing of the entire process from data collection, preprocessing, integrated positioning, and map construction and display, ensuring timely response to environmental changes. Graph optimization algorithms update and optimize maps in real time, improving construction efficiency and reducing resource consumption.
[0255] 5. The modular design facilitates functional expansion and optimization. The tightly coupled fusion model is compatible with a variety of sensors, supports flexible configuration and upgrades, and adapts to the needs of different application scenarios.
[0256] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0257] Based on the same inventive concept, embodiments of the present application also provide a map creation device for implementing the aforementioned map creation method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more map creation device embodiments provided below can be found in the above-mentioned limitations of the map creation method and will not be further elaborated here.
[0258] In an exemplary embodiment, Figure 7As shown, a map creation device is provided, comprising: a data acquisition module 701, a sensor positioning data acquisition module 702, a positioning data sequence construction module 703, a serial fusion module 704 and a map creation module 705, wherein:
[0259] The data acquisition module 701 is used to acquire sensor data and satellite positioning data in the target area of the map to be created; the sensor data includes inertial measurement data.
[0260] The sensor positioning data acquisition module 702 is used to input the sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area.
[0261] The positioning data sequence construction module 703 is used to construct a positioning data sequence according to the inertial measurement data, satellite positioning data and sensor positioning data.
[0262] The serial fusion module 704 is used to input the positioning data of the current frame in the positioning data sequence into a preset recursive filter to obtain the target positioning data of the target area in the current frame, and input the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain the target positioning data of the target area in the next frame; the next frame is the frame after the current frame.
[0263] The map creation module 705 is used to create a map of the target area using the positioning data of each target and the sensor data.
[0264] In an exemplary embodiment, based on the aforementioned map creation device, a data acquisition module acquires sensor data and satellite positioning data within a target area for map creation, the sensor data including inertial measurement data. The sensor data is then transmitted to a sensor positioning data acquisition module and a map creation module, and the satellite positioning data and inertial measurement data are transmitted to a positioning data sequence construction module. The sensor positioning data acquisition module inputs the sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area, and then transmits the sensor positioning data to a positioning data sequence construction module. The positioning data sequence construction module constructs a positioning data sequence based on the inertial measurement data, satellite positioning data, and sensor positioning data. The positioning data sequence is then sent to a serial fusion module. The serial fusion module inputs the positioning data of a current frame in the positioning data sequence into a preset recursive filter to obtain target positioning data of the target area in the current frame. The positioning data of a frame next to the current frame in the positioning data sequence and the target positioning data of the current frame are then input into the recursive filter to obtain target positioning data of the target area in the next frame. Finally, the obtained target positioning data are sent to the map creation module, which uses the target positioning data and sensor data to create a map of the target area. The recursive filter is used to achieve tight coupling fusion of satellite positioning data and sensor positioning data, which improves the positioning accuracy of the output target positioning data and effectively improves the map construction accuracy.
[0265] In one embodiment, the positioning data sequence construction module 703 further includes a target positioning data acquisition submodule, a positioning observation residual data acquisition submodule, and a positioning data sequence construction submodule, wherein:
[0266] The target positioning data acquisition submodule is used to obtain the target positioning data of the current frame of the recursive filter.
[0267] The positioning observation residual data acquisition submodule is used to obtain satellite positioning observation residual data based on the target positioning data and satellite positioning data of the current frame, and to obtain sensor positioning observation residual data based on the target positioning data and sensor positioning data of the current frame.
[0268] The positioning data sequence construction submodule is used to construct a positioning data sequence based on inertial measurement data, satellite positioning observation residual data and sensor positioning observation residual data.
[0269] In one embodiment, the positioning observation residual data acquisition submodule is also used to obtain first satellite positioning observation data and second satellite positioning observation data respectively according to the target positioning data of the current frame; perform data statistics on the satellite positioning data based on the first satellite positioning observation data to obtain satellite positioning observation noise data; use the first satellite positioning observation data plus the satellite positioning observation noise data to obtain third satellite positioning observation data; and use the difference between the third satellite positioning observation data and the second satellite positioning observation data as satellite positioning observation residual data.
[0270] In an exemplary embodiment, the positioning observation residual data acquisition submodule is also used to respectively acquire first sensor positioning observation data and second sensor positioning observation data based on the target positioning data of the current frame; perform data statistics on the sensor positioning data according to the first sensor positioning observation data to obtain sensor positioning observation noise data; use the first sensor positioning observation data plus the sensor positioning observation noise data to obtain third sensor positioning observation data; and use the difference between the third sensor positioning observation data and the second sensor positioning observation data as sensor positioning observation residual data.
[0271] In one embodiment, the positioning data sequence construction module 703 is further used to obtain a first acquisition frequency of satellite positioning observation residual data and a second acquisition frequency of sensor positioning observation residual data; based on the relative size relationship between the first acquisition frequency and the second acquisition frequency, the satellite positioning observation residual data and the sensor positioning observation residual data are interpolated to obtain an initial positioning data sequence; and the inertial measurement data is used as the positioning data of the first frame and added to the initial positioning data sequence to obtain a positioning data sequence.
[0272] In one embodiment, the map creation module 705 further includes a point creation submodule, a point cloud edge creation submodule, a pose edge creation submodule, and a map creation submodule, wherein:
[0273] The point creation submodule is used to obtain positioning pose vertices based on target positioning data and point cloud fragment vertices based on sensor data.
[0274] The point cloud edge creation submodule is used to obtain the relative transformation relationship of the point cloud fragment vertices between two adjacent frames and use the relative transformation relationship as the point cloud edge; the point cloud edge is used to represent the constraint relationship between the point cloud fragment vertices between two adjacent frames.
[0275] The pose edge creation submodule is used to obtain the pose edges between the positioning pose vertices and the corresponding point cloud fragment vertices; the pose edges are used to represent the constraints of the target positioning data on the pose of the point cloud fragment vertices.
[0276] The map creation submodule is used to create a map corresponding to the target area based on the positioning pose vertices, point cloud fragment vertices, point cloud edges and pose edges.
[0277] In an exemplary embodiment, the map creation submodule is further used to construct an original map corresponding to the target area based on the positioning pose vertices, point cloud fragment vertices, point cloud edges and pose edges; obtain predicted point cloud edges and predicted pose edges based on the target positioning data; obtain the sum of squared errors between each edge based on each point cloud edge, predicted point cloud edge, pose edge and predicted pose edge; adjust the position of the positioning pose vertices and point cloud fragment vertices in the original map until the sum of squared errors reaches a minimum value, and determine the original map at this time as the map corresponding to the target area.
[0278] In one embodiment, the data acquisition module 701 further includes an original data acquisition submodule, an initial data acquisition submodule, and a data acquisition submodule, wherein:
[0279] The raw data acquisition submodule is used to obtain raw sensor data and raw satellite positioning data in the target area; the raw sensor data includes raw lidar sensor data and raw other sensor data;
[0280] An initial data acquisition submodule, configured to obtain initial sensor data based on the acquisition time of the original lidar sensor data and the original other sensor data, and to obtain initial satellite positioning data based on the acquisition time and the original satellite positioning data;
[0281] The data acquisition submodule is used to acquire sensor data and satellite positioning data based on the initial sensor data and the initial satellite positioning data.
[0282] In one embodiment, the initial data acquisition submodule is further used to determine the first adjacent moment closest to the acquisition moment from the original other sensor data, and obtain the actual original other sensor data corresponding to the first adjacent moment; obtain the equivalent original other sensor data corresponding to the acquisition moment based on the acquisition moment, the first adjacent moment and the actual original other sensor data; and combine the original lidar sensor data and the equivalent original other sensor data to obtain the initial sensor data.
[0283] In an exemplary embodiment, the initial data acquisition submodule is further used to determine the second adjacent time closest to the collection time from the original satellite positioning data, and to obtain the actual original satellite positioning data collected at the second adjacent time; based on the collection time, the second adjacent time and the actual original satellite positioning data, to obtain the equivalent original satellite positioning data corresponding to the collection time; and to determine the equivalent original satellite positioning data as the initial satellite positioning data.
[0284] Each module in the aforementioned map creation device may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor within a computer device in the form of hardware, or may be stored in a computer device memory in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0285] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 8 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store sensor data, satellite positioning data, sensor positioning data, positioning data sequence, target positioning data, and maps. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a map creation method is implemented.
[0286] Those skilled in the art will understand that Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0287] In an exemplary embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the map creation method of the above embodiment when executing the computer program.
[0288] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the map creation method of the above embodiment is implemented.
[0289] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the map creation method of the above embodiment is implemented.
[0290] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0291] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), quantum computing-based data processing logic devices, artificial intelligence (AI) processors, and the like.
[0292] The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0293] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A map creation method, characterized in that: The method comprises: Obtaining sensor data and satellite positioning data within a target area of a map to be created, and obtaining target positioning data of a current frame of a preset recursive filter; the sensor data includes inertial measurement data; Inputting the sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area; Obtaining first satellite positioning observation data according to the target positioning data of the current frame and a preset first satellite positioning observation data conversion function; Obtaining second satellite positioning observation data based on the target positioning data of the current frame and a preset second satellite positioning observation data conversion function; Obtaining satellite positioning observation residual data according to the first satellite positioning observation data, the second satellite positioning observation data, and the satellite positioning data; Obtaining first sensor positioning observation data based on the target positioning data of the current frame and a preset first sensor positioning observation data conversion function; Obtaining second sensor positioning observation data according to the target positioning data of the current frame and a preset first sensor positioning observation data conversion function; obtaining sensor positioning observation residual data based on the first sensor positioning observation data, the second sensor positioning observation data, and the sensor positioning data; constructing a positioning data sequence according to the inertial measurement data, the satellite positioning observation residual data and the sensor positioning observation residual data; Inputting the positioning data of the current frame in the positioning data sequence into the recursive filter to obtain target positioning data of the target area in the current frame, inputting the positioning data of the next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame is the frame next to the current frame; A map of the target area is created using the target positioning data and sensor data.
2. The method according to claim 1, characterized in that Obtaining satellite positioning observation residual data according to the first satellite positioning observation data, the second satellite positioning observation data, and the satellite positioning data, including: performing data statistics on the satellite positioning data based on the first satellite positioning observation data to obtain satellite positioning observation noise data; using the first satellite positioning observation data and the satellite positioning observation noise data to obtain third satellite positioning observation data; The difference between the third satellite positioning observation data and the second satellite positioning observation data is used as the satellite positioning observation residual data.
3. The method according to claim 1, characterized in that Obtaining sensor positioning observation residual data based on the first sensor positioning observation data, the second sensor positioning observation data, and the sensor positioning data, including: performing data statistics on the sensor positioning data according to the first sensor positioning observation data to obtain sensor positioning observation noise data; using the first sensor positioning observation data and the sensor positioning observation noise data to obtain third sensor positioning observation data; The difference between the third sensor positioning observation data and the second sensor positioning observation data is used as the sensor positioning observation residual data.
4. The method according to any one of claims 1 to 3, characterized in that Constructing the positioning data sequence according to the inertial measurement data, the satellite positioning observation residual data, and the sensor positioning observation residual data, comprising: Acquiring a first acquisition frequency of the satellite positioning observation residual data, and acquiring a second acquisition frequency of the sensor positioning observation residual data; performing data interpolation on the satellite positioning observation residual data and the sensor positioning observation residual data according to a relative magnitude relationship between the first acquisition frequency and the second acquisition frequency to obtain an initial positioning data sequence; The inertial measurement data is used as the positioning data of the first frame and added to the initial positioning data sequence to obtain the positioning data sequence.
5. The method according to claim 1, wherein Creating a map of the target area using the target positioning data and sensor data includes: Obtaining positioning pose vertices according to the target positioning data, and obtaining point cloud segment vertices according to the sensor data; Obtaining a relative transformation relationship between the vertices of the point cloud fragment between two adjacent frames, and using the relative transformation relationship as a point cloud edge; the point cloud edge is used to represent the constraint relationship between the vertices of the point cloud fragment between two adjacent frames; Obtaining a pose edge between the positioning pose vertex and the corresponding point cloud segment vertex; the pose edge is used to represent the constraint of the target positioning data on the pose of the point cloud segment vertex; A map corresponding to the target area is created based on the positioning pose vertices, the point cloud segment vertices, the point cloud edges, and the pose edges.
6. The method according to claim 5, characterized in that Creating a map corresponding to the target area based on the positioning pose vertices, the point cloud segment vertices, the point cloud edges, and the pose edges includes: Constructing an original map corresponding to the target area according to the positioning pose vertices, the point cloud segment vertices, the point cloud edges, and the pose edges; Acquire predicted point cloud edges and predicted pose edges based on the target positioning data; Obtaining the sum of squared errors between the edges according to the point cloud edges, the predicted point cloud edges, the pose edges, and the predicted pose edges; Position adjustment is performed on the positioning pose vertices and point cloud fragment vertices in the original map until the sum of squared errors reaches a minimum value, and the original map at this time is determined as the map corresponding to the target area.
7. The method according to claim 1, characterized in that Obtain sensor data and satellite positioning data within the target area of the map to be created, including: Acquire raw sensor data and raw satellite positioning data within the target area; the raw sensor data includes raw lidar sensor data and raw other sensor data; Obtaining initial sensor data based on the acquisition time of the original lidar sensor data and the original other sensor data, and obtaining initial satellite positioning data based on the acquisition time and the original satellite positioning data; The sensor data and the satellite positioning data are acquired according to the initial sensor data and the initial satellite positioning data.
8. The method according to claim 7, characterized in that Based on the acquisition time of the original lidar sensor data and the original other sensor data, initial sensor data is obtained, including: Determine a first adjacent time closest to the acquisition time from the original other sensor data, and obtain actual original other sensor data corresponding to the first adjacent time; Acquire equivalent original other sensor data corresponding to the collection time according to the collection time, the first adjacent time, and the actual original other sensor data; The original lidar sensor data and equivalent original other sensor data are combined to obtain the initial sensor data.
9. The method according to claim 7, characterized in that Obtaining initial satellite positioning data according to the acquisition time and the original satellite positioning data includes: Determine a second adjacent time closest to the collection time from the original satellite positioning data, and obtain the actual original satellite positioning data collected at the second adjacent time; Based on the collection time, the second adjacent time and the actual original satellite positioning data, acquiring equivalent original satellite positioning data corresponding to the collection time; The equivalent original satellite positioning data is determined as the initial satellite positioning data.
10. A map creation device, characterized in that: The device comprises: A data acquisition module, configured to acquire sensor data and satellite positioning data within a target area of a map to be created, and to acquire target positioning data of a preset recursive filter in a current frame; the sensor data includes inertial measurement data; a sensor positioning data acquisition module, configured to input the sensor data into a preset sensor positioning data acquisition model to obtain sensor positioning data corresponding to the target area; a positioning data sequence construction module, configured to obtain first satellite positioning observation data based on the target positioning data of the current frame and a preset first satellite positioning observation data conversion function; obtain second satellite positioning observation data based on the target positioning data of the current frame and a preset second satellite positioning observation data conversion function; obtain satellite positioning observation residual data based on the first satellite positioning observation data, the second satellite positioning observation data, and the satellite positioning data; obtain first sensor positioning observation data based on the target positioning data of the current frame and a preset first sensor positioning observation data conversion function; obtain second sensor positioning observation data based on the target positioning data of the current frame and the preset first sensor positioning observation data conversion function; obtain sensor positioning observation residual data based on the first sensor positioning observation data, the second sensor positioning observation data, and the sensor positioning data; and construct a positioning data sequence based on the inertial measurement data, the satellite positioning observation residual data, and the sensor positioning observation residual data; a serial fusion module, configured to input the positioning data of a current frame in the positioning data sequence into the recursive filter to obtain target positioning data of the target area in the current frame, and input the positioning data of a next frame in the positioning data sequence and the target positioning data of the current frame into the recursive filter to obtain target positioning data of the target area in the next frame; the next frame being the next frame of the current frame; A map creation module is used to create a map of the target area using the target positioning data and sensor data.
11. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.