SLAM mapping and positioning method and system for look-around lane line of automatic driving vehicle
Through visual circumferential lane line perception and ICP registration, SLAM mapping and positioning are optimized, which solves the problems of high cost and poor robustness of SLAM technology in autonomous driving, and realizes lightweight and robust pose reference provision.
Patent Information
- Application Number
- CN202411253798.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2024-12-13
AI Technical Summary
Existing SLAM technology is costly and poorly robust in autonomous vehicles, making it difficult to achieve robust positioning while controlling costs and map storage space.
Using SLAM mapping and positioning methods based on visual circumvention lane lines, the lane line point cloud map and global positioning are optimized through source data initialization, visual lane line perception, point cloudization, ICP registration and loopback detection, and the number of sensors and cost.
It realizes lightweight vehicle surround view camera and driving information mapping, only saves sparse point cloud location and semantic information, improves robust positioning capabilities, and provides continuous and comprehensive pose reference for autonomous driving.
Smart Images

Figure CN119124136A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of autonomous driving technology, and in particular to a SLAM mapping and positioning method for surround lane lines of an autonomous driving vehicle. Background Art
[0002] SLAM (Simultaneous Localization and Mapping) refers to simultaneous positioning and mapping, a technology that simultaneously realizes the positioning of the machine itself and the construction of the environmental map. The principle is to use sensors such as cameras, lidar, inertial measurement units, etc. to collect environmental information, and then use algorithms to fuse this information to determine the location of the device in an unknown environment and build an environmental map.
[0003] SLAM plays a vital role in the driving process of autonomous vehicles. It can provide real-time vehicle position and posture information for the vehicle. The defined positioning features can provide the vehicle with a posture reference, and optimize the subsequent planning and vehicle control of the vehicle, thereby promoting the realization of autonomous driving. Therefore, SLAM technology is a key technology in the field of autonomous driving.
[0004] At present, SLAM of vehicle-mounted sensors is mostly carried out using traditional feature extraction methods, which have high computing power and cost, limited robustness, and cannot provide good posture reference guarantees: such as vision-based ORB-SLAM, which has good engineering and simple deployment, but is affected by the characteristics of the ORB operator, etc., and is difficult to adapt to scenes with poor image gradient changes, and the positioning map occupies a large space; the point cloud SLAM based on lidar has a smaller positioning map, but is limited by the point cloud registration problem and has limited robustness; the fusion SLAM based on vision / radar combined with GPS / inertial navigation equipment has a higher algorithm robustness in complex scenes, but the cost of multiple sensors is also high.
[0005] With the development of autonomous driving technology and breakthroughs in perception, fusion and positioning, how to control costs and map storage space while achieving robust positioning in the process of SLAM mapping and positioning will provide a better reference guarantee for autonomous driving. Summary of the invention
[0006] The technical problem to be solved by the present invention is to provide a SLAM mapping and positioning method and system for autonomous driving vehicle surround lane lines, which can control costs and map storage space during SLAM mapping and positioning, and achieve robust positioning, providing better reference guarantee for autonomous driving.
[0007] In order to solve the above technical problems, the first technical solution adopted by the present invention is to provide a SLAM mapping and positioning method for surround lane lines of an autonomous driving vehicle, comprising the following steps:
[0008] S1: Source data initialization, including integration of vehicle driving information and updating of transformation matrix, inspection and point clouding based on visual surround lane line perception results;
[0009] S2: Calculate the lane line attributes based on the visual lane line perception results in step S1, and align the lane line point clouds at different times to the vehicle body system at the initial time in combination with the input of the transformation matrix. Perform ICP registration calculation on the point cloud in this coordinate system and output the local pose optimization result. Perform loop detection on the successfully registered results. If the loop conditions are met, perform point cloud and global pose optimization. For the unsuccessful registration results, perform pose estimation in combination with the vehicle driving information, and finally obtain the point cloud map and global positioning pose update results.
[0010] S3: The point cloud map and global positioning pose update results are used as one of the input values for SLAM mapping and positioning at the next moment, and the perception and driving information input of step S1 is repeated to continuously update and obtain the latest SLAM mapping and positioning results.
[0011] In a preferred embodiment of the present invention, in step S1, the step of updating the conversion matrix based on the vehicle driving information includes:
[0012] S101: Determine the validity of the vehicle driving information, mainly including whether the input time and parameter range are in compliance;
[0013] S102: Calculate the heading angle, coordinates and transformation matrix of the vehicle based on the starting position through the vehicle speed and yaw rate in the vehicle driving information.
[0014] In a preferred embodiment of the present invention, in step S1, the steps of checking and point clouding based on the visual surround lane line perception result include:
[0015] S111: judging the validity of the lane line mask in the visual surround lane line perception result;
[0016] S112: Based on the effective lane line perception result, the effective lane line is converted into a point cloud. The conversion formula is as follows:
[0017]
[0018] Where (x, y) is the spatial coordinate of the current vehicle body, (u, v) is the horizontal and vertical pixel coordinates on the mask image, width and height are the length and width of the mask image, pixel_x and pixel_y are the length and width resolutions of the mask image pixels in the BEV space, and the lane line point cloud is composed of a set of points (x, y) to form the lane line point cloud P. c .
[0019] In a preferred embodiment of the present invention, in step S2, the lane line attributes are calculated based on the visual lane line perception result in step S1, and the specific steps of aligning the lane line point clouds at different times to the vehicle body system at the initial time in combination with the input of the transformation matrix include:
[0020] S201: performing Euclidean clustering on the lane line point cloud obtained in step S1, distinguishing the attributes of the lane dashed line and the lane edge line based on the clustering result, and retaining the point cloud within the nearest lane edge line range;
[0021] S202: Combined with the transformation matrix obtained in step S1, the point cloud is transformed to the vehicle body system at the initial moment.
[0022] Further, in step S201, the method for retaining the point cloud within the nearest lane edge range includes the following steps:
[0023] S2011: Set the coordinates p1 and p2, where p1 is the vehicle coordinates at the current time t (x1, y1), and p2 is (x2, y2) by the formula Get, where g is the set road grid size, and yaw is the angle formula;
[0024] S2012: For the solid line part in the cluster list C obtained by Euclidean clustering, first traverse point p3 (x3, y3) to calculate the Euclidean distance with p1 And retain the point closest to the vehicle; then solve the left and right relationship S = (x2-x1) × (y3-y1)-(y2-y1) × (x3-x1) through the vector product formula. When S is greater than 0, the solid line is on the left side of the vehicle, and when S is less than 0, the solid line is on the right side of the vehicle. The left and right solid line point clouds closest to the vehicle are retained; finally, the formula is used Calculate the vertical distance D from the closest point p3 to the vehicle body left and D right ;
[0025] S2013: For the dotted part of the cluster list C obtained by Euclidean clustering, we first traverse point p3 (x3, y3) to find the point closest to p1 and the left and right relationship S, and then combine the obtained vertical distance D to retain the points where S is greater than 0 and D < D left The dashed point and S are less than 0 when D<D right The dotted point of
[0026] S2014: Update the lane line point cloud P again by retaining the solid and dashed line points c .
[0027] In a preferred embodiment of the present invention, in step S2, at the initial moment, the specific steps of performing ICP registration calculation on the point cloud and outputting the local pose optimization result under the vehicle body system include:
[0028] S211: Perform adjacent point iterative ICP registration on the lane line point cloud obtained in step S1, set the registration error threshold H, and the registration formula is as follows:
[0029]
[0030] where p′ i is the coordinate point of the original point cloud P′, p i is the coordinate point of the target point cloud P, R and t are the rotation matrix and displacement vector of the pose from P′ to P, and J is the residual value;
[0031] S212: Outputting the result that meets the registration accuracy as a local pose optimization result;
[0032] S213: For the results that do not meet the registration accuracy, the driving information conversion matrix is combined to estimate the pose optimization result.
[0033] In a preferred embodiment of the present invention, in step S2, loop detection is performed on the result of successful registration, and point cloud and global pose optimization is performed if the loop condition is met. For the result of unsuccessful registration, pose estimation is performed in combination with vehicle driving information. The specific steps of finally obtaining the point cloud map and global positioning pose update result include:
[0034] S221: storing the successful registration results including the original point cloud and the registration matrix of the ICP registration result;
[0035] S222: setting the thresholds of loop angle difference and position difference, matching the transformation matrix and the registration result, and starting loop optimization when the position and angle exceed the thresholds;
[0036] S223: The angle and position errors are transferred backwards to optimize the transformation matrix, and the loop-optimized point cloud map and positioning pose results are regenerated through the optimized transformation matrix and the corresponding stored lane line point cloud.
[0037] In order to solve the above technical problems, the second technical solution adopted by the present invention is to provide a SLAM mapping and positioning system for surround lane lines of an autonomous driving vehicle, comprising:
[0038] Source data initialization module, used for source data initialization, including integration processing of vehicle driving information and updating of transformation matrix, and inspection and point clouding based on visual surround lane line perception results;
[0039] An attribute calculation and coordinate alignment module is used to calculate the attributes of the lane line based on the visual lane line perception results in the source data initialization module, and align the lane line point clouds at different times to the body system at the initial time in combination with the input of the transformation matrix;
[0040] A point cloud ICP registration module, used for performing ICP registration calculation on the point cloud under the vehicle body system at the initial moment and outputting a local pose optimization result;
[0041] The point cloud map and global positioning pose result output module is used to perform loop detection on the result of successful registration by the point cloud ICP registration module. If the loop condition is met, point cloud and global pose optimization will be performed. For the unsuccessful registration result, pose estimation will be performed in combination with vehicle driving information, and finally the point cloud map and global positioning pose update result will be obtained;
[0042] The SLAM mapping and positioning result acquisition module is used to use the point cloud map and global positioning pose update results as one of the input values of SLAM mapping and positioning at the next moment, repeat the perception and driving information input of step S1, and continuously update and obtain the latest SLAM mapping and positioning results.
[0043] To solve the above technical problems, the third technical solution adopted by the present invention is: to provide an autonomous driving vehicle surround lane line SLAM mapping and positioning device, including a memory and a processor, the memory is used to store at least one program, and the processor is used to load the at least one program to execute any of the methods described above.
[0044] In order to solve the above technical problems, the fourth technical solution adopted by the present invention is: to provide a storage medium, in which processor-executable instructions are stored, and the processor-executable instructions are used to execute any of the methods described above when executed by the processor.
[0045] The beneficial effects of the present invention are:
[0046] (1) The present invention provides a lightweight on-board surround view camera and a method for mapping and positioning driving information, solving the problem of high cost of using laser radar / multi-sensor fusion;
[0047] (2) The present invention provides a mapping method based on lane semantics and driving information, which only saves sparse point cloud position and semantic information, solving the problem of large space occupied by positioning maps;
[0048] (3) The present invention provides a positioning method based on lane line semantics and driving information, using surround view perception of lane line results as input to solve the problem of poor robustness of mapping and positioning using traditional visual features, and provide a continuous and comprehensive posture reference basis for autonomous driving. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 It is a flow chart of a SLAM mapping and positioning method for a surround lane of an autonomous driving vehicle of the present invention;
[0050] Figure 2It is a structural block diagram of the autonomous driving vehicle surround lane SLAM mapping and positioning system. DETAILED DESCRIPTION
[0051] The preferred embodiments of the present invention are described in detail below in conjunction with the accompanying drawings so that the advantages and features of the present invention can be more easily understood by those skilled in the art, thereby making a clearer and more definite definition of the protection scope of the present invention.
[0052] See also Figure 1 and Figure 2 , the embodiment of the present invention includes:
[0053] A method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle, comprising the following steps:
[0054] S1: Source data initialization, including integration of vehicle driving information and updating of transformation matrix, inspection and point clouding based on visual surround lane line perception results;
[0055] The surround view lane line is mainly defined as the semantic mask result of the lane line perceived in the surround view bird's eye view BEV (Bird's Eye View) splicing space in the current state of the vehicle.
[0056] Furthermore, the specific steps of integrating the vehicle driving information and updating the conversion matrix in step S1 are as follows:
[0057] 1) Determine the validity of vehicle driving information, mainly including whether the input time and parameter range are consistent;
[0058] The validity of the vehicle driving information is determined, and the results with zero or abnormal values for time, vehicle speed and yaw rate are eliminated.
[0059] 2) Calculate the vehicle's heading angle (yaw angle), coordinates, and transformation matrix based on the starting position using the vehicle speed and yaw rate (yawrate) in the vehicle's driving information.
[0060] Basic formula for angle: Where t is the current time (the starting time is set to 0 by default);
[0061] Distance calculation formula: Where speed t is the speed at time t, Δt is the time difference between time t and time t-1;
[0062] Coordinate update: Where (x t ,y t ) is the vehicle coordinate at time t (the default height coordinate z is not updated in the plane);
[0063] Transformation Matrix: Where T t is the current position of the vehicle in the first frame coordinate system [x t ,y t , z t ] T , R t is the rotation matrix calculated based on the yaw angle
[0064] Furthermore, the specific steps of checking and point clouding based on the surround lane line perception results in step S1 are as follows:
[0065] 1) Determine the validity of the lane mask in the perception result, mainly including whether there is a part in the mask image with the same grayscale value as the lane setting value;
[0066] In specific implementation, the lane line mask value is set to 255, the mask image is traversed pixel by pixel, and the mask images that do not have a grayscale value of 255 are removed.
[0067] 2) Based on the effective lane line perception results, the lane line is converted into a point cloud.
[0068] Conversion formula:
[0069] Where (x, y) is the spatial coordinate of the current vehicle body, (u, v) is the horizontal and vertical pixel coordinates on the mask image, width and height are the length and width of the mask image, pixel_x and pixel_y are the length and width resolutions of the mask image pixels in the BEV space, and the lane line point cloud is composed of a set of points (x, y) to form the lane line point cloud P. c .
[0070] In the specific implementation, the width and height of the mask image are set to 512 pixels. Based on the road grid size g (the default is 0.1m) and the length and width resolutions of the mask image pixels in the BEV space, pixel_x and pixel_y (set to 0.05m in the specific implementation), the step size of the traversal pixels is determined to be 2 based on the step size formula d=g / pixel, and then the image space is traversed based on the step size, retaining the coordinates (u, v) with pixel grayscale values equal to 255.
[0071] S2: Calculate the lane line attributes based on the visual lane line perception results in step S1, and align the lane line point clouds at different times to the vehicle body system at the initial time in combination with the input of the transformation matrix. Perform ICP registration calculation on the point cloud in this coordinate system and output the local pose optimization result. Perform loop detection on the successfully registered results. If the loop conditions are met, perform point cloud and global pose optimization. For the unsuccessful registration results, perform pose estimation in combination with the vehicle driving information, and finally obtain the point cloud map and global positioning pose update results.
[0072] Furthermore, the steps of calculating the lane line attributes in step S2 and aligning the point clouds at different times are as follows:
[0073] 1) Performing Euclidean clustering on the lane line point cloud obtained in step S1, distinguishing the attributes of the lane dashed line and the lane edge line based on the clustering result, and retaining the point cloud within the nearest lane edge line range;
[0074] The steps of Euclidean clustering include:
[0075] (1) Set the Euclidean clustering limit, which is set to 0.5m in practice;
[0076] (2) Set the cluster list C and the checked point cloud queue Q;
[0077] (3) For the lane line point cloud P c Every point p in i Follow these steps:
[0078] a.P i Add to the current queue Q;
[0079] b. For each p in Q i Based on the set clustering limit as radius, search for the nearest neighbor point cloud set And for each nearest neighbor point cloud Check whether the point has been processed, if not, add it to Q;
[0080] c. When all points in the list in Q have been processed, add Q to the cluster list C and clear Q;
[0081] (4) When point cloud P c After all the points in are processed, clustering is completed and the cluster list C is output.
[0082] The steps of lane line attribute calculation include:
[0083] (1) Setting the dashed line length threshold, which is set to 5m in specific implementation;
[0084] (2) For the cluster list C, traverse the point set to find the maximum length dis of each list point cloud;
[0085] (3) For points where dis is less than the dashed line length threshold, the attribute is set to a dashed line, otherwise it is set to a solid line.
[0086] Specifically, the calculation process of point cloud retention is as follows:
[0087] (1) Set the coordinates p1 and p2, where p1 is the vehicle coordinates at the current time t (x1, y1) and p2 is (x2, y2) by the formula Get, where g is the set road grid size and yaw is the angle formula Get.
[0088] (2) For the solid line part in the cluster list C, first traverse point p3 (x3, y3) and calculate the Euclidean distance with p1 And retain the point with the closest distance (limited to 1.5 to 10 meters in the specific implementation process), and then solve the left and right relationship S = (x2-x1) × (y3-y1)-(y2-y1) × (x3-x1) through the vector product formula. When S is greater than 0, the solid line is on the left side of the vehicle, and when S is less than 0, the solid line is on the right side of the vehicle. The left and right solid line point clouds closest to the vehicle (limited to 1.5 to 10 meters in the specific implementation process) are retained, and finally the formula is used. Calculate the vertical distance D from the closest point p3 to the vehicle body left and D right .
[0089] (3) For the dotted part in the cluster list C, refer to the calculation logic of the solid line above. Similarly, first traverse point p3 (x3, y3), find the point closest to p1 and the left and right relationship S, and then combine the obtained vertical distance D, and retain the points where S is greater than 0 and D < D 1eft The dashed point and S are less than 0 when D<D right The dotted line point.
[0090] Re-update the lane line point cloud P by retaining the solid and dashed line points c .
[0091] 2) Combined with the transformation matrix obtained in step S1, the point cloud is transformed to the vehicle body system at the initial moment;
[0092] Conversion formula:
[0093] Among them, p w is the coordinate in the first frame coordinate system, p c is the coordinate of the vehicle body coordinate system at a certain moment;
[0094] Through the conversion formula, the lane line point cloud is converted to obtain the w The original point cloud P′ is constructed.
[0095] Furthermore, the steps of performing ICP registration calculation on the point cloud in step S2 and outputting the local pose optimization result are as follows:
[0096] 1) Perform iterative close point (ICP) registration on the lane line points obtained in step S1;
[0097] The registration error threshold H is set to be less than 0.2m in specific implementation. The registration formula is as follows:
[0098] formula:
[0099] where p′ i is the coordinate point of the original point cloud P′, p i is the coordinate point of the target point cloud P, R and t are the rotation matrix and displacement vector of the pose from P′ to P. The smaller the residual value J is, the better the match is.
[0100] 2) The result that meets the registration accuracy is output as the local pose optimization result;
[0101] For results that meet the registration error threshold, output is the effective local pose optimization result, the effective local pose optimization result It is the result of pose optimization based on the global pose matrix of the starting pose through the local position cloud ICP, including the cumulative error. The global optimization result of the loop is the result of eliminating the cumulative error.
[0102] 3) For the results that do not meet the registration accuracy, the pose optimization results will be estimated by combining the driving information conversion matrix;
[0103] For results that do not meet the registration error threshold, the transformation matrix RT at the previous successful registration time t-1 will be used. t-1 And the registration matrix Rt t-1 , combined with the transformation matrix RT at the current time t t Solve the current position The formula is as follows:
[0104]
[0105] Furthermore, the specific steps of loop detection and point cloud and global pose optimization in step S2 are as follows:
[0106] 1) Storing the lane line point cloud and the corresponding transformation matrix after registration in step S2;
[0107] Set the point cloud storage list PCs and the transformation matrix storage list RTs;
[0108] For the successfully registered result, the original cloud P c Store it in PCs, and store the pose matrix Rt of the ICP registration result in RTs.
[0109] 2) Set the thresholds of loop angle difference and position difference, match the transformation matrix and the registration result. When the position and angle exceed the threshold, the loop detection is successful and the loop optimization is started. The specific steps are as follows:
[0110] In the specific implementation, the angle threshold DR is set to 2 degrees and the position threshold DT is set to 0.5m.
[0111] Since the original point cloud is generated by the transformation matrix RT, the registration matrix Rt is the difference between the registration result and the transformation matrix, and the loop is calculated based on the registration matrix Rt.
[0112] The angle error Dr is calculated by R in the registration matrix Rt:
[0113]
[0114] Where R ij where i is the row number of the R matrix, j is the column number of the R matrix, and θ x ,θ y ,θ z is the rotation angle corresponding to the xyz coordinate axis;
[0115] The position error Dt is calculated by t in the registration matrix Rt:
[0116]
[0117] where t x t y t z It is the coordinate value corresponding to the xyz axis in the t matrix.
[0118] When the registration is successful for multiple times (set to 3 times in the specific implementation), but Dr is greater than the angle threshold DR and Dt is greater than the position threshold DT, loop optimization is started.
[0119] 3) The angle and position errors are transferred backwards to optimize the transformation matrix. The loop-optimized point cloud map and positioning pose results are regenerated through the optimized transformation matrix and the corresponding stored lane line point cloud.
[0120] Record the current loop time as t';
[0121] Error propagation optimization formula:
[0122]
[0123] Where R′ t is the angle error optimization matrix at time t. The following formula is used for specific implementation:
[0124]
[0125] Where T′ t is the position error optimization matrix at time t, formula:
[0126]
[0127] Then use the conversion formula to obtain the point cloud after loop closure optimization:
[0128] p w =Rt′ t ×R t ×p c
[0129] Where P w Rt′ is the coordinate relative to the first frame coordinate system after loop closure optimization. t is the optimization matrix at time t, Rt t is the registration output matrix at time t, p c The original cloud P of the registered input at the current time t c The coordinates of the following. w The point set constitutes a positioning map, It is the positioning pose matrix after the current loop.
[0130] In summary, the generated positioning map is P w The set of points P ws The positioning pose matrix is output by one of the three steps of global optimization, local optimization and pose estimation. If it goes through the loop optimization step, the positioning pose matrix RT is Secondly, after the local optimization step, the positioning pose matrix RT is Finally, if the above two steps are not satisfied, the pose estimation step will be performed and the pose matrix RT will be output as
[0131] S3: The point cloud map and global positioning pose update results are used as one of the input values for SLAM mapping and positioning at the next moment, and the perception and driving information input of step S1 is repeated to continuously update and obtain the latest SLAM mapping and positioning results.
[0132] See also Figure 2 The present invention also provides a SLAM mapping and positioning system for autonomous driving vehicle surround lane lines, including:
[0133] Source data initialization module, used for source data initialization, including integration processing of vehicle driving information and updating of transformation matrix, and inspection and point clouding based on visual surround lane line perception results;
[0134] An attribute calculation and coordinate alignment module is used to calculate the attributes of the lane line based on the visual lane line perception results in the source data initialization module, and align the lane line point clouds at different times to the body system at the initial time in combination with the input of the transformation matrix;
[0135] A point cloud ICP registration module, used for performing ICP registration calculation on the point cloud under the vehicle body system at the initial moment and outputting a local pose optimization result;
[0136] The point cloud map and global positioning pose result output module is used to perform loop detection on the result of successful registration by the point cloud ICP registration module. If the loop condition is met, point cloud and global pose optimization will be performed. For the unsuccessful registration result, pose estimation will be performed in combination with vehicle driving information, and finally the point cloud map and global positioning pose update result will be obtained;
[0137] The SLAM mapping and positioning result acquisition module is used to use the point cloud map and global positioning pose update results as one of the input values of SLAM mapping and positioning at the next moment, repeat the perception and driving information input of step S1, and continuously update and obtain the latest SLAM mapping and positioning results.
[0138] The autonomous driving vehicle surround lane line SLAM mapping and positioning system of this example can execute the autonomous driving vehicle surround lane line SLAM mapping and positioning method provided by the present invention, and can execute any combination of implementation steps of the method example, and has the corresponding functions and beneficial effects of the method.
[0139] An embodiment of the present invention also provides a SLAM mapping and positioning device for surround lane lines of an autonomous driving vehicle, comprising a memory and a processor, wherein the memory is used to store at least one program, and the processor is used to load the at least one program to execute the method as described above.
[0140] An embodiment of the present invention further provides a computer-readable storage medium, in which processor-executable instructions are stored. When the processor-executable instructions are executed by the processor, they are used to execute the method described above.
[0141] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0142] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0143] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0144] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0145] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the relevant field should understand that the specific implementation methods of the present invention can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.
Claims
1. A SLAM mapping and positioning method for surround lane lines of an autonomous driving vehicle, characterized in that: The following steps are involved: S1: Source data initialization, including integration of vehicle driving information and updating of transformation matrix, inspection and point clouding based on visual surround lane line perception results; S2: Calculate the lane line attributes based on the visual lane line perception results in step S1, and align the lane line point clouds at different times to the vehicle body system at the initial time in combination with the input of the transformation matrix. Perform ICP registration calculation on the point cloud in this coordinate system and output the local pose optimization result. Perform loop detection on the successfully registered results. If the loop conditions are met, perform point cloud and global pose optimization. For the unsuccessful registration results, perform pose estimation in combination with the vehicle driving information, and finally obtain the point cloud map and global positioning pose update results. S3: The point cloud map and global positioning pose update results are used as one of the input values for SLAM mapping and positioning at the next moment, and the perception and driving information input of step S1 is repeated to continuously update and obtain the latest SLAM mapping and positioning results.
2. The method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle according to claim 1, characterized in that: In step S1, the steps of integrating the vehicle driving information and updating the conversion matrix include: S101: Determine the validity of the vehicle driving information, mainly including whether the input time and parameter range are in compliance; S102: Calculate the heading angle, coordinates and transformation matrix of the vehicle based on the starting position through the vehicle speed and yaw rate in the vehicle driving information.
3. The method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle according to claim 1, characterized in that: In step S1, the steps of checking and generating point clouds based on the visual surround lane line perception results include: S111: judging the validity of the lane line mask in the visual surround lane line perception result; S112: Based on the effective lane line perception result, the effective lane line is converted into a point cloud. The conversion formula is as follows: Where (x, y) is the spatial coordinate of the current vehicle body, (u, v) is the horizontal and vertical pixel coordinates on the mask image, width and height are the length and width of the mask image, pixel_x and pixel_y are the length and width resolutions of the mask image pixels in the BEV space, and the lane line point cloud is composed of a set of points (x, y) to form the lane line point cloud P. c .
4. The method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle according to claim 1, characterized in that: In step S2, the lane line attributes are calculated based on the visual lane line perception result in step S1, and the specific steps of aligning the lane line point clouds at different times to the body system at the initial time in combination with the input of the transformation matrix include: S201: performing Euclidean clustering on the lane line point cloud obtained in step S1, distinguishing the attributes of the lane dashed line and the lane edge line based on the clustering result, and retaining the point cloud within the nearest lane edge line range; S202: Combined with the transformation matrix obtained in step S1, the point cloud is transformed to the vehicle body system at the initial moment.
5. The method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle according to claim 4, characterized in that: In step S201, the method for retaining the point cloud within the nearest lane edge range includes the following steps: S2011: Set the coordinates p1 and p2, where p1 is the vehicle coordinates at the current time t (x1, y1), and p2 is (x2, y2) by the formula Get, where g is the set road grid size, and yaw is the angle formula; S2012: For the solid line part in the cluster list C obtained by Euclidean clustering, first traverse point p3 (x3, y3) to calculate the Euclidean distance with p1 And retain the point closest to the vehicle; then solve the left and right relationship S = (x2-x1) × (y3-y1)-(y2-y1) × (x3-x1) through the vector product formula. When S is greater than 0, the solid line is on the left side of the vehicle, and when S is less than 0, the solid line is on the right side of the vehicle. The left and right solid line point clouds closest to the vehicle are retained; finally, the formula is used Calculate the vertical distance D from the closest point p3 to the vehicle body left and D right ; S2013: For the dotted part of the cluster list C obtained by Euclidean clustering, we first traverse point p3 (x3, y3), find the point closest to p1 and the left and right relationship S, and then combine the obtained vertical distance D to retain the points where S is greater than 0 and D respectively. <D left The dashed point and S is less than 0 under D <D right The dotted point of S2014: Update the lane line point cloud P again by retaining the solid and dashed line points c .
6. The method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle according to claim 1, characterized in that: In step S2, at the initial moment, the specific steps of performing ICP registration calculation on the point cloud and outputting the local pose optimization result under the vehicle body system include: S211: Perform adjacent point iterative ICP registration on the lane line point cloud obtained in step S1, set the registration error threshold H, and the registration formula is as follows: where p′ i is the coordinate point of the original point cloud P′, p i is the coordinate point of the target point cloud P, R and t are the rotation matrix and displacement vector of the pose from P′ to P, and J is the residual value; S212: Outputting the result that meets the registration accuracy as a local pose optimization result; S2 1 3: For the results that do not meet the registration accuracy, the driving information conversion matrix will be combined to estimate the pose optimization result.
7. The method for SLAM mapping and positioning of surround lane lines of an autonomous driving vehicle according to claim 1, characterized in that: In step S2, loop detection is performed on the result of successful registration. If the loop condition is met, point cloud and global pose optimization are performed. For the result of unsuccessful registration, pose estimation is performed in combination with vehicle driving information. The specific steps for finally obtaining the point cloud map and global positioning pose update result include: S221: storing the successful registration results including the original point cloud and the registration matrix of the ICP registration result; S222: setting the thresholds of loop angle difference and position difference, matching the transformation matrix and the registration result, and starting loop optimization when the position and angle exceed the thresholds; S223: The angle and position errors are transferred backwards to optimize the transformation matrix, and the loop-optimized point cloud map and positioning pose results are regenerated through the optimized transformation matrix and the corresponding stored lane line point cloud.
8. A SLAM mapping and positioning system for autonomous driving vehicle surround lane lines, characterized in that: include: Source data initialization module, used for source data initialization, including integration processing of vehicle driving information and updating of transformation matrix, and inspection and point clouding based on visual surround lane line perception results; An attribute calculation and coordinate alignment module is used to calculate the attributes of the lane line based on the visual lane line perception results in the source data initialization module, and align the lane line point clouds at different times to the body system at the initial time in combination with the input of the transformation matrix; A point cloud ICP registration module, used for performing ICP registration calculation on the point cloud under the vehicle body system at the initial moment and outputting a local pose optimization result; The point cloud map and global positioning pose result output module is used to perform loop detection on the result of successful registration by the point cloud ICP registration module. If the loop condition is met, point cloud and global pose optimization will be performed. For the unsuccessful registration result, pose estimation will be performed in combination with vehicle driving information, and finally the point cloud map and global positioning pose update result will be obtained; The SLAM mapping and positioning result acquisition module is used to use the point cloud map and global positioning pose update results as one of the input values of SLAM mapping and positioning at the next moment, repeat the perception and driving information input of step S1, and continuously update and obtain the latest SLAM mapping and positioning results.
9. A SLAM mapping and positioning device for autonomous driving vehicle surround lane lines, characterized in that: The method comprises a memory and a processor, wherein the memory is used to store at least one program, and the processor is used to load the at least one program to execute the method according to any one of claims 1 to 7.
10. A storage medium storing instructions executable by a processor, characterized in that: The processor-executable instructions are used to perform the method according to any one of claims 1 to 7 when executed by the processor.
