Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The flow diagrams depicted in the figures are merely illustrative and not necessarily all of the elements and operations/steps are included or performed in the order described. For example, some operations/steps may be further divided, combined, or partially combined, so that the order of actual execution may be changed according to actual situations.
Some embodiments of the present application are described in detail below with reference to the accompanying drawings. The following embodiments and features of the embodiments may be combined with each other without conflict.
Referring to fig. 1, fig. 1 is a schematic flowchart illustrating steps of a high-precision map positioning method according to an embodiment of the present application. The high-precision map positioning method can be applied to a movable platform or a driving system. The movable platform comprises a vehicle and an aircraft, the aircraft comprises an unmanned aerial vehicle and an unmanned aerial vehicle, the vehicle comprises a piloted vehicle, an unmanned vehicle and the like, and the unmanned aerial vehicle comprises a rotor type unmanned aerial vehicle, such as a four-rotor unmanned aerial vehicle, a six-rotor unmanned aerial vehicle and an eight-rotor unmanned aerial vehicle, a fixed-wing unmanned aerial vehicle, a combination of a rotary wing type unmanned aerial vehicle and a fixed-wing unmanned aerial vehicle, and the method is not limited herein.
Specifically, as shown in fig. 1, the high-precision map positioning method includes steps S101 to S103.
S101, acquiring an offline high-precision map and establishing an online point cloud map, wherein the offline high-precision map comprises a plurality of first altitude sections.
The mobile platform acquires three-dimensional point cloud data of a traveling area through a high-precision laser radar, and processes the acquired three-dimensional point cloud data through a high-precision inertial navigation system and a point cloud registration algorithm to generate an off-line high-precision map. Or acquiring three-dimensional point cloud data of a traveling area through a high-precision laser radar, acquiring attitude data of a movable platform through an inertial measurement unit (Inertial Measurement Unit, IMU), acquiring position data of the movable platform through a global positioning system (Global Positioning System, GPS), correcting the acquired three-dimensional point cloud data based on the attitude data and the position data, and generating an off-line high-precision map based on the corrected three-dimensional point cloud data.
In the moving process of the movable platform, an off-line high-precision map is obtained, three-dimensional point cloud data of objects around the movable platform are collected in real time through a laser radar, and an on-line point cloud map is built based on the three-dimensional point cloud data collected in real time. The laser radar can determine three-dimensional point cloud data of the object based on the distance between the laser emission point and the reflection point of the emitted laser on the object and the emission direction of the laser emission point. The three-dimensional point cloud data of the object around the movable platform comprises data such as the distance between the object and the movable platform, the angle between the object and the movable platform, and the three-dimensional coordinates of the object.
The off-line high-precision map comprises a plurality of first height sections, wherein the height of each grid in the off-line high-precision map is respectively located in the corresponding first height section, the first height sections are obtained by dividing according to the height of the three-dimensional point cloud, the height interval values of the first height sections can be the same or different, and the height interval values are the height difference values of two end points of the height sections. It should be noted that the height interval value and the number of height intervals may be set based on actual situations, which is not particularly limited in this application. For example, when the height is 26 meters, the divided first height sections are respectively [0,1 ], [1,5 ], [5,9 ], [9, 14 ], [14, 18 ], [18, 22), and [22, 26] for a total of 7 first height sections.
S102, determining a candidate positioning result set, and carrying out rasterization on the online point cloud map according to each candidate positioning result in the candidate positioning result set to obtain online grid maps corresponding to each candidate positioning result, wherein the online grid maps comprise a plurality of second height sections.
The movable platform determines a candidate positioning result set, and performs rasterization processing on the online point cloud map according to each candidate positioning result to obtain an online raster map corresponding to each candidate positioning result, namely, each candidate positioning result in the candidate positioning result set is marked in the online point cloud map, and the map area around each marked candidate positioning result is subjected to rasterization processing to obtain the raster map corresponding to each candidate positioning result.
The online grid map comprises a plurality of second height sections, the height of each grid in the online grid map is respectively located in the corresponding second height section, the second height sections are obtained by dividing according to the height of the three-dimensional point cloud, the height interval values of the second height sections can be identical or different, and the height interval values are the height difference values of two end points of the height sections. It should be noted that the height interval value and the number of height intervals may be set based on actual situations, which is not particularly limited in this application. For example, if the height is 26 meters, the divided second height sections are respectively [0,1 ], [1,5 ], [5,9 ], [9, 14 ], [14, 18 ], [18, 22), and [22, 26] for a total of 7 second height sections.
The number of the first height sections and the second height sections may be the same or different, and the first height sections and the second height sections have a corresponding relationship, and the two end points of the first height sections and the second height sections having the corresponding relationship are the same, which is not particularly limited in this application.
In one embodiment, the determination method of the candidate positioning result set is specifically: acquiring current position data and current posture data of a movable platform; determining a candidate position set according to the current position data; determining a candidate gesture set according to the current gesture data and a preset gesture error value; and determining a candidate positioning result set according to the candidate position set and the candidate gesture set. The current position data of the movable platform are position data output by a positioning system of the movable platform at the current moment, and the current posture data of the movable platform are posture data output by an inertial measurement unit of the movable platform at the current moment. The position data includes geographic position coordinates of the movable platform and the attitude data includes pitch, roll and yaw angles of the movable platform.
In one embodiment, the method for determining the candidate position set according to the current position data is specifically: the movable platform determines the change trend of the current position data and determines the candidate position set according to the change trend of the current position data. Specifically, the change trend can be represented by the gradient value and the gradient direction of the current position data, namely, a preset number of candidate gradient values are obtained along the gradient direction based on the gradient value in a preset unit gradient, and the position information corresponding to each candidate gradient value is determined, so that a candidate position set is determined. It should be noted that the preset unit gradients and the preset number may be set based on actual situations, which are not specifically limited in this application.
In an embodiment, the determination of the candidate pose set may be: calculating the difference value between the attitude angle in the current attitude data and the preset attitude error value, calculating the sum of the attitude angle in the current attitude data and the preset attitude error value, and then determining a candidate attitude set based on the difference value between the attitude angle in the current attitude data and the preset attitude error value and the sum of the attitude angle in the current attitude data and the preset attitude error value, namely taking the difference value between the attitude angle and the preset attitude error value as one endpoint and the sum of the attitude angle and the preset attitude error value as the other endpoint, so as to obtain a candidate attitude angle range, and acquiring a plurality of candidate attitude angles from the candidate attitude angle range by a preset unit attitude angle, thereby forming the candidate attitude set. It should be noted that the preset attitude error value and the unit attitude angle may be set based on actual situations, which are not specifically limited in this application. The candidate gesture set can be rapidly and accurately determined through the current gesture data and the preset gesture error value.
In an embodiment, the determination manner of the candidate gesture set may be: the movable platform determines the position coordinates of the movable platform in the off-line high-precision map according to the current position data, namely, the geographical position coordinates of the movable platform are obtained from the current position data, the geographical position coordinates are marked in the off-line high-precision map, then the position coordinates of objects around the geographical position coordinates in the off-line high-precision map are obtained, and the position coordinates of the movable platform in the off-line high-precision map are determined based on the position coordinates of the objects around the geographical position coordinates in the off-line high-precision map; and determining a candidate position set according to the position coordinates and the preset position error value. The candidate position set can be rapidly and accurately determined through the current position data and the preset position error value.
In one embodiment, the method for determining the candidate positioning result set according to the candidate position set and the candidate gesture set is specifically as follows: and the movable platform selects one candidate position from the candidate position set each time and combines with each candidate gesture in the candidate gesture set until each candidate position in the candidate position set is selected once, and each candidate positioning result obtained by combining is collected as a candidate positioning result set.
In an embodiment, the determination manner of the candidate positioning result set may be: and acquiring a historical positioning result of the movable platform, and determining a candidate positioning result set according to the historical positioning result. The historical positioning result is a positioning result determined by the movable platform at the last moment, and the last moment is spaced from the current moment by a preset time. It should be noted that the preset time may be set based on actual situations, which is not specifically limited in this application.
Specifically, a historical position coordinate and a historical attitude angle are obtained from the historical positioning result; carrying out derivative processing on the historical position coordinates to determine gradient values and gradient directions of the historical position coordinates, and determining a candidate position set according to the gradient values and the gradient directions, namely, obtaining a preset number of candidate gradient values along the gradient directions based on the gradient values in a preset unit gradient mode, and determining position information corresponding to each candidate gradient value, so as to determine the candidate position set;
calculating the difference value of the historical attitude angle and the preset attitude error value, and calculating the sum of the historical attitude angle and the preset attitude error value; taking the difference value of the historical attitude angle and the preset attitude error value as one endpoint, taking the sum of the historical attitude angle and the preset attitude error value as the other endpoint to obtain a candidate attitude angle range, and obtaining a plurality of candidate attitude angles from the candidate attitude angle range by a preset unit attitude angle so as to form a candidate attitude set;
And determining a candidate positioning result set according to the candidate position set and the candidate gesture set, namely, each candidate position is selected from the candidate position set and combined with each candidate gesture in the candidate gesture set each time until each candidate position in the candidate position set is selected once, and collecting each candidate positioning result obtained by combination as the candidate positioning result set. It should be noted that the preset unit gradients, the preset number, the preset attitude error values, and the preset unit attitude angles may be set based on actual situations, which are not specifically limited in this application.
And S103, positioning the movable platform according to a plurality of first height sections in the off-line high-precision map and a plurality of second height sections in the on-line grid map corresponding to each candidate positioning result, and obtaining a first positioning result of the movable platform.
After each candidate positioning result is determined by the movable platform, the movable platform is positioned according to a plurality of first height intervals in the offline high-precision map and a plurality of second height intervals in the online grid map corresponding to each candidate positioning result, and a first positioning result of the movable platform is obtained. The movable platform is positioned through a plurality of first height sections in the off-line high-precision map and a plurality of second height sections in each on-line grid map, so that an accurate positioning result can be obtained, and the accuracy and stability of the high-precision map positioning result can be improved.
In one embodiment, as shown in fig. 2, step S103 specifically includes: substeps S1031 to S1032.
S1031, determining the matching degree corresponding to each candidate positioning result according to a plurality of first altitude intervals in the offline high-precision map and a plurality of second altitude intervals in the online grid map corresponding to each candidate positioning result.
Specifically, determining a state comparison result between each second height section in each online grid map and a corresponding first height section in the offline high-precision map; and counting the number of second height sections with the state comparison result being the preset state comparison result in each online grid map, and taking the number of the second height sections with the state comparison result being the preset state comparison result in each online grid map as the matching degree corresponding to each candidate positioning result. The states of the first altitude section and the second altitude section comprise an occupied state and a non-occupied state, wherein three-dimensional point clouds exist in the first altitude section or the second altitude section in the occupied state, and three-dimensional point clouds do not exist in the first altitude section or the second altitude section in the non-occupied state. The state comparison results comprise states which are different, occupied and unoccupied. Optionally, the preset state comparison result is "all occupied state".
In an embodiment, the determining manner of the matching degree corresponding to each candidate positioning result is specifically: determining a state comparison result between each second height interval in each online non-ground height layer and a corresponding first height interval in each offline non-ground height layer; counting the number of second height intervals in which the state comparison result in each online non-ground height layer is a preset state comparison result; and determining the respective matching degree of each candidate positioning result according to the number of second height intervals, the state comparison result of which is a preset state comparison result, in each online non-ground height layer, namely, the number of second height intervals, the state comparison result of which is a preset state comparison result, in each online non-ground height layer is used as the respective matching degree of each candidate positioning result.
The off-line high-precision map comprises an off-line non-ground height layer, a plurality of first height sections are located on the off-line non-ground height layer, the on-line grid map comprises an on-line non-ground height layer, and a plurality of second height sections are located on the on-line non-ground height layer. The height of the end point of the first height section located on the off-line non-ground height layer and the height of the end point of the second height section located on the on-line non-ground height layer are greater than or equal to a set height threshold, and the height threshold can be set based on practical conditions, which is not particularly limited in the application. Optionally, the height threshold is 1 meter, the height of 26 meters is divided, and the obtained first height sections are [1, 5), [5, 9), [9, 14), [14, 18), [18, 22), and [22, 26] for a total of 6 second height sections, and the obtained second height sections are [1, 5), [5, 9), [9, 14), [14, 18), [18, 22 ], and [22, 26] for a total of 6 second height sections.
In an embodiment, the determining manner of the state comparison result between the first altitude section and the corresponding second altitude section specifically includes: acquiring first state identification information of each first height section in the offline non-ground height layer and acquiring second state identification information of each second height section of each online non-ground height layer; and determining a state comparison result between each second height section in each online non-ground height layer and the corresponding first height section in the offline non-ground height layer according to the first state identification information and each second state identification information. The first state identification information includes a state identifier corresponding to each first altitude interval, the second state identification information includes a state identifier corresponding to each second altitude interval, and the state identifier and the state represented by the state identifier may be set based on actual situations, which is not limited in this application. Optionally, the altitude section with a state identifier of 0 is in a non-occupied state, and the altitude section with a state identifier of 1 is in an occupied state.
Specifically, the state identifier corresponding to each first height section in the first state identification information and the state identifier corresponding to the second height section in the second state identification information are logically and processed, so that a state comparison result between each second height section in each online non-ground height layer and the corresponding first height section in the offline non-ground height layer can be obtained. For example, the number of the first height sections and the number of the second height sections are 7, the first state identification information is 1010101, the second state identification information is 0111101, the 1010101 and 0111101 are logically and logically processed according to the bits to obtain the result 0010100, and the state comparison results between the 7 second height sections and the corresponding first height sections are respectively different in state, both in occupied state, different in state, both in occupied state and different in state.
S1032, selecting one candidate positioning result from the candidate positioning result set as a first positioning result of the movable platform according to the matching degree corresponding to each candidate positioning result.
After determining the respective matching degree of each candidate positioning result, the movable platform determines a first positioning result of the movable platform from the candidate positioning result set according to the respective matching degree of each candidate positioning result, namely, the candidate positioning result with the highest matching degree is used as the first positioning result of the movable platform.
According to the high-precision map positioning method provided by the embodiment, the online point cloud map is subjected to rasterization processing through each candidate positioning result in the candidate positioning result set to obtain the grid map corresponding to each candidate positioning result, and the movable platform is positioned through a plurality of height sections in the offline high-precision map and a plurality of height sections in each online grid map, so that the movable platform can be positioned under the scene that some features are sparse or obvious features are lacking, and the accuracy and stability of the high-precision map positioning result can be improved.
Referring to fig. 3, fig. 3 is a schematic flowchart illustrating steps of another high-precision map positioning method according to an embodiment of the present application.
Specifically, as shown in fig. 3, the high-precision map positioning method includes steps S201 to S205.
S201, acquiring an offline high-precision map and establishing an online point cloud map, wherein the offline high-precision map comprises a plurality of first altitude sections.
In the moving process of the movable platform, an off-line high-precision map is obtained, three-dimensional point cloud data of objects around the movable platform are collected in real time through a laser radar, and an on-line point cloud map is built based on the three-dimensional point cloud data collected in real time. The laser radar can determine three-dimensional point cloud data of the object based on the distance between the laser emission point and the reflection point of the emitted laser on the object and the emission direction of the laser emission point. The three-dimensional point cloud data of the object around the movable platform comprises data such as the distance between the object and the movable platform, the angle between the object and the movable platform, and the three-dimensional coordinates of the object.
S202, determining a candidate positioning result set, and carrying out rasterization on the online point cloud map according to each candidate positioning result in the candidate positioning result set to obtain online grid maps corresponding to each candidate positioning result, wherein the online grid maps comprise a plurality of second height sections.
The movable platform determines a candidate positioning result set, and performs rasterization processing on the online point cloud map according to each candidate positioning result to obtain an online raster map corresponding to each candidate positioning result, namely, each candidate positioning result in the candidate positioning result set is marked in the online point cloud map, and the map area around each marked candidate positioning result is subjected to rasterization processing to obtain the raster map corresponding to each candidate positioning result.
S203, positioning the movable platform according to a plurality of first height sections in the off-line high-precision map and a plurality of second height sections in the on-line grid map corresponding to each candidate positioning result, and obtaining a first positioning result of the movable platform.
After each candidate positioning result is determined by the movable platform, the movable platform is positioned according to a plurality of first height intervals in the offline high-precision map and a plurality of second height intervals in the online grid map corresponding to each candidate positioning result, and a first positioning result of the movable platform is obtained. The movable platform is positioned through a plurality of first height sections in the off-line high-precision map and a plurality of second height sections in each on-line grid map, so that an accurate positioning result can be obtained, and the accuracy and stability of the high-precision map positioning result can be improved.
S204, positioning the movable platform according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result, and obtaining a second positioning result of the movable platform.
And the movable platform positions the movable platform according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result, and a second positioning result of the movable platform is obtained. The online grid map further comprises an online complete height layer, wherein the height of each grid in the online complete height layer is the average height of three-dimensional point clouds in the grids; the off-line high-precision map further comprises an off-line complete height layer, wherein the height of each grid in the off-line complete height layer is the average height of three-dimensional point clouds in the grids.
In one embodiment, as shown in fig. 4, step S204 specifically includes: substeps S2041 to S2042.
S2041, determining the matching degree of each candidate positioning result according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result.
Specifically, the movable platform acquires a local offline complete height layer corresponding to each online complete height layer from the offline complete height layers; and determining the loss cost between each online complete height layer and the corresponding local offline complete height layer according to the height of each grid in each online complete height layer and the height of each grid in the corresponding local offline complete height layer, and taking the loss cost between each online complete height layer and the corresponding local offline complete height layer as the respective corresponding matching degree of each candidate positioning result.
S2042, selecting one candidate positioning result from the candidate positioning result set as a second positioning result of the movable platform according to the matching degree corresponding to each candidate positioning result.
After determining the respective matching degree of each candidate positioning result, selecting one candidate positioning result from the candidate positioning result set as a second positioning result of the movable platform according to the respective matching degree of each candidate positioning result.
The determining mode of the second positioning result specifically includes: the movable platform checks the candidate positioning results in the candidate positioning result set according to the matching degree corresponding to each candidate positioning result; and acquiring the matching degree corresponding to each candidate positioning result passing the verification, and taking the candidate positioning result passing the verification corresponding to the minimum matching degree as a second positioning result of the movable platform. The verification mode of the candidate positioning result specifically comprises the following steps: determining whether the matching degree of the candidate positioning result is smaller than or equal to a preset matching degree threshold value, if the matching degree of the candidate positioning result is smaller than or equal to the preset matching degree threshold value, determining that the candidate positioning result passes the verification, and if the matching degree of the candidate positioning result is larger than the preset matching degree threshold value, determining that the candidate positioning result does not pass the verification. It should be noted that the above matching degree threshold may be set based on practical situations, which is not specifically limited in this application. And taking the candidate positioning result which passes the verification and corresponds to the minimum matching degree as a second positioning result of the movable platform, so that the accuracy of the positioning result can be further improved.
S205, fusing the first positioning result and the second positioning result to obtain a target positioning result of the movable platform.
After the first positioning result and the second positioning result of the movable platform are obtained, the movable platform fuses the first positioning result and the second positioning result to obtain a target positioning result of the movable platform. By fusing the two positioning results, the accuracy and stability of the positioning results can be further improved.
In an embodiment, the mobile platform obtains a degree of matching of the first positioning result and a degree of matching of the second positioning result; determining a first weight coefficient of the first positioning result and a second weight coefficient of the second positioning result according to the matching degree of the first positioning result and the matching degree of the second positioning result; and determining a target positioning result of the movable platform according to the first positioning result, the second positioning result, the first weight coefficient and the second weight coefficient.
The determining mode of the first weight coefficient and the second weight coefficient specifically comprises the following steps: normalizing the matching degree of the first positioning result and the matching degree of the second positioning result; determining the total matching degree according to the matching degree of the processed first positioning result and the matching degree of the processed second positioning result; determining a first weight coefficient of the first positioning result according to the processed matching degree and the total matching degree of the first positioning result; and determining a second weight coefficient of the second positioning result according to the processed matching degree and the processed total matching degree of the second positioning result.
The determination mode of the weight coefficient is specifically as follows: calculating the percentage of the matching degree of the processed first positioning result to the total matching degree, and taking the percentage as a first weight coefficient of the first positioning result; and calculating the percentage of the matching degree of the processed second positioning result to the total matching degree, and taking the percentage as a second weight coefficient of the second positioning result.
The method for determining the target positioning result specifically comprises the following steps: calculating the product of the first positioning result and the first weight coefficient to obtain a first weight positioning result; calculating the product of the second positioning result and the second weight coefficient to obtain a second weight positioning result; and calculating the sum of the first weight positioning result and the second weight positioning result, and taking the sum of the first weight positioning result and the second weight positioning result as a target positioning result of the movable platform.
According to the high-precision map positioning method provided by the embodiment, the online point cloud map is subjected to rasterization processing through each candidate positioning result in the candidate positioning result set to obtain the grid map corresponding to each candidate positioning result, the movable platform is positioned through a plurality of height intervals in the offline high-precision map and a plurality of height intervals in each online grid map, meanwhile, the movable platform is positioned through the online complete height map layer and the offline complete height map layer corresponding to each candidate positioning result, and finally, the accuracy and the stability of the positioning result can be further improved through fusion of the two positioning results.
Referring to fig. 5, fig. 5 is a schematic flowchart of steps of another high-precision map positioning method according to an embodiment of the present application.
Specifically, as shown in fig. 5, the high-precision map positioning method includes steps S301 to S305.
S301, acquiring an offline high-precision map and establishing an online point cloud map, wherein the offline high-precision map comprises an offline complete height layer and an offline non-ground height layer.
The mobile platform acquires three-dimensional point cloud data of a traveling area through a high-precision laser radar, and processes the acquired three-dimensional point cloud data through a high-precision inertial navigation system and a point cloud registration algorithm to generate an off-line high-precision map.
In the moving process of the movable platform, an off-line high-precision map is obtained, three-dimensional point cloud data of objects around the movable platform are collected in real time through a laser radar, and an on-line point cloud map is built based on the three-dimensional point cloud data collected in real time. The laser radar can determine three-dimensional point cloud data of the object based on the distance between the laser emission point and the reflection point of the emitted laser on the object and the emission direction of the laser emission point. The three-dimensional point cloud data of the object around the movable platform comprises data such as the distance between the object and the movable platform, the angle between the object and the movable platform, and the three-dimensional coordinates of the object.
The off-line high-precision map comprises an off-line complete height map layer and an off-line non-ground height map layer, wherein the height of each grid in the off-line complete height map layer is the average value height of three-dimensional point clouds in the grids, the off-line non-ground height map layer comprises a plurality of height intervals, the height intervals are obtained by dividing according to the heights of the three-dimensional point clouds, the height interval values of the height intervals can be identical or different, and the height interval values are the height difference values of two end points of the height intervals. It should be noted that the height interval value and the number of height intervals may be set based on actual situations, which is not particularly limited in this application. For example, if the height is 26 meters, the height sections divided in the offline non-floor height map layer are respectively [1,5 ], [5,9 ], [9, 14 ], [14, 18 ], [18, 22), and [22, 26] for a total of 6 first height sections.
S302, determining a candidate positioning result set, and carrying out rasterization on the online point cloud map according to each candidate positioning result in the candidate positioning result set to obtain online grid maps corresponding to each candidate positioning result, wherein each online grid map comprises an online complete height layer and an online non-ground height layer.
The movable platform determines a candidate positioning result set, and performs rasterization processing on the online point cloud map according to each candidate positioning result to obtain an online raster map corresponding to each candidate positioning result, namely, each candidate positioning result in the candidate positioning result set is marked in the online point cloud map, and the map area around each marked candidate positioning result is subjected to rasterization processing to obtain the raster map corresponding to each candidate positioning result.
The online grid map comprises an online complete height layer and an online non-ground height layer, the height of each grid in the online complete height layer is the average height of three-dimensional point clouds in the grids, the online non-ground height layer comprises a plurality of height intervals, the height intervals are obtained by dividing according to the heights of the three-dimensional point clouds, the height interval values of the height intervals can be identical or different, and the height interval values are the height difference values of two end points of the height intervals. It should be noted that the height interval value and the number of height intervals may be set based on actual situations, which is not particularly limited in this application.
In one embodiment, the determination method of the candidate positioning result set is specifically: acquiring current position data and current posture data of a movable platform; determining a candidate position set according to the current position data; determining a candidate gesture set according to the current gesture data and a preset gesture error value; and determining a candidate positioning result set according to the candidate position set and the candidate gesture set. The current position data of the movable platform are position data output by a positioning system of the movable platform at the current moment, and the current posture data of the movable platform are posture data output by an inertial measurement unit of the movable platform at the current moment. The position data includes geographic position coordinates of the movable platform and the attitude data includes pitch, roll and yaw angles of the movable platform.
In one embodiment, the candidate location set is determined by: the movable platform determines the change trend of the current position data and determines the candidate position set according to the change trend of the current position data. Specifically, the change trend can be represented by the gradient value and the gradient direction of the current position data, namely, a preset number of candidate gradient values are obtained along the gradient direction based on the gradient value in a preset unit gradient, and the position information corresponding to each candidate gradient value is determined, so that a candidate position set is determined. It should be noted that the preset unit gradients and the preset number may be set based on actual situations, which are not specifically limited in this application.
In an embodiment, the determination of the candidate pose set may be: calculating the difference value between the attitude angle in the current attitude data and the preset attitude error value, calculating the sum of the attitude angle in the current attitude data and the preset attitude error value, and then determining a candidate attitude set based on the difference value between the attitude angle in the current attitude data and the preset attitude error value and the sum of the attitude angle in the current attitude data and the preset attitude error value, namely taking the difference value between the attitude angle and the preset attitude error value as one endpoint and the sum of the attitude angle and the preset attitude error value as the other endpoint, so as to obtain a candidate attitude angle range, and acquiring a plurality of candidate attitude angles from the candidate attitude angle range by a preset unit attitude angle, thereby forming the candidate attitude set. It should be noted that the preset attitude error value and the unit attitude angle may be set based on actual situations, which are not specifically limited in this application. The candidate gesture set can be rapidly and accurately determined through the current gesture data and the preset gesture error value.
S303, positioning the movable platform according to the online non-ground height layer and the offline non-ground height layer which correspond to each candidate positioning result, and obtaining a first positioning result.
And the movable platform positions the movable platform according to the online non-ground height layer and the offline non-ground height layer which are respectively corresponding to each candidate positioning result to obtain a first positioning result. Specifically, determining the matching degree between the online non-ground height layer and the offline non-ground height layer corresponding to each candidate positioning result; and determining a first positioning result from the candidate positioning result set according to the matching degree between the online non-ground height layer and the offline non-ground height layer corresponding to each candidate positioning result, namely taking the candidate positioning result with the highest matching degree as the first positioning result of the movable platform. And carrying out point cloud matching on the online non-ground height layer and the offline non-ground height layer which correspond to each candidate positioning result, and obtaining a positioning result of the movable platform according to the matching result, thereby improving the accuracy and stability of the positioning result.
The height interval in the off-line non-ground height layer is marked as a first height interval, and the height interval in the on-line non-ground height layer is marked as a second height interval, wherein the first height interval is the same as the corresponding second height interval.
In one embodiment, the movable platform determines a status comparison result between each second height section in each online non-ground height layer and a corresponding first height section in the offline non-ground height layer; counting the number of second height intervals in which the state comparison result in each online non-ground height layer is a preset state comparison result; and taking the number of second height intervals, the state comparison result of which is the preset state comparison result, in each online non-ground height layer as the matching degree between the online non-ground height layer and the offline non-ground height layer, which are respectively corresponding to each candidate positioning result. The states of the first altitude section and the second altitude section comprise an occupied state and a non-occupied state, wherein three-dimensional point clouds exist in the first altitude section or the second altitude section in the occupied state, and three-dimensional point clouds do not exist in the first altitude section or the second altitude section in the non-occupied state. The state comparison results comprise states which are different, occupied and unoccupied. Optionally, the preset state comparison result is "all occupied state".
In an embodiment, the determining manner of the state comparison result between the first altitude section and the corresponding second altitude section specifically includes: acquiring first state identification information of each first height section in the offline non-ground height layer and acquiring second state identification information of each second height section of each online non-ground height layer; and determining a state comparison result between each second height section in each online non-ground height layer and the corresponding first height section in the offline non-ground height layer according to the first state identification information and each second state identification information. The first state identification information includes a state identifier corresponding to each first altitude interval, the second state identification information includes a state identifier corresponding to each second altitude interval, and the state identifier and the state represented by the state identifier may be set based on actual situations, which is not limited in this application. Optionally, the altitude section with a state identifier of 0 is in a non-occupied state, and the altitude section with a state identifier of 1 is in an occupied state.
Specifically, the state identifier corresponding to each first height section in the first state identification information and the state identifier corresponding to the second height section in the second state identification information are logically and processed, so that a state comparison result between each second height section in each online non-ground height layer and the corresponding first height section in the offline non-ground height layer can be obtained. For example, the number of the first height sections and the number of the second height sections are 7, the first state identification information is 1010101, the second state identification information is 0111101, the 1010101 and 0111101 are logically and logically processed according to the bits to obtain the result 0010100, and the state comparison results between the 7 second height sections and the corresponding first height sections are respectively different in state, both in occupied state, different in state, both in occupied state and different in state.
S304, positioning the movable platform according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result, and obtaining a second positioning result.
And the movable platform positions the movable platform according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result, and a second positioning result of the movable platform is obtained. Specifically, according to the online complete height layer and the offline complete height layer which correspond to each candidate positioning result, determining the matching degree of each candidate positioning result; and determining a second positioning result from the candidate positioning result set according to the matching degree corresponding to each candidate positioning result.
In one embodiment, the mobile platform obtains a local offline full-height layer corresponding to each online full-height layer from the offline full-height layers; and determining the loss cost between each online complete height layer and the corresponding local offline complete height layer according to the height of each grid in each online complete height layer and the height of each grid in the corresponding local offline complete height layer, and taking the loss cost between each online complete height layer and the corresponding local offline complete height layer as the respective corresponding matching degree of each candidate positioning result.
The determining mode of the second positioning result specifically includes: the movable platform checks the candidate positioning results in the candidate positioning result set according to the matching degree corresponding to each candidate positioning result; and acquiring the matching degree corresponding to each candidate positioning result passing the verification, and taking the candidate positioning result passing the verification corresponding to the minimum matching degree as a second positioning result of the movable platform. The verification mode of the candidate positioning result specifically comprises the following steps: determining whether the matching degree of the candidate positioning result is smaller than or equal to a preset matching degree threshold value, if the matching degree of the candidate positioning result is smaller than or equal to the preset matching degree threshold value, determining that the candidate positioning result passes the verification, and if the matching degree of the candidate positioning result is larger than the preset matching degree threshold value, determining that the candidate positioning result does not pass the verification. It should be noted that the above matching degree threshold may be set based on practical situations, which is not specifically limited in this application. And taking the candidate positioning result which passes the verification and corresponds to the minimum matching degree as a second positioning result of the movable platform, so that the accuracy of the positioning result can be further improved.
S305, determining a target positioning result of the movable platform according to the first positioning result and the second positioning result.
After the first positioning result and the second positioning result of the movable platform are determined, determining a target positioning result of the movable platform according to the first positioning result and the second positioning result. By fusing the two positioning results, the accuracy and stability of the positioning results can be further improved.
In an embodiment, the mobile platform obtains a degree of matching of the first positioning result and a degree of matching of the second positioning result; determining a first weight coefficient of the first positioning result and a second weight coefficient of the second positioning result according to the matching degree of the first positioning result and the matching degree of the second positioning result; and determining a target positioning result of the movable platform according to the first positioning result, the second positioning result, the first weight coefficient and the second weight coefficient.
The determining mode of the first weight coefficient and the second weight coefficient specifically comprises the following steps: normalizing the matching degree of the first positioning result and the matching degree of the second positioning result; determining the total matching degree according to the matching degree of the processed first positioning result and the matching degree of the processed second positioning result; determining a first weight coefficient of the first positioning result according to the processed matching degree and the total matching degree of the first positioning result; and determining a second weight coefficient of the second positioning result according to the processed matching degree and the processed total matching degree of the second positioning result.
The determination mode of the weight coefficient is specifically as follows: calculating the percentage of the matching degree of the processed first positioning result to the total matching degree, and taking the percentage as a first weight coefficient of the first positioning result; and calculating the percentage of the matching degree of the processed second positioning result to the total matching degree, and taking the percentage as a second weight coefficient of the second positioning result.
The method for determining the target positioning result specifically comprises the following steps: calculating the product of the first positioning result and the first weight coefficient to obtain a first weight positioning result; calculating the product of the second positioning result and the second weight coefficient to obtain a second weight positioning result; and calculating the sum of the first weight positioning result and the second weight positioning result, and taking the sum of the first weight positioning result and the second weight positioning result as a target positioning result of the movable platform.
According to the high-precision map positioning method provided by the embodiment, each candidate positioning result in the candidate positioning result set is used for carrying out rasterization processing on the online point cloud map to obtain the grid map corresponding to each candidate positioning result, the movable platform is positioned through the offline non-ground height layer and the online non-ground height layer in each grid map to obtain one positioning result, meanwhile, the movable platform is positioned through the offline complete height layer and the online complete height layer in each grid map to obtain the other positioning result, and finally the final positioning result of the movable platform is determined through the two positioning results together, so that the movable platform can be positioned under the scene of sparse characteristics or lack of obvious characteristics, and the accuracy and stability of the high-precision map positioning result can be improved.
Referring to fig. 6, fig. 6 is a schematic flowchart illustrating steps of another high-precision map positioning method according to an embodiment of the present application.
Specifically, as shown in fig. 6, the high-precision map positioning method includes steps S401 to S407.
S401, acquiring an offline high-precision map and establishing an online point cloud map, wherein the offline high-precision map comprises an offline complete height layer and an offline non-ground height layer.
The mobile platform acquires three-dimensional point cloud data of a traveling area through a high-precision laser radar, and processes the acquired three-dimensional point cloud data through a high-precision inertial navigation system and a point cloud registration algorithm to generate an off-line high-precision map.
In the moving process of the movable platform, an off-line high-precision map is obtained, three-dimensional point cloud data of objects around the movable platform are collected in real time through a laser radar, and an on-line point cloud map is built based on the three-dimensional point cloud data collected in real time.
The off-line high-precision map comprises an off-line complete height map layer and an off-line non-ground height map layer, wherein the height of each grid in the off-line complete height map layer is the average value height of three-dimensional point clouds in the grids, the off-line non-ground height map layer comprises a plurality of height intervals, the height intervals are obtained by dividing according to the heights of the three-dimensional point clouds, the height interval values of the height intervals can be identical or different, and the height interval values are the height difference values of two end points of the height intervals.
S402, acquiring a historical positioning result of the movable platform, wherein the historical positioning result is a positioning result determined by the movable platform at the last moment, and the last moment is spaced from the current moment by a preset time.
Specifically, a historical positioning result of the movable platform is obtained, wherein the historical positioning result is a positioning result determined by the movable platform at the last moment, and the last moment is spaced from the current moment by a preset time. It should be noted that the preset time may be set based on actual situations, which is not specifically limited in this application.
S403, determining a candidate positioning result set according to the historical positioning result.
Specifically, a historical position coordinate and a historical attitude angle are obtained from the historical positioning result; carrying out derivative processing on the historical position coordinates to determine gradient values and gradient directions of the historical position coordinates, and determining a candidate position set according to the gradient values and the gradient directions, namely, obtaining a preset number of candidate gradient values along the gradient directions based on the gradient values in a preset unit gradient mode, and determining position information corresponding to each candidate gradient value, so as to determine the candidate position set;
calculating the difference value of the historical attitude angle and the preset attitude error value, and calculating the sum of the historical attitude angle and the preset attitude error value; taking the difference value of the historical attitude angle and the preset attitude error value as one endpoint, taking the sum of the historical attitude angle and the preset attitude error value as the other endpoint to obtain a candidate attitude angle range, and obtaining a plurality of candidate attitude angles from the candidate attitude angle range by a preset unit attitude angle so as to form a candidate attitude set;
And determining a candidate positioning result set according to the candidate position set and the candidate gesture set, namely, each candidate position is selected from the candidate position set and combined with each candidate gesture in the candidate gesture set each time until each candidate position in the candidate position set is selected once, and collecting each candidate positioning result obtained by combination as the candidate positioning result set.
It should be noted that the preset unit gradients, the preset number, the preset attitude error values, and the preset unit attitude angles may be set based on actual situations, which are not specifically limited in this application.
In an embodiment, the determination method of the candidate positioning result set may be: and obtaining a historical position coordinate and a historical attitude angle from the historical positioning result, calculating the difference between the historical position coordinate and the historical attitude angle and the preset positioning error value respectively, calculating the sum of the historical position coordinate and the historical attitude angle and the preset positioning error value respectively, determining a candidate coordinate set based on the difference and the sum of the historical position coordinate and the preset positioning error value, determining a candidate attitude set based on the difference and the sum of the historical attitude angle and the preset positioning error value, and finally determining a candidate positioning result set based on the candidate coordinate set and the candidate attitude set. It should be noted that the preset positioning error value may be set based on practical situations, which is not specifically limited in this application.
And S404, carrying out rasterization processing on the online point cloud map according to each candidate positioning result in the candidate positioning result set to obtain online grid maps corresponding to each candidate positioning result, wherein the online grid maps comprise online complete height layers and online non-ground height layers.
And the movable platform performs rasterization processing on the online point cloud map according to each candidate positioning result to obtain an online raster map corresponding to each candidate positioning result, namely marking each candidate positioning result in the candidate positioning result set in the online point cloud map, and performing rasterization processing on map areas around each marked candidate positioning result to obtain the raster map corresponding to each candidate positioning result.
The online grid map comprises an online complete height layer and an online non-ground height layer, the height of each grid in the online complete height layer is the average height of three-dimensional point clouds in the grids, the online non-ground height layer comprises a plurality of height intervals, the height intervals are obtained by dividing according to the heights of the three-dimensional point clouds, the height interval values of the height intervals can be identical or different, and the height interval values are the height difference values of two end points of the height intervals.
S405, positioning the movable platform according to the online non-ground height layer and the offline non-ground height layer which correspond to each candidate positioning result, and obtaining a first positioning result.
After each candidate positioning result is determined by the movable platform, the movable platform is positioned according to a plurality of first height intervals in the offline high-precision map and a plurality of second height intervals in the online grid map corresponding to each candidate positioning result, and a first positioning result of the movable platform is obtained. The movable platform is positioned through a plurality of first height sections in the off-line high-precision map and a plurality of second height sections in each on-line grid map, so that an accurate positioning result can be obtained, and the accuracy and stability of the high-precision map positioning result can be improved.
S406, positioning the movable platform according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result, and obtaining a second positioning result.
And the movable platform positions the movable platform according to the online complete height layer and the offline complete height layer which are respectively corresponding to each candidate positioning result, and a second positioning result of the movable platform is obtained. Specifically, according to the online complete height layer and the offline complete height layer which correspond to each candidate positioning result, determining the matching degree of each candidate positioning result; and determining a second positioning result from the candidate positioning result set according to the matching degree corresponding to each candidate positioning result.
S407, determining a target positioning result of the movable platform according to the first positioning result and the second positioning result.
After the first positioning result and the second positioning result of the movable platform are determined, determining a target positioning result of the movable platform according to the first positioning result and the second positioning result. By fusing the two positioning results, the accuracy and stability of the positioning results can be further improved.
In an embodiment, the mobile platform obtains a degree of matching of the first positioning result and a degree of matching of the second positioning result; determining a first weight coefficient of the first positioning result and a second weight coefficient of the second positioning result according to the matching degree of the first positioning result and the matching degree of the second positioning result; and determining a target positioning result of the movable platform according to the first positioning result, the second positioning result, the first weight coefficient and the second weight coefficient.
According to the high-precision map positioning method provided by the embodiment, the candidate positioning result set can be accurately determined through the historical positioning result and the positioning error value, the on-line point cloud map is subjected to rasterization processing based on each candidate positioning result in the accurate candidate positioning result set to obtain the grid map corresponding to each candidate positioning result, the movable platform is positioned through the off-line non-ground height layer and the on-line non-ground height layer in each grid map to obtain one positioning result, meanwhile, the movable platform is positioned through the off-line complete height layer and the on-line complete height layer in each grid map to obtain the other positioning result, and finally, the final positioning result of the movable platform is jointly determined through the two positioning results, so that the movable platform can be positioned under the condition that some features are sparse or lack of obvious features, and the accuracy and stability of the high-precision map positioning result can be improved.
Referring to fig. 7, fig. 7 is a schematic block diagram of a driving system according to an embodiment of the present application. In one embodiment, the driving system includes an unmanned system and a manned system. Further, the driving system 500 includes a processor 501, a memory 502 and a laser radar 503, where the processor 501, the memory 502 and the laser radar 503 are connected by a bus 504, such as an I2C (Inter-integrated Circuit) bus.
Specifically, the processor 501 may be a Micro-controller Unit (MCU), a central processing Unit (Central Processing Unit, CPU), a digital signal processor (Digital Signal Processor, DSP), or the like.
Specifically, the Memory 502 may be a Flash chip, a Read-Only Memory (ROM) disk, an optical disk, a U-disk, a removable hard disk, or the like.
Specifically, the processor 501 and the memory 502 are computing platforms of the driving system, and the lidar 303 may be an external device of the driving system or an internal component of the driving system, which is not limited in this application.
Wherein the processor 501 is arranged to run a computer program stored in the memory 502 and to implement the steps of the high precision map positioning method as described above when said computer program is executed.
It should be noted that, for convenience and brevity of description, specific working processes of the driving system described above may refer to corresponding processes in the foregoing embodiment of the high-precision map positioning method, and will not be described herein.
Referring to fig. 8, fig. 8 is a schematic block diagram of a movable platform according to an embodiment of the present application. The mobile platform 800 comprises a processor 601, a memory 602 and a lidar 603, the processor 801, the memory 602 and the lidar 603 being connected by a bus 604, such as an I2C (Inter-integrated Circuit) bus. The movable platform comprises a vehicle and an aircraft, the aircraft comprises an unmanned aerial vehicle and an unmanned aerial vehicle, the vehicle comprises a piloted vehicle, an unmanned vehicle and the like, the unmanned aerial vehicle comprises a rotor type unmanned aerial vehicle, such as a four-rotor unmanned aerial vehicle, a six-rotor unmanned aerial vehicle and an eight-rotor unmanned aerial vehicle, the unmanned aerial vehicle can also be a fixed-wing unmanned aerial vehicle, and the unmanned aerial vehicle can also be a combination of a rotary wing type unmanned aerial vehicle and a fixed-wing unmanned aerial vehicle, and is not limited herein.
Specifically, the processor 601 may be a Micro-controller Unit (MCU), a central processing Unit (Central Processing Unit, CPU), a digital signal processor (Digital Signal Processor, DSP), or the like.
Specifically, the Memory 602 may be a Flash chip, a Read-Only Memory (ROM) disk, an optical disk, a U-disk, a removable hard disk, or the like.
Specifically, the processor 601 and the memory 602 are computing platforms of the driving system, and the lidar 603 may be an external device of the driving system or an internal component of the driving system, which is not limited in this application.
Wherein the processor 601 is arranged to run a computer program stored in the memory 602 and to implement the steps of the high precision map positioning method as described above when said computer program is executed.
It should be noted that, for convenience and brevity of description, a specific working process of the above-described movable platform may refer to a corresponding process in the foregoing embodiment of the high-precision map positioning method, which is not described herein again.
An embodiment of the present application further provides a computer readable storage medium, where a computer program is stored, where the computer program includes program instructions, and the processor executes the program instructions to implement the steps of the high-precision map positioning method provided in the foregoing embodiment.
The computer readable storage medium may be an internal storage unit of the driving system or the mobile platform according to any one of the foregoing embodiments, for example, a hard disk or a memory of the driving system or the mobile platform. The computer readable storage medium may also be an external storage device of the driving system or the mobile platform, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) or the like, which are provided on the driving system or the mobile platform.
It is to be understood that the terminology used in the description of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
While the invention has been described with reference to certain preferred embodiments, it will be understood by those skilled in the art that various changes and substitutions of equivalents may be made and equivalents will be apparent to those skilled in the art without departing from the scope of the invention. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.