Positioning method and apparatus, electronic device, and storage medium
By modeling the position offset and offset uncertainty of autonomous vehicles in the vehicle coordinate system and ignoring the position offset in the vehicle's driving direction, the problem of inaccurate positioning of autonomous vehicles in areas without GPS signals or with limited structural features is solved, thus improving positioning accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- YUNCHUANG ZHIXING TECHNOLOGY (HUZHOU) CO LTD
- Filing Date
- 2023-08-16
- Publication Date
- 2026-07-31
AI Technical Summary
Autonomous vehicles have low positioning accuracy in areas without GPS signals or with limited structural features, especially in open squares or narrow roads where point cloud matching is prone to failure.
By detecting the position coordinates of the autonomous vehicle along the road edge and comparing them with the actual position coordinates in the point cloud map, the position offset is calculated. The position offset and offset uncertainty are modeled in the vehicle coordinate system, and the position offset in the vehicle's driving direction is ignored to correct the position coordinates.
It improves the positioning accuracy of autonomous vehicles in areas with poor GPS signals and limited structural features, and reduces errors during the correction process.
Smart Images

Figure CN117130001B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to a positioning method, device, electronic device and storage medium. Background Technology
[0002] The rapid development of autonomous driving technology has brought convenience to human travel. Currently, autonomous vehicles provide positioning information through a combination of navigation and LiDAR point cloud matching, requiring operation in areas without GPS (Global Positioning System) obstruction or in scenarios with rich structural features that facilitate point cloud matching. In scenarios without GPS signals, the LiDAR on the autonomous vehicle needs to be matched with a pre-built high-precision point cloud map to provide positioning information. In areas with limited structural features, such as open squares or narrow roads with similar features on both sides, point cloud matching is prone to failure, resulting in lower positioning accuracy for autonomous vehicles. Summary of the Invention
[0003] To address the aforementioned technical problems, this application provides a positioning method, apparatus, electronic device, and storage medium.
[0004] According to a first aspect of this application, a positioning method is provided, comprising:
[0005] The road edge of the road where the autonomous vehicle is located is detected, and the first position coordinates of each point on the road edge in the coordinate system of the detection device are obtained.
[0006] Transform the first position coordinates of each point to the world coordinate system to obtain the second position coordinates of each point;
[0007] Obtain the actual position coordinates of each point in the point cloud map, and calculate the position offset between the second position coordinates and the actual position coordinates of each point; the actual position coordinates are the position coordinates in the world coordinate system.
[0008] The position offset of each point is converted to the vehicle coordinate system where the autonomous vehicle is located. The overall offset is determined based on the position offset of each point in the vehicle coordinate system. The overall offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is 0.
[0009] Based on the magnitude of the overall offset, the uncertainty of the overall offset in the vehicle coordinate system is determined; wherein, the uncertainty of the offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is infinite.
[0010] The position coordinates of the unmanned vehicle in the world coordinate system are detected, and the position uncertainty of the first vehicle position coordinates is determined.
[0011] The first vehicle position coordinates are transformed to the vehicle body coordinate system to obtain the second vehicle position coordinates. Based on the second vehicle position coordinates, the position uncertainty, the overall offset, and the offset uncertainty, the first corrected position coordinates of the unmanned vehicle in the vehicle body coordinate system are determined.
[0012] The first corrected position coordinates are transformed to the world coordinate system to obtain the second corrected position coordinates of the unmanned vehicle.
[0013] Optionally, determining the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system based on the second vehicle position coordinates, the position uncertainty, the overall offset, and the offset uncertainty includes:
[0014] The target location coordinates are determined based on the second vehicle location coordinates and the location uncertainty.
[0015] The target offset is determined based on the overall offset and the offset uncertainty.
[0016] Based on the target position coordinates and the target offset, the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system are determined.
[0017] Optionally, determining the target position coordinates based on the second vehicle position coordinates and the position uncertainty includes:
[0018] Substituting the location uncertainty into a first preset function yields a first function value, wherein the first function value is negatively correlated with the location uncertainty;
[0019] The product of the second vehicle position coordinates and the first function value is used to determine the target position coordinates.
[0020] Optionally, determining the target offset based on the overall offset and the offset uncertainty includes:
[0021] Substituting the offset uncertainty into the second preset function yields the second function value, wherein the second function value is negatively correlated with the offset uncertainty;
[0022] The target offset is determined by multiplying the overall offset by the second function value.
[0023] Optionally, determining the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the target position coordinates and the target offset includes:
[0024] The sum of the target position coordinates and the target offset is determined as the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system; or...
[0025] Substituting the position uncertainty and the offset uncertainty into a third preset function yields a third function value; wherein the third function value is negatively correlated with both the position uncertainty and the offset uncertainty.
[0026] The product of the sum of the target position coordinates and the target offset and the third function value is determined as the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system.
[0027] Optionally, determining the overall offset based on the positional offset of each point in the vehicle coordinate system includes:
[0028] The average of the positional offsets of each point in the vehicle coordinate system is determined as the overall offset; or...
[0029] Based on the distance between each point and the autonomous vehicle, a weighted value is assigned to the position offset of each point in the vehicle coordinate system; wherein, the weighted value of the position offset of each point is negatively correlated with the distance between each point and the autonomous vehicle;
[0030] Based on the weighted values, the positional offsets of each point in the vehicle coordinate system are averaged using a weighted average value, and the resulting weighted average value is determined as the overall offset.
[0031] Optionally, the detection device is a camera;
[0032] The process of detecting the road edge of the road where the autonomous vehicle is located, and obtaining the first position coordinates of each point on the road edge in the coordinate system of the detection device, includes:
[0033] The roadside image is obtained by taking pictures of the road edge where the autonomous vehicle is located;
[0034] Based on the position coordinates of each pixel in the road edge image, the first position coordinates of each point in the road edge in the camera coordinate system are obtained;
[0035] Alternatively, the detection device may be a lidar;
[0036] The process of detecting the road edge of the road where the autonomous vehicle is located, and obtaining the first position coordinates of each point on the road edge in the coordinate system of the detection device, includes:
[0037] LiDAR point cloud detection is performed on the road edge where the autonomous vehicle is located to obtain the first position coordinates of each point on the road edge in the LiDAR coordinate system.
[0038] According to a second aspect of this application, a positioning device is provided, comprising:
[0039] The edge position coordinate determination module is used to detect the road edge of the road where the autonomous vehicle is located, and obtain the first position coordinates of each point on the road edge in the coordinate system of the detection device.
[0040] The first coordinate transformation module is used to transform the first position coordinates of each point to the world coordinate system to obtain the second position coordinates of each point.
[0041] The position offset determination module is used to obtain the actual position coordinates of each point in the point cloud map and calculate the position offset between the second position coordinates and the actual position coordinates of each point; the actual position coordinates are the position coordinates in the world coordinate system.
[0042] The second coordinate transformation module is used to transform the position offset of each point to the vehicle coordinate system where the unmanned vehicle is located.
[0043] The overall offset determination module is used to determine the overall offset based on the position offset of each point in the vehicle coordinate system; wherein, the overall offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is 0.
[0044] The offset uncertainty determination module is used to determine the offset uncertainty of the overall offset in the vehicle coordinate system based on the magnitude of the overall offset; wherein the offset uncertainty along the driving direction of the autonomous vehicle in the vehicle coordinate system is infinite.
[0045] The position uncertainty determination module is used to detect the first vehicle position coordinates of the unmanned vehicle in the world coordinate system and determine the position uncertainty of the first vehicle position coordinates;
[0046] The third coordinate transformation module is used to transform the first vehicle position coordinates to the vehicle body coordinate system to obtain the second vehicle position coordinates.
[0047] The corrected position coordinate determination module is used to determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the second vehicle position coordinates, the position uncertainty, the overall offset, and the offset uncertainty.
[0048] The fourth coordinate transformation module is used to transform the first corrected position coordinates to the world coordinate system to obtain the second corrected position coordinates of the unmanned vehicle.
[0049] Optionally, the corrected position coordinate determination module is specifically used to determine the target position coordinates based on the second vehicle position coordinates and the position uncertainty; determine the target offset based on the overall offset and the offset uncertainty; and determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the target position coordinates and the target offset.
[0050] Optionally, the corrected position coordinate determination module is specifically used to determine the target position coordinates based on the second vehicle position coordinates and the position uncertainty through the following steps:
[0051] Substituting the location uncertainty into a first preset function yields a first function value, wherein the first function value is negatively correlated with the location uncertainty;
[0052] The product of the second vehicle position coordinates and the first function value is used to determine the target position coordinates.
[0053] Optionally, the corrected position coordinate determination module is specifically used to determine the target offset based on the overall offset and the offset uncertainty through the following steps:
[0054] Substituting the offset uncertainty into the second preset function yields the second function value, wherein the second function value is negatively correlated with the offset uncertainty;
[0055] The target offset is determined by multiplying the overall offset by the second function value.
[0056] Optionally, the corrected position coordinate determination module is specifically used to determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the target position coordinates and the target offset through the following steps:
[0057] The sum of the target position coordinates and the target offset is determined as the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system; or...
[0058] Substituting the position uncertainty and the offset uncertainty into a third preset function yields a third function value; wherein the third function value is negatively correlated with both the position uncertainty and the offset uncertainty.
[0059] The product of the sum of the target position coordinates and the target offset and the third function value is determined as the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system.
[0060] Optionally, the overall offset determination module is specifically used to determine the overall offset by the average value of the positional offsets of each point in the vehicle coordinate system; or,
[0061] Based on the distance between each point and the autonomous vehicle, a weighted value is set for the position offset of each point in the vehicle coordinate system; wherein, the weighted value of the position offset of each point is negatively correlated with the distance between each point and the autonomous vehicle; based on the weighted value, the position offset of each point in the vehicle coordinate system is averaged, and the resulting weighted average value is determined as the overall offset.
[0062] Optionally, the detection device is a camera;
[0063] The edge position coordinate determination module is specifically used to capture images of the road edge where the autonomous vehicle is located, thereby obtaining a road edge image; and to obtain the first position coordinates of each point on the road edge in the camera coordinate system based on the position coordinates of each pixel in the road edge image.
[0064] Alternatively, the detection device may be a lidar;
[0065] The edge position coordinate determination module is specifically used to perform lidar point cloud detection on the road edge where the autonomous vehicle is located, and obtain the first position coordinates of each point on the road edge in the lidar coordinate system.
[0066] According to a third aspect of this application, an electronic device is provided, comprising: a processor configured to execute a computer program stored in a memory, wherein the computer program, when executed by the processor, implements the method described in the first aspect.
[0067] According to a fourth aspect of this application, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.
[0068] According to a fifth aspect of this application, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to perform the method described in the first aspect.
[0069] The technical solution provided in this application has the following advantages compared with the prior art:
[0070] When locating an autonomous vehicle, the position coordinates of the road edge where the vehicle is located are detected and compared with the actual position coordinates of the road edge in the point cloud map to obtain the position offset. If the position offset uncertainty is set in the world coordinate system, the position offset in the unconstrained direction (i.e., the vehicle's driving direction) is set to 0, and the position offset uncertainty is set to a very large value to approximate infinity, the position coordinates of the autonomous vehicle are corrected using the position offset and the offset uncertainty. Since the position offset and the offset uncertainty have components in both dimensions of the world coordinate system, the greater the offset uncertainty, the greater the error in the correction process. In this embodiment, the position offset and the offset uncertainty can be modeled in the vehicle coordinate system. Since there is no constraint in the vehicle's driving direction (i.e., longitudinal direction), the position offset in the vehicle's driving direction is ignored, i.e., the position offset is 0, even if the corresponding offset uncertainty is infinite. The position offset and the offset uncertainty only have a one-dimensional component in the lateral direction in the vehicle coordinate system, so only the lateral position coordinates need to be corrected. Correcting the coordinates in the vehicle coordinate system and then converting to the world coordinate system can reduce errors during the correction process, improve the accuracy of autonomous vehicle positioning, and make it applicable to areas with poor GPS signals and limited structural features. Attached Figure Description
[0071] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0072] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0073] Figure 1 This is a flowchart of a positioning method in an embodiment of this application;
[0074] Figure 2 This is a schematic diagram illustrating the determination of position offset in an embodiment of this application;
[0075] Figure 3 This is a schematic diagram illustrating the position offset and the uncertainty of position offset in the world coordinate system in the embodiments of this application;
[0076] Figure 4 This is a schematic diagram illustrating the uncertainty of setting the position offset in the world coordinate system in an embodiment of this application.
[0077] Figure 5This is a schematic diagram illustrating the position offset in the world coordinate system and the vehicle coordinate system, respectively, in an embodiment of this application.
[0078] Figure 6 This is a schematic diagram illustrating the position offset and the uncertainty of position offset in the vehicle coordinate system in the embodiments of this application;
[0079] Figure 7 This is a schematic diagram illustrating the uncertainty of setting the position offset in the vehicle coordinate system in an embodiment of this application.
[0080] Figure 8 This is a schematic diagram of the positioning device in one embodiment of this application;
[0081] Figure 9 This is a schematic diagram of the structure of an electronic device in an embodiment of this application. Detailed Implementation
[0082] To better understand the above-mentioned objectives, features, and advantages of this application, the solution of this application will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be combined with each other.
[0083] Many specific details are set forth in the following description in order to provide a full understanding of this application, but this application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some embodiments of this application, and not all embodiments.
[0084] The positioning method, apparatus, electronic device, and storage medium of this application are applicable to autonomous vehicles and can improve the positioning accuracy of autonomous vehicles in areas with poor GPS signals and limited structural features in point cloud maps (such as underground parking lots, tunnels, and alleys). For example, for autonomous sweepers, it can improve the sweeping accuracy, especially the accuracy of sweeping along roadsides and walls.
[0085] See Figure 1 , Figure 1 This is a flowchart of a positioning method in an embodiment of this application, which may include the following steps:
[0086] Step S102: Detect the road edge of the road where the autonomous vehicle is located, and obtain the first position coordinates of each point on the road edge in the coordinate system of the detection device.
[0087] Autonomous vehicles can include detection devices for detecting the edges of the road they are on; these devices can be cameras or lidar. The methods for detecting road edges will differ depending on the detection devices used.
[0088] In one scenario, the detection device is a camera, which captures images of the roadside where the autonomous vehicle is located, obtaining an image of the roadside. Based on the position coordinates of each pixel in the roadside image, the initial position coordinates of each point on the roadside in the camera coordinate system are obtained. In another scenario, the detection device is a LiDAR (Light Detection and Ranging) system, which performs LiDAR point cloud detection on the roadside where the autonomous vehicle is located, obtaining the initial position coordinates of each point on the roadside in the LiDAR coordinate system.
[0089] Step S104: Transform the first position coordinates of each point to the world coordinate system to obtain the second position coordinates of each point.
[0090] When the detection device is a camera, the first position coordinates of each point on the road edge can be projected onto the vehicle coordinate system based on the camera's intrinsic parameters (such as focal length and distortion) and extrinsic parameters (the camera's installation position and orientation relative to the autonomous vehicle), thus obtaining the position coordinates of the road edge in the vehicle coordinate system. Then, based on the autonomous vehicle's position coordinates and attitude information, the position coordinates in the vehicle coordinate system are transformed to the world coordinate system to obtain the second position coordinates.
[0091] When the detection device is a LiDAR, the first position coordinates of each point on the road edge in the LiDAR coordinate system can be projected to the vehicle coordinate system based on the LiDAR's extrinsic parameters (the LiDAR's installation position and orientation relative to the autonomous vehicle), thus obtaining the position coordinates of the road edge in the vehicle coordinate system. Then, based on the autonomous vehicle's position coordinates and attitude information, the position coordinates in the vehicle coordinate system are transformed to the world coordinate system to obtain the second position coordinates.
[0092] The position coordinates of the autonomous vehicle refer to the position coordinates before correction, i.e., the first vehicle position coordinates in the world coordinate system detected in step S112 below. The method for determining the position coordinates and attitude information of the autonomous vehicle will be described in step S112 below.
[0093] Step S106: Obtain the actual position coordinates of each point in the point cloud map, and calculate the position offset between the second position coordinates and the actual position coordinates of each point.
[0094] A point cloud map is a pre-built map containing a set of data points representing 3D shapes or objects in space. The actual position coordinates of each point can be obtained from the point cloud map; these actual position coordinates can be considered accurate coordinates, and they are position coordinates in the world coordinate system. Therefore, by transforming the first position coordinates to a second position coordinate in the world coordinate system using the aforementioned method, and calculating the difference between the second position coordinates and the actual position coordinates of each point, the position offset is obtained.
[0095] See Figure 2 , Figure 2 This is a schematic diagram illustrating the determination of position offset in an embodiment of this application. It can be seen that there is a certain deviation between the detected road edge and the actual road edge, i.e., the position offset.
[0096] Step S108: Convert the position offset of each point to the vehicle coordinate system where the autonomous vehicle is located, and determine the overall offset based on the position offset of each point in the vehicle coordinate system; wherein, the overall offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is 0.
[0097] In this embodiment, the localization of an autonomous vehicle can be determined using observed values (actually detected position coordinates, which are typically inaccurate) and correction values. The localization of an autonomous vehicle includes two key pieces of information: the correction value and the uncertainty of the correction value. The final localization result is directly proportional to the correction value and inversely proportional to the uncertainty of the correction value. Since the reference coordinate system for localization information is the world coordinate system, related technologies describe the correction value and its uncertainty in the world coordinate system. To achieve correction without any observation of the vehicle's direction of travel, the correction value for the vehicle's direction of travel can only be set to 0, and the uncertainty of the correction value for the vehicle's direction of travel can be set to infinity. In practice, the uncertainty of the correction value for the vehicle's direction of travel is approximated by setting a very large value. In the world coordinate system, the greater the uncertainty of the correction value, the greater the error introduced during the correction process.
[0098] See Figure 3 , Figure 3 This is a schematic diagram illustrating the position offset and its uncertainty in the world coordinate system in an embodiment of this application. The dashed double-headed arrows represent position offsets. Since each point has a corresponding position offset, the position offsets of multiple points can form an elliptical region, which represents the uncertainty of the offset. The larger the ellipse, the greater the uncertainty of the offset.
[0099] See Figure 4 , Figure 4 This is a schematic diagram illustrating the uncertainty of position offset in the world coordinate system in an embodiment of this application. If the uncertainty of the correction amount for the vehicle's driving direction is set to infinity, then the uncertainty of the correction amounts for the x-axis and y-axis in the world coordinate system is also infinity, thus introducing a large error during the correction process.
[0100] To avoid the aforementioned problems, in this embodiment of the application, the vehicle coordinates can be expressed in the world coordinate system. The correction amount and its uncertainty are modeled in the vehicle coordinate system. It should be noted that transforming the correction amount to the vehicle coordinate system means that the position coordinates of the autonomous vehicle and... It is also used as the value to be calculated.
[0101] In this embodiment of the application, since each point has a corresponding position offset, the overall offset can be determined based on the position offset of each point in the vehicle coordinate system, and the overall offset can be used as a correction amount.
[0102] In some embodiments, the average positional offset of each point in the vehicle coordinate system can be determined as the overall offset. Alternatively, a weighted value can be assigned to the positional offset of each point in the vehicle coordinate system based on the distance between each point and the autonomous vehicle; wherein the weighted value of the positional offset of each point is negatively correlated with the distance between each point and the autonomous vehicle, that is, the greater the distance, the smaller the weighted value. Then, based on the weighted values, the positional offsets of each point in the vehicle coordinate system are averaged, and the resulting weighted average value is determined as the overall offset. Alternatively, the maximum value among the positional offsets of all points can be determined as the overall offset, etc. This application does not limit the method for determining the overall offset.
[0103] See Figure 5 , Figure 5 This is a schematic diagram illustrating the position offset in both the world coordinate system and the vehicle coordinate system in an embodiment of this application. It can be seen that the 2D position offset in the world coordinate system becomes a 1D position offset after being transformed to the vehicle coordinate system; that is, the overall offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is 0.
[0104] Step S110: Determine the uncertainty of the overall offset in the vehicle coordinate system based on the magnitude of the overall offset; wherein, the uncertainty of the offset along the driving direction of the unmanned vehicle in the vehicle coordinate system is infinite.
[0105] In the vehicle coordinate system O b Below, X b The uncertainty of the positional offset in the direction is infinite, Y b The uncertainty of the directional positional offset can be determined based on the magnitude of the overall offset; the larger the overall offset, the greater the offset uncertainty. Alternatively, the offset uncertainty can also be determined based on empirical values. This is especially relevant when the scene is transformed into a one-dimensional space (i.e., Y). b Under the constraints of direction and position, the uncertainty of the correction quantity can be correctly modeled.
[0106] See Figure 6 , Figure 6This is a schematic diagram illustrating the position offset and its uncertainty in the vehicle coordinate system according to an embodiment of this application. Figure 3 Similarly, the dashed double-headed arrow represents the position offset, which is located in the X direction. b Since there is no component in the direction, and each point has a corresponding position offset, the position offsets of multiple points can form an elliptical region. This elliptical region represents the uncertainty of the offset. The larger the ellipse, the greater the uncertainty of the offset.
[0107] Figure 7 This is a schematic diagram illustrating the uncertainty of positional offset in the vehicle coordinate system in an embodiment of this application. b The positional offset in the direction is 0, and the uncertainty of the offset is infinite. b The positional offset of the direction is the aforementioned overall offset. The uncertainty of the offset can be determined based on the magnitude of the overall offset, or it can be set based on experience.
[0108] Step S112: Detect the first vehicle position coordinates of the unmanned vehicle in the world coordinate system and determine the position uncertainty of the first vehicle position coordinates.
[0109] It should be noted that the localization of autonomous vehicles can be a process of continuous iteration, correction, re-iteration, and re-correction. The method for detecting the first vehicle position coordinates in the world coordinate system can be as follows: obtain the position coordinates of the autonomous vehicle at the previous moment, measure the linear acceleration and rotational angular velocity of the autonomous vehicle through an inertial measurement unit (IMU), and obtain the relative position and attitude of the autonomous vehicle by integrating the linear acceleration and rotational angular velocity. Based on the position coordinates at the previous moment and the relative position and attitude, the first vehicle position coordinates in the world coordinate system can be inferred.
[0110] The uncertainty of the vehicle's position coordinates is related to the length of the recursion time; the longer the recursion time, the greater the uncertainty of the position coordinates. For example, if the position coordinates of the autonomous vehicle are obtained through continuous recursion, the corresponding position uncertainty will be relatively large.
[0111] Step S114: Transform the first vehicle position coordinates to the vehicle body coordinate system to obtain the second vehicle position coordinates, and determine the first corrected position coordinates of the unmanned vehicle in the vehicle body coordinate system based on the second vehicle position coordinates, position uncertainty, overall offset and offset uncertainty.
[0112] Since the position coordinates of the autonomous vehicle are corrected in the vehicle body coordinate system, and the detected first vehicle position coordinates are in the world coordinate system, the first vehicle position coordinates are transformed to the vehicle body coordinate system to obtain the second vehicle position coordinates, which are then corrected. The vehicle's driving direction is unrestricted; therefore, the X-axis of the second vehicle position coordinates is... b The directional component is not corrected; that is, the X-axis of the first corrected position coordinate is obtained after correction. b The position coordinates of the direction are still the X of the second position coordinates. b The position coordinates of the direction.
[0113] Therefore, the position coordinates of the second vehicle need to be corrected, that is, the Y-axis of the position coordinates of the second vehicle needs to be corrected. b The directional components are corrected. The correction method is to adjust the position coordinates of the second vehicle by considering position uncertainty, overall offset, and offset uncertainty.
[0114] In some embodiments, the target position coordinates can be determined based on the second vehicle position coordinates and position uncertainty. The target offset is determined based on the overall offset and offset uncertainty. That is, the second position coordinates are first corrected based on the position uncertainty. The overall offset is then corrected based on the offset uncertainty. Finally, the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system are determined based on the target position coordinates and the target offset.
[0115] Optionally, the position uncertainty can be substituted into a first preset function to obtain a first function value. The first function value is negatively correlated with the position uncertainty; that is, the greater the position uncertainty, the smaller the first function value. The specific form of the first preset function is not limited here. Then, the product of the second vehicle's position coordinates and the first function value is determined as the target position coordinates. The first function value can be a value near 1.
[0116] Similarly, the offset uncertainty is substituted into the second preset function to obtain the second function value. The second function value is negatively correlated with the offset uncertainty; that is, the greater the offset uncertainty, the smaller the second function value. The specific form of the second preset function is not limited here. The product of the overall offset and the second function value is determined as the target offset.
[0117] Finally, the sum of the target position coordinates and the target offset can be directly used to determine the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system. Alternatively, the position uncertainty and offset uncertainty can be substituted into the third preset function to obtain the third function value; the third function value is negatively correlated with both position uncertainty and offset uncertainty. The product of the sum of the target position coordinates and the target offset and the third function value is then used to determine the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system.
[0118] It should be noted that, in addition to the correction methods described above, a correction function can also be pre-constructed. The second vehicle position coordinates, position uncertainty, overall offset, and offset uncertainty can be directly substituted into this correction function to obtain the first corrected position coordinates. The overall concept of the correction function is: the vehicle position coordinates before correction are added to the correction amount to obtain the corrected result. Position uncertainty and offset uncertainty are used to adjust the second vehicle position coordinates and the overall offset. Position uncertainty can adjust the second vehicle position coordinates alone, or both position uncertainty and offset uncertainty can adjust the second vehicle position coordinates simultaneously, with the adjusted position coordinates used as the vehicle position coordinates before correction. Similarly, offset uncertainty can adjust the overall offset alone, or both position uncertainty and offset uncertainty can adjust the overall offset simultaneously, with the adjusted offset used as the correction amount. This application does not limit the specific form of the correction function.
[0119] Step S116: Transform the first corrected position coordinates to the world coordinate system to obtain the second corrected position coordinates of the unmanned vehicle.
[0120] Since the first corrected position coordinates are position coordinates in the vehicle coordinate system, the final corrected position coordinates can be obtained after transforming to the world coordinate system.
[0121] The positioning method of this application can model the position offset and offset uncertainty in the vehicle coordinate system. Since there is no constraint in the vehicle's driving direction (i.e., longitudinal direction), the position offset in the vehicle's driving direction is ignored, that is, the position offset is 0, even if the corresponding offset uncertainty is infinite. The position offset and offset uncertainty only have a one-dimensional lateral component in the vehicle coordinate system, so only the lateral position coordinate needs to be corrected. After correction in the vehicle coordinate system, the system is transformed to the world coordinate system, which can reduce the error in the correction process and improve the accuracy of autonomous vehicle positioning. This method is applicable to areas with poor GPS signals and limited structural features.
[0122] Corresponding to the above method embodiments, this application also provides a positioning device, see [link to relevant documentation]. Figure 8 The positioning device 800 includes:
[0123] The edge position coordinate determination module 802 is used to detect the road edge of the road where the autonomous vehicle is located, and obtain the first position coordinates of each point on the road edge in the coordinate system of the detection device.
[0124] The first coordinate transformation module 804 is used to transform the first position coordinates of each point to the world coordinate system to obtain the second position coordinates of each point.
[0125] The position offset determination module 806 is used to obtain the actual position coordinates of each point in the point cloud map and calculate the position offset between the second position coordinates and the actual position coordinates of each point; the actual position coordinates are the position coordinates in the world coordinate system.
[0126] The second coordinate transformation module 808 is used to transform the position offset of each point to the vehicle coordinate system where the autonomous vehicle is located.
[0127] The overall offset determination module 810 is used to determine the overall offset based on the position offset of each point in the vehicle coordinate system; the overall offset along the driving direction of the unmanned vehicle in the vehicle coordinate system is 0.
[0128] The offset uncertainty determination module 812 is used to determine the offset uncertainty of the overall offset in the vehicle coordinate system based on the magnitude of the overall offset; wherein, the offset uncertainty along the driving direction of the unmanned vehicle in the vehicle coordinate system is infinite.
[0129] The position uncertainty determination module 814 is used to detect the first vehicle position coordinates of the unmanned vehicle in the world coordinate system and determine the position uncertainty of the first vehicle position coordinates.
[0130] The third coordinate transformation module 816 is used to transform the first vehicle position coordinates to the vehicle body coordinate system to obtain the second vehicle position coordinates.
[0131] The corrected position coordinate determination module 818 is used to determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the second vehicle position coordinates, position uncertainty, overall offset and offset uncertainty;
[0132] The fourth coordinate transformation module 820 is used to transform the first corrected position coordinates to the world coordinate system to obtain the second corrected position coordinates of the unmanned vehicle.
[0133] Optionally, the corrected position coordinate determination module 818 is specifically used to determine the target position coordinates based on the second vehicle position coordinates and position uncertainty; determine the target offset based on the overall offset and offset uncertainty; and determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the target position coordinates and target offset.
[0134] Optionally, the position coordinate determination module is specifically used to determine the target position coordinates based on the position coordinates of the second vehicle and the position uncertainty through the following steps:
[0135] Substituting the location uncertainty into the first preset function yields the first function value, where the first function value is negatively correlated with the location uncertainty.
[0136] The product of the second vehicle's position coordinates and the first function value is used to determine the target position coordinates.
[0137] Optionally, the position coordinate determination module 818 is specifically used to determine the target offset based on the overall offset and the offset uncertainty through the following steps:
[0138] Substituting the offset uncertainty into the second preset function yields the second function value, where the second function value is negatively correlated with the offset uncertainty.
[0139] The target offset is determined by multiplying the overall offset by the value of the second function.
[0140] Optionally, the corrected position coordinate determination module 818 is specifically used to determine the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system based on the target position coordinates and the target offset through the following steps:
[0141] The sum of the target position coordinates and the target offset is determined as the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system; or...
[0142] Substituting the position uncertainty and offset uncertainty into the third preset function yields the third function value; the third function value is negatively correlated with both the position uncertainty and the offset uncertainty.
[0143] The product of the sum of the target position coordinates and the target offset and the third function value is used to determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system.
[0144] Optionally, the overall offset determination module 810 is specifically used to determine the overall offset by the average value of the positional offsets of each point in the vehicle coordinate system; or,
[0145] Based on the distance between each point and the autonomous vehicle, a weighted value is set for the position offset of each point in the vehicle coordinate system. The weighted value of the position offset of each point is negatively correlated with the distance between each point and the autonomous vehicle. Based on the weighted value, the position offset of each point in the vehicle coordinate system is averaged, and the resulting weighted average value is determined as the overall offset.
[0146] Optionally, the detection device is a camera;
[0147] The edge position coordinate determination module 802 is specifically used to capture images of the road edge where the autonomous vehicle is located, and obtain road edge images; based on the position coordinates of each pixel in the road edge image, the first position coordinates of each point in the road edge in the camera coordinate system are obtained.
[0148] Alternatively, the detection device is a lidar;
[0149] The edge position coordinate determination module 802 is specifically used to perform lidar point cloud detection on the road edge where the autonomous vehicle is located, and obtain the first position coordinates of each point on the road edge in the lidar coordinate system.
[0150] The specific details of each module or unit in the above-mentioned device have been described in detail in the corresponding methods, so they will not be repeated here.
[0151] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0152] In an exemplary embodiment of this application, an electronic device is also provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the positioning method described in this exemplary embodiment.
[0153] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. It should be noted that... Figure 9 The electronic device 900 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0154] like Figure 9As shown, the electronic device 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage section 908 into a random access memory (RAM) 903. The RAM 903 also stores various programs and data required for system operation. The CPU 901, ROM 902, and RAM 903 are interconnected via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0155] The following components are connected to I / O interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a local area network (LAN) card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to I / O interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 910 as needed so that computer programs read from it can be installed into storage section 908 as needed.
[0156] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 909, and / or installed from removable medium 911. When the computer program is executed by central processing unit 901, it performs the various functions defined in the apparatus of this application.
[0157] In this embodiment of the application, a computer-readable storage medium is also provided, on which a computer program is stored, and when the computer program is executed by a processor, it implements the above-described positioning method.
[0158] It should be noted that the computer-readable storage medium shown in this application can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, radio frequency, etc., or any suitable combination thereof.
[0159] In this embodiment of the application, a computer program product is also provided, which, when run on a computer, causes the computer to execute the above-described positioning method.
[0160] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0161] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A positioning method, characterized by, include: The road edge of the road where the autonomous vehicle is located is detected, and the first position coordinates of each point on the road edge in the coordinate system of the detection device are obtained. Transform the first position coordinates of each point to the world coordinate system to obtain the second position coordinates of each point; Obtain the actual position coordinates of each point in the point cloud map, and calculate the position offset between the second position coordinates and the actual position coordinates of each point; the actual position coordinates are the position coordinates in the world coordinate system. The position offset of each point is converted to the vehicle coordinate system where the autonomous vehicle is located. The overall offset is determined based on the position offset of each point in the vehicle coordinate system. The overall offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is 0. Based on the magnitude of the overall offset, the uncertainty of the overall offset in the vehicle coordinate system is determined; wherein, the uncertainty of the offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is infinite. The position coordinates of the unmanned vehicle in the world coordinate system are detected, and the position uncertainty of the first vehicle position coordinates is determined. The first vehicle position coordinates are transformed to the vehicle body coordinate system to obtain the second vehicle position coordinates. Based on the second vehicle position coordinates, the position uncertainty, the overall offset, and the offset uncertainty, the first corrected position coordinates of the unmanned vehicle in the vehicle body coordinate system are determined. The first corrected position coordinates are transformed to the world coordinate system to obtain the second corrected position coordinates of the unmanned vehicle.
2. The method of claim 1, wherein, The step of determining the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system based on the second vehicle position coordinates, the position uncertainty, the overall offset, and the offset uncertainty includes: The target location coordinates are determined based on the second vehicle location coordinates and the location uncertainty. The target offset is determined based on the overall offset and the offset uncertainty. Based on the target position coordinates and the target offset, the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system are determined.
3. The method of claim 2, wherein, The step of determining the target position coordinates based on the second vehicle position coordinates and the position uncertainty includes: Substituting the location uncertainty into a first preset function yields a first function value, wherein the first function value is negatively correlated with the location uncertainty; The product of the second vehicle position coordinates and the first function value is used to determine the target position coordinates.
4. The method of claim 2, wherein, The step of determining the target offset based on the overall offset and the offset uncertainty includes: Substituting the offset uncertainty into the second preset function yields the second function value, wherein the second function value is negatively correlated with the offset uncertainty; The target offset is determined by multiplying the overall offset by the second function value.
5. The method according to claim 2, characterized in that, Determining the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the target position coordinates and the target offset includes: The sum of the target position coordinates and the target offset is determined as the first corrected position coordinates of the autonomous vehicle in the vehicle coordinate system; or... Substituting the position uncertainty and the offset uncertainty into a third preset function yields a third function value; wherein the third function value is negatively correlated with both the position uncertainty and the offset uncertainty. The product of the sum of the target position coordinates and the target offset and the third function value is determined as the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system.
6. The method according to claim 1, characterized in that, The determination of the overall offset based on the positional offset of each point in the vehicle coordinate system includes: The average of the positional offsets of each point in the vehicle coordinate system is determined as the overall offset; or... Based on the distance between each point and the autonomous vehicle, a weighted value is assigned to the position offset of each point in the vehicle coordinate system; wherein, the weighted value of the position offset of each point is negatively correlated with the distance between each point and the autonomous vehicle; Based on the weighted values, the positional offsets of each point in the vehicle coordinate system are averaged using a weighted average value, and the resulting weighted average value is determined as the overall offset.
7. The method according to claim 1, characterized in that, The detection device is a camera; The process of detecting the road edge of the road where the autonomous vehicle is located, and obtaining the first position coordinates of each point on the road edge in the coordinate system of the detection device, includes: The roadside image is obtained by taking pictures of the road edge where the autonomous vehicle is located; Based on the position coordinates of each pixel in the road edge image, the first position coordinates of each point in the road edge in the camera coordinate system are obtained; Alternatively, the detection device may be a lidar; The process of detecting the road edge of the road where the autonomous vehicle is located, and obtaining the first position coordinates of each point on the road edge in the coordinate system of the detection device, includes: LiDAR point cloud detection is performed on the road edge where the autonomous vehicle is located to obtain the first position coordinates of each point on the road edge in the LiDAR coordinate system.
8. A positioning device, characterized in that, The device includes: The first position coordinate determination module is used to detect the road edge of the road where the unmanned vehicle is located, and obtain the first position coordinates of each point on the road edge in the coordinate system of the detection device. The first coordinate transformation module is used to transform the first position coordinates of each point to the world coordinate system to obtain the second position coordinates of each point. The position offset determination module is used to obtain the actual position coordinates of each point in the point cloud map and calculate the position offset between the second position coordinates and the actual position coordinates of each point; the actual position coordinates are the position coordinates in the world coordinate system. The second coordinate transformation module is used to transform the position offset of each point to the vehicle coordinate system where the unmanned vehicle is located. The overall offset determination module is used to determine the overall offset based on the position offset of each point in the vehicle coordinate system; wherein, the overall offset along the driving direction of the autonomous vehicle in the vehicle coordinate system is 0. The offset uncertainty determination module is used to determine the offset uncertainty of the overall offset in the vehicle coordinate system based on the magnitude of the overall offset; wherein the offset uncertainty along the driving direction of the unmanned vehicle in the vehicle coordinate system is infinite. The position uncertainty determination module is used to detect the first vehicle position coordinates of the unmanned vehicle in the world coordinate system and determine the position uncertainty of the first vehicle position coordinates; The third coordinate transformation module is used to transform the first vehicle position coordinates to the vehicle body coordinate system to obtain the second vehicle position coordinates. The corrected position coordinate determination module is used to determine the first corrected position coordinates of the unmanned vehicle in the vehicle coordinate system based on the second vehicle position coordinates, the position uncertainty, the overall offset, and the offset uncertainty. The fourth coordinate transformation module is used to transform the first corrected position coordinates to the world coordinate system to obtain the second corrected position coordinates of the unmanned vehicle.
9. An electronic device, characterized in that, include: A processor for executing a computer program stored in a memory, wherein the computer program, when executed by the processor, implements the method of any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-7.