A positioning method, device, electronic device and readable storage medium
By filtering and iteratively updating satellite data in unmanned driving equipment, the problem of inaccurate GNSS positioning in complex environments is solved, and the accuracy and robustness of positioning are improved.
Patent Information
- Application Number
- CN202110461137.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-27
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2041-04-27
AI Technical Summary
In complex environments, GNSS positioning technology has inaccurate positioning results of unmanned driving equipment due to factors such as multipath errors, and the existing least squares method is difficult to effectively solve this problem.
By randomly selecting the data of N satellites as the initial data set, calculate the pseudorange residuals of the remaining satellites, determine the data of the target satellite, and add it to the initial data set, iteratively update the model parameters of the preset bit model until the preset termination condition is met, to improve positioning accuracy.
This method improves the positioning accuracy and robustness of unmanned driving equipment in complex environments by filtering and iteratively updating satellite data and eliminating data that does not meet the calculation accuracy requirements.
Smart Images

Figure CN115248453B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of unmanned driving, and in particular to a positioning method, device, electronic device, and readable storage medium. Background Art
[0002] In the field of unmanned driving, GNSS (Global Navigation Satellite System) positioning technology is usually used to determine the position of unmanned driving equipment. Currently, the commonly used algorithm for GNSS solution mainly uses the least squares method to solve the position of unmanned driving equipment.
[0003] In actual applications, the pseudoranges of each satellite are independent of each other and have different measurement errors, taking into account the existence of ionospheric delay, tropospheric delay, multipath error, and satellite error. Especially when the unmanned driving equipment is in a complex environment, the measured data is greatly affected by the external environment. For example, when the unmanned driving equipment is driving on a tree-lined avenue or a complex environment with tall buildings, the measured satellite pseudorange is easily affected by multipath error. In a complex environment, since the measured data is greatly affected by the external environment, the least squares method often cannot obtain a good positioning result. Summary of the invention
[0004] The embodiments of the present disclosure provide a positioning method, an apparatus, an electronic device, and a readable storage medium, which can improve the accuracy and robustness of positioning unmanned driving equipment.
[0005] According to a first aspect of an embodiment of the present disclosure, a positioning method is provided, which is applied to an unmanned driving device, and the method includes:
[0006] Randomly select satellite data corresponding to N satellites to obtain the initial data set;
[0007] Calculating pseudorange residuals of remaining satellites according to the initial data set and a preset positioning model, wherein the remaining satellites are satellites that are not selected;
[0008] Determine a target satellite among the remaining satellites, wherein the pseudorange residual of the target satellite is less than a preset threshold;
[0009] Adding the satellite data of the target satellite to the initial data set to obtain a first data set;
[0010] Iteratively updating model parameters of a preset positioning model based on the first data set until a preset termination condition is met;
[0011] The current position of the unmanned driving device is calculated according to the updated preset positioning model.
[0012] According to a second aspect of an embodiment of the present disclosure, a positioning device is provided, which is applied to an unmanned driving device, and the device includes:
[0013] An initial data set determination module is used to randomly select satellite data corresponding to N satellites to obtain an initial data set;
[0014] A pseudorange residual calculation module, used for calculating the pseudorange residuals of the remaining satellites according to the initial data set and a preset positioning model, wherein the remaining satellites are satellites that are not selected;
[0015] A first target satellite determination module, configured to determine a target satellite among the remaining satellites, wherein the pseudorange residual of the target satellite is less than a preset threshold;
[0016] A first data set determination module, configured to add the satellite data of the target satellite to the initial data set to obtain a first data set;
[0017] A model parameter adjustment module, used for iteratively updating the model parameters of the preset positioning model based on the first data set until a preset termination condition is met;
[0018] The location determination module is used to calculate the current location of the unmanned driving device according to the updated preset positioning model.
[0019] According to a third aspect of an embodiment of the present disclosure, there is provided an unmanned driving device, including:
[0020] A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the aforementioned positioning method is implemented when the processor executes the program.
[0021] According to a fourth aspect of an embodiment of the present disclosure, a readable storage medium is provided. When instructions in the storage medium are executed by a processor of an unmanned driving device, the unmanned driving device can execute the aforementioned positioning method.
[0022] Embodiments of the present disclosure provide a positioning method, device, electronic device and readable storage medium, the method comprising: randomly selecting satellite data corresponding to N satellites to obtain an initial data set; calculating pseudorange residuals of remaining satellites according to the initial data set and a preset positioning model, the remaining satellites being satellites that have not been selected; determining a target satellite among the remaining satellites, the pseudorange residual of the target satellite being less than a preset threshold; adding the satellite data of the target satellite to the initial data set to obtain a first data set; iteratively updating model parameters of a preset positioning model based on the first data set until a preset termination condition is met; and calculating the current position of the unmanned driving device according to the updated preset positioning model.
[0023] The present disclosure can filter the acquired satellite data to obtain satellite data that meets the calculation accuracy requirements of the preset positioning model, and use the filtered satellite data to continuously iterate and update the model parameters of the preset positioning model, and then determine the current position of the unmanned driving device based on the updated preset positioning model. Compared with the positioning based on the least squares method in the prior art, the embodiment of the present disclosure eliminates the data that does not meet the calculation accuracy requirements and performs calculations based on the satellite data that meets the conditions, which can overcome the problem that the data measured in a complex environment is easily affected by the external environment, resulting in inaccurate positioning results, and improves the accuracy and robustness of positioning the unmanned driving device. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the description of the embodiments of the present disclosure will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0025] Figure 1 A flowchart of the positioning method steps in an embodiment of the present disclosure is shown;
[0026] Figure 2 A structural block diagram of a positioning device in an embodiment of the present disclosure is shown;
[0027] Figure 3 A structural diagram of an unmanned driving device in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0028] The following will be combined with the drawings in the embodiments of the present disclosure to clearly and completely describe the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the embodiments of the present disclosure.
[0029] Embodiment 1
[0030] Reference Figure 1 , which shows a flowchart of the steps of a positioning method in an embodiment of the present disclosure, which is as follows:
[0031] Step 101: randomly select satellite data corresponding to N satellites to obtain an initial data set.
[0032] Step 102, calculating the pseudorange residuals of the remaining satellites according to the initial data set and a preset positioning model, wherein the remaining satellites are satellites that are not selected.
[0033] Step 103: determining a target satellite from the remaining satellites, wherein the pseudorange residual of the target satellite is less than a preset threshold.
[0034] Step 104: Add the satellite data of the target satellite to the initial data set to obtain a first data set.
[0035] Step 105: iteratively update the model parameters of the preset positioning model based on the first data set until a preset termination condition is met.
[0036] Step 106, calculating the current position of the unmanned driving device according to the updated preset positioning model.
[0037] The positioning method provided in the embodiments of the present disclosure can be applied to unmanned driving equipment to position the unmanned driving equipment and improve the accuracy and robustness of positioning.
[0038] Of course, the positioning method can also be applied to electronic devices to locate the electronic devices. The electronic devices can be mobile terminals, such as mobile phones, tablet computers, laptop computers, PDAs, vehicle-mounted electronic devices, wearable devices, UMPCs (ultra-mobile personal computers), netbooks or PDAs (personal digital assistants), etc., or the electronic devices can also be non-mobile electronic devices such as servers, NAS (Network Attached Storage), PCs (personal computers), TVs (television), ATMs or self-service machines, etc., which are not specifically limited in the embodiments of the present disclosure.
[0039] The unmanned driving equipment in the present disclosure includes unmanned driving equipment traveling on the ground, such as cars, trucks, buses, etc., and may also include unmanned driving equipment traveling in the air, such as drones, airplanes, helicopters, etc., and unmanned driving equipment traveling in the water, such as ships, submarines, etc. In addition, the "unmanned driving equipment" in the present disclosure may or may not accommodate one or more passengers. The unmanned driving equipment discussed in the present disclosure may also be applied to the field of unmanned delivery, such as express delivery, take-out food delivery, etc.
[0040] In an embodiment of the present disclosure, satellite data may be acquired by an unmanned device based on received satellite signals, and the satellite data may include satellite location information. Unmanned devices often receive satellite signals sent by multiple satellites at the same time, thereby determining the current location of the unmanned device itself based on the multiple satellite signals received. The pseudorange of a satellite is the measured distance between a satellite and an unmanned device, which can be determined based on a receiver clock and a satellite clock used to receive satellite signals in the unmanned device. However, in the actual measurement process, there are measurement errors such as ionospheric propagation errors, tropospheric propagation errors, ranging errors caused by satellite clock errors, ranging errors caused by receiver clock errors, etc., resulting in the actual measured distance not being the true distance between the satellite and the unmanned device. Therefore, the measured distance between a satellite and an unmanned device is called a pseudorange, which can be expressed by formula (1):
[0041]
[0042] in, is the pseudorange of satellite i; is the actual distance between satellite i and the unmanned device; δt i is the clock error corresponding to satellite i, which is used to identify the time difference between the receiver clock corresponding to the unmanned device and the satellite clock; c is the speed of light.
[0043] The pseudorange residual in the present disclosure is the difference between the pseudorange actually measured by the unmanned driving device and the pseudorange calculated based on the above formula (1), which is used to indicate the calculation accuracy of the preset positioning model. In practical applications, a preset threshold corresponding to the pseudorange residual can be set according to specific calculation accuracy requirements so that the satellite data in the first data set after screening meets the calculation accuracy requirements.
[0044] The preset positioning model in the present disclosure is a pre-trained positioning model, which can be established based on positioning solution methods such as least squares method and weighted least squares method. Of course, the preset positioning model can also be constructed based on other positioning algorithms. This is not specifically limited in the embodiments of the present disclosure. Regardless of the algorithm used to establish the preset positioning model, the current position of the unmanned driving device is determined based on formula (1).
[0045] Assume that the current position coordinates of the unmanned driving device to be determined are (x, y, z), and the position coordinates of the i-th satellite in the acquired satellite data are (x i ,y i ,z i ), then the above formula (1) can be expressed as:
[0046]
[0047] Substituting the satellite position coordinates in the acquired satellite data into formula (2) respectively, we can get a set of simultaneous equations. Based on the simultaneous equations, we can solve the satellite pseudorange Clock error δt i And the location coordinates (x, y, z) of the unmanned driving device.
[0048] The model parameters of the preset positioning model in the embodiment of the present disclosure can be understood as the position coordinates of the satellite in formula (2). The more the position coordinates of the satellite substituted into formula (2) meet the calculation accuracy requirements, the more accurate the calculated position coordinates of the unmanned driving device are.
[0049] In the embodiments provided by the present disclosure, when calculating the current position of the unmanned driving device, the satellite data corresponding to N satellites can be randomly selected from the acquired satellite data to obtain an initial data set. Assuming that the satellite data of the randomly selected N satellites are all applicable to the preset positioning model, that is, assuming that the satellite data in the initial data set are all credible, the pseudorange residuals of the remaining satellites are calculated based on the satellite data of the randomly selected N satellites in the initial data set and the preset positioning model. If there is a target satellite among the remaining satellites whose pseudorange residuals are less than a preset threshold, the satellite data of the target satellite is added to the initial data set. All the target satellites whose pseudorange residuals are less than the preset threshold among the remaining satellites that have not been selected are added to the initial data set, and the first data set can be obtained.
[0050] In an embodiment of the present disclosure, after the acquired satellite data is screened, the first data set includes all credible satellite data when it is assumed that all N randomly selected satellites are credible, and excludes unreliable data, that is, excludes satellite data that will cause deviations in calculation results.
[0051] Furthermore, since the selected N satellites are randomly selected, there is a certain probability that a correct result can be obtained based on the randomly selected satellites. Therefore, in order to improve the probability of obtaining a correct result, it is necessary to select the satellite data of N satellites from the acquired satellite data through iteration for multiple times, and determine the first data set based on the satellite data of the selected N satellites, and adjust the model parameters of the preset positioning model. Therefore, in the embodiment of the present disclosure, the credibility of the first data set is improved through multiple iterations, thereby improving the accuracy of the positioning result.
[0052] After obtaining the first data set, the satellite data included in the first data set can be used as satellite parameters in the preset positioning model. For example, the position coordinates of each satellite included in the first data set are all substituted into formula (2) to obtain the simultaneous equations corresponding to the first data set, and the current position of the unmanned driving device is calculated based on the simultaneous equations. Since the satellite data in the first data set are all credible, the calculation results obtained based on the first data set meet the expected accuracy requirements.
[0053] When there are enough satellite data applicable to the preset positioning model, it means that the same solution can be obtained by inputting the position coordinates of enough satellites into formula (2), and it can be considered that the error rate of the preset positioning model obtained at this time is the lowest. Therefore, in the embodiment of the present disclosure, after obtaining the first data set, the model parameters of the preset positioning model can be adjusted continuously based on the first data set through iterative updating until there are enough satellite data applicable to the preset positioning model, that is, the preset termination condition is met, then the iteration is stopped, and the model parameters at this time are determined to be the final model parameters.
[0054] Specifically, the number of satellites corresponding to the preset positioning model is determined, that is, the number of satellite position coordinates included in formula (2). If the number of satellites corresponding to the first data set is greater than the number of satellites corresponding to the preset positioning model, the satellite data in the preset positioning model are replaced with all satellite data in the first data set; if the number of satellites corresponding to the first data set is greater than or equal to the number of satellites corresponding to the preset positioning model, the satellite data in the preset positioning model are retained, and the first data set is re-determined, and the model parameters of the preset positioning model are readjusted according to the new first data set until the preset termination condition is met. The preset termination condition in the present disclosure can be that the number of satellites corresponding to the preset positioning model is the largest, so that the error rate of the calculation result obtained based on the adjusted preset positioning model can be guaranteed to be the lowest, thereby maximizing the accuracy of the positioning result.
[0055] In addition, the positioning method for calculating the current position of the unmanned driving device in the prior art usually determines the satellite data used to calculate the current position of the unmanned driving device, and then uses the least square method and other methods to calculate the current position and clock difference of the unmanned driving device, and judges whether the calculation result meets the preset accuracy requirements. If the calculation result does not meet the preset accuracy requirements, the satellite data is re-determined and the calculation is performed until the calculation result meets the preset accuracy requirements. The prior art cannot guarantee that the satellite data used to calculate the unmanned driving device is optimal, and as long as the calculation result does not meet the preset accuracy requirements, the entire calculation process must be repeated.
[0056] Compared with the prior art, the positioning method provided by the embodiment of the present disclosure first screens the acquired satellite data to obtain a first data set, and iteratively updates the model parameters of the preset positioning model according to the first data set until the preset termination condition is met. By continuously iteratively screening the satellite data, the model parameters of the preset positioning model used to calculate the current position of the unmanned driving device are finally optimized, that is, the satellite data used to calculate the current position of the unmanned driving device is optimal, and there is no need to repeat the entire calculation process.
[0057] In an optional embodiment of the present disclosure, the satellite data includes position information of the satellite, and the step 102 of calculating the pseudorange residuals of the remaining satellites according to the initial data set and the preset positioning model includes:
[0058] Step S11, inputting the position information of each satellite in the initial data set into a preset positioning model to obtain the current position and clock error of the unmanned driving device, where the clock error identifies the time difference between the receiver clock corresponding to the unmanned driving device and the satellite clock;
[0059] Step S12: Calculate the first pseudoranges of the remaining satellites based on the current position and clock error of the unmanned device;
[0060] Step S13, obtaining a second pseudorange measured by the unmanned driving device;
[0061] Step S14: Calculate the difference between the first pseudorange and the second pseudorange to obtain pseudorange residuals of other satellites.
[0062] In an embodiment of the present disclosure, when determining the pseudorange residuals of the remaining unselected satellites, the satellite data of the randomly selected N satellites can be input into a preset positioning model to obtain the current position and clock error of the unmanned device, and then the first pseudorange of each unselected satellite is calculated based on the obtained current position and clock error of the unmanned device. Specifically, the obtained position coordinates and clock error of the unmanned device and the position coordinates of the unselected satellites can be input into formula (2) to calculate the first pseudorange of each unselected satellite.
[0063] After calculating the first pseudoranges of the remaining satellites, the second pseudoranges measured by the unmanned device are obtained. Specifically, the second pseudoranges of the remaining satellites are determined based on the satellite signals received by the unmanned device. Then, the difference between the first pseudorange and the second pseudorange is calculated to obtain the pseudorange residuals of the remaining satellites.
[0064] In an optional embodiment of the present disclosure, the iterative updating of the model parameters of the preset positioning model based on the first data set in step 105 until a preset termination condition is met includes:
[0065] Step S21, updating the model parameters of the preset positioning model according to the first data set, and updating the number of iterations;
[0066] Step S22: If the current number of iterations is greater than the preset number of iterations, it is determined that the preset termination condition is met;
[0067] Step S23: If the current number of iterations is less than or equal to the preset number of iterations, satellite data corresponding to N satellites are randomly selected again to obtain an updated initial data set, and the first data set is re-determined according to the updated initial data set.
[0068] In an embodiment of the present invention, when the model parameters of the preset positioning model are iteratively updated based on the first data set, a complete iteration process includes steps 101 to 105. Specifically, in each iteration process, satellite data corresponding to N satellites are first randomly selected to obtain an initial data set. Then, the pseudorange residuals of the remaining satellites that are not selected are calculated based on the initial data set, and the target satellite is determined based on the pseudorange residuals. The satellite data of all qualified target satellites are added to the initial data set to obtain a first data set, and the model parameters of the preset positioning model are updated based on the first data set. After one iteration ends, the next iteration begins, and the satellite data corresponding to N satellites are reselected to obtain a new initial data set. The target satellite is re-determined based on the new initial data set, and the first data set is updated. Then, the model parameters of the preset positioning model are updated based on the updated first data set. And so on, until the preset termination condition is met.
[0069] In an embodiment of the present invention, the preset termination condition may be determined as the number of iterations being greater than the preset number of iterations, wherein the preset number of iterations is a calculated number of iterations that can minimize the error rate of the preset positioning model for adjusting the model parameters based on the iteratively updated first data set without repeatedly selecting satellite data.
[0070] Therefore, in an embodiment of the present invention, if the current number of iterations is less than or equal to the preset number of iterations, a new round of iterations is started, and satellite data corresponding to N satellites are randomly selected again to obtain an updated initial data set, and the first data set is re-determined based on the updated initial data set, and the model parameters of the preset positioning model are updated based on the re-determined first data set, and the number of iterations is updated until the current number of iterations is greater than the preset number of iterations.
[0071] In an optional embodiment of the present disclosure, the updating of the model parameters of the preset positioning model according to the first data set in step S21 includes:
[0072] Sub-step S211, comparing the first number of satellites corresponding to the first data set with the second number of satellites corresponding to the second data set, wherein the second data set includes model parameters of the preset positioning model;
[0073] Sub-step S212: if the number of the first satellites is greater than the number of the second satellites, replacing the satellite data in the second data set according to the satellite data in the first data set;
[0074] Sub-step S213: If the first satellite data is less than or equal to the second satellite number, retain the satellite number in the second data set.
[0075] After randomly selecting satellite data of N satellites and determining the first data set by determining the magnitude relationship between the pseudorange residuals of the remaining satellites that are not selected and a preset threshold, the number of first satellites corresponding to the first data set is compared with the number of second satellites corresponding to the second data set. The second satellite data set is a data set composed of satellite data in a preset positioning model, and includes all satellite data in the preset positioning model.
[0076] Since all satellite data in the first data set are considered to be credible, in the first iteration, the satellite data in the second data set is empty. At this time, all satellite data in the first data set are added to the second data set, and all satellite data in the obtained second data set can also be considered to be credible. Then, a second iteration is performed, and satellite data of N satellites are randomly selected from the acquired satellite data again, and the first data set is updated. The number of first satellites corresponding to the updated first data set is compared with the number of second satellites corresponding to the second data set. If the number of first satellites is greater than the number of second satellites at this time, it means that the credible satellite data in the first data set is more than the credible satellite data in the second data set. At this time, the satellite data in the second data set is replaced by all satellite data in the first data set. Since when there are enough credible satellite data in the second data set, it means that there are enough satellite data suitable for the preset positioning model, that is, when all satellite data in the second data set are input into formula (2), a consistent solution can be obtained, and at this time the error rate of the preset positioning model determined based on the second data set is the lowest. Therefore, in the embodiment of the present disclosure, when the number of first satellites is greater than the number of second satellites, that is, when there are more credible satellite data in the first data set than in the second data set, the second data set is replaced by the first data set. If the number of the first satellites is less than or equal to the number of the second satellites, all the data of the second data set is retained, and the satellite data of N satellites are reselected to start a new iteration process, so as to ensure that after each iteration, the second data set has the most credible satellite data, that is, the preset positioning model determined based on the second data set is optimized, until a better model appears or the preset termination condition is met.
[0077] In the embodiment of the present disclosure, the preset number of iterations is the upper limit of the number of non-repetitive satellites randomly selected during each iteration. If the preset number of iterations is exceeded, at least one satellite selected again will have been selected. Therefore, in order to avoid unnecessary data processing steps and ensure data processing efficiency, the embodiment of the present disclosure stops iteration when the actual number of iterations is greater than the preset number of iterations, and adjusts the model parameters of the preset positioning model according to the current second data set. The preset number of iterations can be determined according to the value of the number of satellites N randomly selected during each iteration.
[0078] In an optional embodiment of the present disclosure, after determining the target satellite among the remaining satellites in step 103, the method further includes:
[0079] If the target satellite does not exist among the remaining satellites, the initial data set is determined to be the first data set.
[0080] In an embodiment of the present disclosure, if there is no target satellite among the remaining satellites whose pseudorange residual is less than a preset threshold, the initial data set is directly used as the first data set, and then the model parameters of the preset positioning model are iteratively updated according to the first data set.
[0081] In an optional embodiment of the present disclosure, before iteratively updating the model parameters of the preset positioning model based on the first data set in step 105, the method further includes:
[0082] Step S31, determining the value of the number of satellites N corresponding to the randomly selected satellite data;
[0083] Step S32: Determine a preset number of iterations corresponding to a preset termination condition based on the value of N.
[0084] The value of the number of satellites N can be set based on experimental data or the experience of technicians. After randomly selecting satellite data, the position coordinates of the satellite in formula (2) are (x i ,y i , z i ) is known, there is also the position coordinates of the unmanned driving device (x, y, z), the satellite pseudorange Clock error δt i , there are three unknown parameters in total, and the clock error needs to be determined based on the satellite clock and the receiver clock of the unmanned device. Therefore, in order to ensure that the solution of formula (2) can be obtained based on the selected N satellites, the value of N needs to be greater than or equal to 4. According to the value of N, the upper limit of the non-repetition of the randomly selected N satellites in each iteration process can be determined, that is, the preset number of iterations.
[0085] In an optional embodiment of the present disclosure, the step S32 of determining the preset number of iterations corresponding to the preset termination condition based on the value of N includes:
[0086] Sub-step S321, determining a first probability value that the satellite data corresponding to the N satellites all belong to the first data set, and a second probability value that the satellite data corresponding to the N satellites do not belong to the first data set;
[0087] Sub-step S322: determining a preset number of iterations corresponding to a preset termination condition according to the first probability value and the second probability value.
[0088] The acquired satellite data is represented as data set I. Assuming that each time the satellite data of a satellite is selected from the data set I, the probability that the satellite data is credible is w, that is, the first probability that the pseudorange residual of the selected satellite is less than the preset threshold is w. After each time the satellite data of a satellite is selected, the selected satellite data is put back into the data set I, and the satellite data of a satellite is selected again. In this way, the satellite data of N satellites are selected, and the probability that the satellite data of the selected N satellites are all credible can be expressed as w. n . Among them, w can be determined according to experimental data.
[0089] Then, by taking out and putting back, the probability that the satellite data of N satellites randomly selected from data set I are all unreliable can be expressed as: 1-w n .
[0090] In an embodiment of the present disclosure, in order to avoid repeatedly selecting the same satellite data, satellite data of N satellites are randomly selected from a data set I in a take-out-without-replacement manner. Assuming that in an embodiment of the present disclosure, satellite data of N satellites are randomly selected from the acquired satellite data, and a first probability that the selected satellite data are all credible is p, then the probability that the satellite data of the randomly selected N satellites are all uncredible can be expressed as: 1-p.
[0091] Regardless of the selection method, the probability that the satellite data of N randomly selected satellites are unreliable is the same, that is: 1-p = (1-w n ) k . Where k is the preset number of iterations.
[0092] Then, the preset number of iterations can be expressed as:
[0093]
[0094] Based on formula (3), the preset number of iterations of the embodiment of the present disclosure can be calculated. When the actual number of iterations is not greater than the preset number of iterations k, the operations of step 101 to step 102 are iteratively optimized to ensure that the error rate of the positioning result obtained based on the adjusted preset positioning model is the lowest without repeatedly selecting satellite data, thereby ensuring the robustness and accuracy of positioning based on the adjusted preset positioning model.
[0095] In summary, the embodiments of the present disclosure provide a positioning method, which can obtain satellite data that meets the calculation accuracy requirements of a preset positioning model by screening the acquired satellite data, and use the screened satellite data to continuously iterate and update the model parameters of the preset positioning model, and then determine the current position of the unmanned driving device based on the updated preset positioning model. Compared with the positioning based on the least squares method in the prior art, the embodiments of the present disclosure eliminate the data that does not meet the calculation accuracy requirements, and perform calculations based on the satellite data that meets the conditions, which can overcome the problem of inaccurate positioning results caused by the data measured in complex environments being easily affected by the external environment, and improve the accuracy and robustness of positioning unmanned driving devices.
[0096] Embodiment 2
[0097] Reference Figure 2 , which shows a structural diagram of a positioning device in an embodiment of the present disclosure, the positioning device is applied to unmanned driving equipment, and the specific structure is as follows:
[0098] An initial data set determination module 201 is used to randomly select satellite data corresponding to N satellites to obtain an initial data set;
[0099] A pseudorange residual calculation module 202, used to calculate the pseudorange residuals of the remaining satellites according to the initial data set and a preset positioning model, wherein the remaining satellites are satellites that are not selected;
[0100] A first target satellite determination module 203, configured to determine a target satellite from among the remaining satellites, wherein the pseudorange residual of the target satellite is less than a preset threshold;
[0101] A first data set determination module 204, configured to add the satellite data of the target satellite to the initial data set to obtain a first data set;
[0102] A model parameter adjustment module 205, configured to iteratively update the model parameters of the preset positioning model based on the first data set until a preset termination condition is met;
[0103] The position determination module 206 is used to calculate the current position of the unmanned driving device according to the updated preset positioning model.
[0104] In an optional embodiment of the present disclosure, the model parameter adjustment module 205 includes:
[0105] A model parameter updating submodule, used to update the model parameters of the preset positioning model according to the first data set, and update the number of iterations;
[0106] The termination condition determination submodule is used to determine whether the preset termination condition is met if the current number of iterations is greater than the preset number of iterations;
[0107] The data set updating submodule is used to randomly reselect satellite data corresponding to N satellites to obtain an updated initial data set if the current iteration number is less than or equal to the preset iteration number, and re-determine the first data set based on the updated initial data set.
[0108] In an optional embodiment of the present disclosure, the model parameter updating submodule includes:
[0109] a satellite number comparison unit, configured to compare a first number of satellites corresponding to a first data set with a second number of satellites corresponding to a second data set, wherein the second data set includes model parameters of the preset positioning model;
[0110] a data replacement unit, configured to replace the satellite data in the second data set according to the satellite data in the first data set if the number of the first satellites is greater than the number of the second satellites;
[0111] A data retaining unit is configured to retain the satellite data in the second data set if the first satellite data is less than or equal to the second number of satellites.
[0112] In an optional embodiment of the present disclosure, the device further includes:
[0113] The second target satellite determination module is configured to determine that the initial data set is the first data set if there is no target satellite among the remaining satellites.
[0114] In an optional embodiment of the present disclosure, the satellite data includes satellite position information, and the pseudorange residual calculation module 202 includes:
[0115] An initial value determination submodule, used to input the position information of each satellite in the initial data set into a preset positioning model to obtain the current position and clock error of the unmanned driving device, wherein the clock error identifies the time difference between the receiver clock corresponding to the unmanned driving device and the satellite clock;
[0116] A first pseudorange calculation submodule, used for calculating the first pseudoranges of the remaining satellites based on the current position and clock error of the unmanned device;
[0117] A second pseudorange acquisition submodule, used to acquire a second pseudorange measured by the unmanned driving device;
[0118] The pseudorange residual calculation submodule is used to calculate the difference between the first pseudorange and the second pseudorange to obtain the pseudorange residuals of the remaining satellites.
[0119] In an optional embodiment of the present disclosure, the device further includes:
[0120] A satellite number determination module is used to determine the value of the satellite number N corresponding to the randomly selected satellite data;
[0121] The iteration number determination module is used to determine the preset iteration number corresponding to the preset termination condition based on the value of N.
[0122] In an optional embodiment of the present disclosure, the iteration number determination module includes:
[0123] a probability value determination submodule, configured to determine a first probability value that all satellite data corresponding to the N satellites belong to the first data set, and a second probability value that all satellite data corresponding to the N satellites do not belong to the first data set;
[0124] The iteration number determination submodule is used to determine a preset iteration number corresponding to a preset termination condition according to the first probability value and the second probability value.
[0125] In summary, the embodiments of the present disclosure provide a positioning device that can obtain satellite data that meets the calculation accuracy requirements of a preset positioning model by screening the acquired satellite data, and use the screened satellite data to continuously iterate and update the model parameters of the preset positioning model, and then determine the current position of the unmanned driving device based on the updated preset positioning model. Compared with the positioning based on the least squares method in the prior art, the embodiments of the present disclosure eliminate the data that does not meet the calculation accuracy requirements and perform calculations based on the satellite data that meets the conditions, which can overcome the problem that the data measured in a complex environment is easily affected by the external environment, resulting in inaccurate positioning results, and improve the accuracy and robustness of positioning the unmanned driving device.
[0126] Embodiment 2 is a device embodiment corresponding to Embodiment 1. The detailed description may refer to Embodiment 1 and will not be repeated here.
[0127] The embodiment of the present disclosure also provides an unmanned driving device, referring to Figure 3 , including: a processor 301, a memory 302, and a computer program 3021 stored in the memory 302 and executable on the processor, wherein the processor 301 implements the positioning method of the aforementioned embodiment when executing the program.
[0128] An embodiment of the present disclosure also provides a readable storage medium. When the instructions in the storage medium are executed by a processor of an unmanned driving device, the unmanned driving device can execute the positioning method of the aforementioned embodiment.
[0129] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0130] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system or other device. Various general purpose systems may also be used together with the teachings based thereon. According to the above description, it is apparent that the structure required for constructing such systems is. In addition, the embodiments of the present disclosure are not directed to any particular programming language either. It should be understood that the contents of the embodiments of the present disclosure described herein may be realized using various programming languages, and the description of the specific languages above is intended to disclose the best mode of implementation of the embodiments of the present disclosure.
[0131] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present disclosure can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0132] Similarly, it should be understood that in order to streamline the present disclosure and aid in understanding one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present disclosure, the various features of the embodiments of the present disclosure are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: that the claimed embodiments of the present disclosure require more features than the features explicitly recited in each claim. More specifically, as reflected in the claims below, the inventive aspects lie in less than all the features of the single embodiment disclosed above. Therefore, the claims that follow the specific embodiment are hereby expressly incorporated into the specific embodiment, with each claim itself as a separate embodiment of the embodiments of the present disclosure.
[0133] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0134] The various component embodiments of the embodiments of the present disclosure may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in the file processing device according to the embodiments of the present disclosure. The embodiments of the present disclosure may also be implemented as a device or apparatus program for executing part or all of the methods described herein. Such a program implementing the embodiments of the present disclosure may be stored on a computer-readable medium, or may be in the form of one or more signals. Such a signal may be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.
[0135] It should be noted that the above embodiments illustrate rather than limit the embodiments of the present disclosure, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets should not be constructed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The embodiments of the present disclosure may be implemented by means of hardware including several different elements and by means of appropriately programmed computers. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names.
[0136] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0137] The above description is only a preferred embodiment of the embodiments of the present disclosure and is not intended to limit the embodiments of the present disclosure. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the embodiments of the present disclosure should be included in the protection scope of the embodiments of the present disclosure.
[0138] The above is only a specific implementation of the embodiment of the present disclosure, but the protection scope of the embodiment of the present disclosure is not limited thereto. Any technician familiar with the technical field can easily think of changes or replacements within the technical scope disclosed by the embodiment of the present disclosure, which should be included in the protection scope of the embodiment of the present disclosure. Therefore, the protection scope of the embodiment of the present disclosure should be based on the protection scope of the claims.
Claims
1. A positioning method, characterized in that: Applied to unmanned driving equipment, the method comprises: Randomly select satellite data corresponding to N satellites to obtain the initial data set; Calculating pseudorange residuals of remaining satellites according to the initial data set and a preset positioning model, wherein the remaining satellites are satellites that are not selected; Determine a target satellite among the remaining satellites, wherein the pseudorange residual of the target satellite is less than a preset threshold; Adding the satellite data of the target satellite to the initial data set to obtain a first data set; Iteratively updating model parameters of a preset positioning model based on the first data set until a preset termination condition is met; Calculate the current position of the unmanned driving device according to the updated preset positioning model; Before iteratively updating the model parameters of the preset positioning model based on the first data set, the method further includes: Determine the value of the number of satellites N corresponding to the randomly selected satellite data; Determine a first probability value that the satellite data corresponding to the N satellites all belong to the first data set, and a second probability value that the satellite data corresponding to the N satellites all do not belong to the first data set; A preset number of iterations corresponding to a preset termination condition is determined according to the first probability value and the second probability value.
2. The method according to claim 1, characterized in that The iterative updating of the model parameters of the preset positioning model based on the first data set until a preset termination condition is met includes: Updating model parameters of a preset positioning model according to the first data set, and updating the number of iterations; If the current number of iterations is greater than the preset number of iterations, it is determined that the preset termination condition is met; If the current number of iterations is less than or equal to the preset number of iterations, satellite data corresponding to N satellites are randomly selected again to obtain an updated initial data set, and the first data set is re-determined according to the updated initial data set.
3. The method according to claim 2, characterized in that The updating of the model parameters of the preset positioning model according to the first data set includes: Comparing a first number of satellites corresponding to a first data set with a second number of satellites corresponding to a second data set, wherein the second data set includes model parameters of the preset positioning model; If the first number of satellites is greater than the second number of satellites, replacing the satellite data in the second data set according to the satellite data in the first data set; If the first number of satellites is less than or equal to the second number of satellites, the satellite data in the second data set is retained.
4. The method according to any one of claims 1 to 3, characterized in that: After determining the target satellite among the remaining satellites, the method further includes: If the target satellite does not exist among the remaining satellites, the initial data set is determined to be the first data set.
5. The method according to claim 1, characterized in that The satellite data includes position information of satellites, and the calculating of pseudorange residuals of remaining satellites according to the initial data set and a preset positioning model includes: Inputting the position information of each satellite in the initial data set into a preset positioning model to obtain the current position and clock error of the unmanned driving device, wherein the clock error identifies the time difference between the receiver clock corresponding to the unmanned driving device and the satellite clock; Calculate the first pseudoranges of the remaining satellites based on the current position and clock error of the unmanned device; Acquire a second pseudorange measured by the unmanned driving device; The difference between the first pseudorange and the second pseudorange is calculated to obtain pseudorange residuals of other satellites.
6. A positioning device, characterized in that: Applied to unmanned driving equipment, the device comprises: An initial data set determination module is used to randomly select satellite data corresponding to N satellites to obtain an initial data set; A pseudorange residual calculation module, used for calculating the pseudorange residuals of the remaining satellites according to the initial data set and a preset positioning model, wherein the remaining satellites are satellites that are not selected; A first target satellite determination module, configured to determine a target satellite among the remaining satellites, wherein the pseudorange residual of the target satellite is less than a preset threshold; A first data set determination module, configured to add the satellite data of the target satellite to the initial data set to obtain a first data set; A model parameter adjustment module, used for iteratively updating the model parameters of the preset positioning model based on the first data set until a preset termination condition is met; A location determination module, used to calculate the current location of the unmanned driving device according to the updated preset positioning model; The device also includes: A satellite number determination module is used to determine the value of the satellite number N corresponding to the randomly selected satellite data; An iteration number determination module is used to determine a preset number of iterations corresponding to a preset termination condition based on a value of N; the iteration number determination module includes: a probability value determination submodule, used to determine a first probability value that the satellite data corresponding to the N satellites all belong to the first data set, and a second probability value that the satellite data corresponding to the N satellites do not belong to the first data set; an iteration number determination submodule, used to determine the preset number of iterations corresponding to the preset termination condition according to the first probability value and the second probability value.
7. The device according to claim 6, characterized in that The model parameter adjustment module comprises: A model parameter updating submodule, used to update the model parameters of the preset positioning model according to the first data set, and update the number of iterations; The termination condition determination submodule is used to determine whether the preset termination condition is met if the current number of iterations is greater than the preset number of iterations; The data set updating submodule is used to randomly reselect satellite data corresponding to N satellites to obtain an updated initial data set if the current iteration number is less than or equal to the preset iteration number, and re-determine the first data set based on the updated initial data set.
8. The device according to claim 7, characterized in that The model parameter updating submodule includes: a satellite number comparison unit, configured to compare a first number of satellites corresponding to a first data set with a second number of satellites corresponding to a second data set, wherein the second data set includes model parameters of the preset positioning model; a data replacement unit, configured to replace the satellite data in the second data set according to the satellite data in the first data set if the number of the first satellites is greater than the number of the second satellites; A data retaining unit is configured to retain the satellite data in the second data set if the first number of satellites is less than or equal to the second number of satellites.
9. The device according to any one of claims 6 to 8, characterized in that: The device also includes: The second target satellite determination module is configured to determine that the initial data set is the first data set if there is no target satellite among the remaining satellites.
10. The device according to claim 6, characterized in that The satellite data includes satellite position information, and the pseudorange residual calculation module includes: An initial value determination submodule, used to input the position information of each satellite in the initial data set into a preset positioning model to obtain the current position and clock error of the unmanned driving device, wherein the clock error identifies the time difference between the receiver clock corresponding to the unmanned driving device and the satellite clock; A first pseudorange calculation submodule, used for calculating the first pseudoranges of the remaining satellites based on the current position and clock error of the unmanned device; A second pseudorange acquisition submodule, used to acquire a second pseudorange measured by the unmanned driving device; The pseudorange residual calculation submodule is used to calculate the difference between the first pseudorange and the second pseudorange to obtain the pseudorange residuals of the remaining satellites.
11. An unmanned driving device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the positioning method as described in any one of claims 1 to 5 when executing the program.
12. A readable storage medium, characterized in that: When the instructions in the storage medium are executed by the processor of the unmanned driving device, the unmanned driving device can execute the positioning method as described in any one of method claims 1-5.
Citation Information
Patent Citations
Pseudo-range feedback integrated navigation method for reducing multi-path interference
CN108226981A
Method and device for generating sample data
CN111539479A